[bind10-dev] my BIND 10 build and package script
Robert Edmonds
edmonds at isc.org
Thu Apr 26 18:36:25 UTC 2012
Carsten Strotmann wrote:
> # Bundle up into a Debian DEB package
> debpackage_commands()
> { :
> ARCH2='i386'
> if [[ $ARCH == "x86_64" ]]; then
> ARCH2='amd64'
> fi
>
> mkdir -p DEST/debian
> make DESTDIR=$(pwd)/DEST/debian install
> cd DEST
> SIZE=`du -s | cut -f1`
> if [[ $LAYOUT == "MNM" ]]; then
> mkdir debian/usr/local/bind10/bin
> mv debian/usr/local/bind10 debian/usr/local/bind10-$VERSION$FLAVOR
> else
> mkdir debian/usr/local/bin
> fi
>
> mkdir -p debian/DEBIAN
> chmod 0755 debian/DEBIAN
> chmod -s debian/DEBIAN
>
> cd debian/DEBIAN
>
> echo "Package: mm-bind10-$VERSION2" > control
> echo "Version: $VERSION" >> control
> echo "Architecture: $ARCH2" >> control
> echo "Maintainer: Men & Mice Support <support at menandmice.com>" >> control
> echo "Original-Maintainer: ISC Internet Systems Consortium" >> control
> echo "Installed-Size: $SIZE" >> control
> echo "Depends: libc6 (>= 2.3), libssl0.9.8 (>= 0.9.8c-1)" >> control
> echo "Section: net" >> control
> echo "Priority: optional" >> control
> echo "Homepage: http://bind10.isc.org/" >> control
> echo "Description: BIND 10 is the next generation of BIND, the most widely-used DNS server on the Internet., Men & Mice packaged Version $VERSION" >> control
>
> cd ../..
> dpkg-deb -b debian
>
> mv debian.deb ../../$PRODUCT-$VERSION-$FLAVOR$LAYOUT$ARCH.deb
> cd ..
> openssl dgst -md5 ../$PRODUCT-$VERSION-$FLAVOR$LAYOUT$ARCH.deb > ../$PRODUCT-$VERSION-$FLAVOR$LAYOUT$ARCH.deb.md5
> openssl dgst -sha1 ../$PRODUCT-$VERSION-$FLAVOR$LAYOUT$ARCH.deb > ../$PRODUCT-$VERSION-$FLAVOR$LAYOUT$ARCH.deb.sha1
> }
your "Depends" field is pretty interesting. i built BIND10 and got
external dependencies on the following SONAMEs:
libbotan-1.10.so.0
libc.so.6
libgcc_s.so.1
liblog4cplus-1.0.so.4
libm.so.6
libpthread.so.0
libpython3.2mu.so.1.0
librt.so.1
libsqlite3.so.0
libstdc++.so.6
interestingly there is no dependency on either of the libraries in the
libssl0.9.8 package (but libcrypto can be transitively reached through
libbotan and libpython3), so i suspect either the manually maintained
"Depends" field is wrong or incomplete. if it is correct then almost
all the external library dependencies must have been statically linked
somehow.
(also, "Original-Maintainer" is an ubuntu-specific modification to the
debian control file format, but it's almost certainly wrong -- afaik ISC
has never published any debian packages for BIND10. this field refers
to the original package maintainer, not the upstream developer.)
--
Robert Edmonds
edmonds at isc.org
More information about the bind10-dev
mailing list