[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