Package: nas Version: 1.9.4-1.1 Severity: wishlist Tags: patch User: [email protected] Usertags: origin-ubuntu utopic ubuntu-patch
Hi Steve, As I mentioned on IRC, in Ubuntu we've run into an issue with the nas package not having ddebs generated for it, because the Ubuntu implementation of ddebs hooks into dh_strip. Since nas doesn't use debhelper at all in its packaging, this fails in the obvious way. I took a look at updating the packaging to dh(1); the result is the attached diff. Would you consider updating the Debian package to use this? Aside from the ddeb fix (which isn't particularly useful to Debian at the moment, but probably will be if someone ever gets a Debian ddeb archive off the ground), there are several immediate benefits to Debian: - it adds md5sums to all packages, fixing bug #646225. - it updates the package to use dh-autoreconf, which revealed that an m4 macro was missing from the source that's necessary in order to regenerate all generated files - it simplifies the debian/ packaging overall, cutting the size of the functional packaging by about a third and reducing debian/rules to less than a quarter of its previous size and ensuring that picking up further policy changes implemented in debhelper will be automated. If you prefer, I've also pushed these changes to the collab-maint repo at git+ssh://git.debian.org/git/collab-maint/nas.git on a new debhelper branch - this may be useful to you as it shows the incremental history and the justification for each change. Feel free to merge that branch, discard it, or whatever you like. Thanks for considering the patch. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ [email protected] [email protected]
diff -Nru nas-1.9.4/debian/autoreconf nas-1.9.4/debian/autoreconf --- nas-1.9.4/debian/autoreconf 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/autoreconf 2014-07-26 20:27:46.000000000 -0700 @@ -0,0 +1 @@ +config diff -Nru nas-1.9.4/debian/compat nas-1.9.4/debian/compat --- nas-1.9.4/debian/compat 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/compat 2014-07-26 18:38:45.000000000 -0700 @@ -0,0 +1 @@ +9 diff -Nru nas-1.9.4/debian/control nas-1.9.4/debian/control --- nas-1.9.4/debian/control 2013-10-10 06:33:15.000000000 -0700 +++ nas-1.9.4/debian/control 2014-07-26 20:26:00.000000000 -0700 @@ -2,7 +2,7 @@ Section: sound Priority: optional Maintainer: Steve McIntyre <[email protected]> -Build-Depends: autotools-dev, libxau-dev, libsm-dev, libice-dev, libx11-dev, libxt-dev, libxaw7-dev, xutils-dev, bison, flex, file, po-debconf, dpkg-dev (>= 1.16.0) +Build-Depends: dh-autoreconf, libxau-dev, libsm-dev, libice-dev, libx11-dev, libxt-dev, libxaw7-dev, xutils-dev, bison, flex, file, po-debconf, dpkg-dev (>= 1.16.0), debhelper (>= 9) Standards-Version: 3.9.2.0 Vcs-Git: git://git.debian.org/git/collab-maint/nas.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/nas.git @@ -10,7 +10,7 @@ Package: libaudio2 Priority: optional Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Provides: nas-lib Replaces: nas-lib Pre-Depends: multiarch-support @@ -30,7 +30,7 @@ Package: nas Priority: optional Architecture: any -Depends: libaudio2 (>= ${binary:Version}), ${shlibs:Depends}, debconf | debconf-2.0 +Depends: libaudio2 (>= ${binary:Version}), ${shlibs:Depends}, debconf | debconf-2.0, ${misc:Depends} Suggests: audiooss Description: Network Audio System - local server The Network Audio System (NAS) was developed by NCD for playing, @@ -47,7 +47,7 @@ Priority: optional Architecture: any Multi-Arch: same -Depends: libaudio2 (= ${binary:Version}), ${shlibs:Depends} +Depends: libaudio2 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Provides: nas-dev Replaces: nas-dev Conflicts: nas-dev @@ -65,7 +65,7 @@ Package: nas-bin Priority: extra Architecture: any -Depends: libaudio2 (>= ${binary:Version}), perl5, ${shlibs:Depends}, libperl4-corelibs-perl +Depends: libaudio2 (>= ${binary:Version}), perl5, ${shlibs:Depends}, libperl4-corelibs-perl, ${misc:Depends} Description: Network Audio System - client binaries The Network Audio System (NAS) was developed by NCD for playing, recording, and manipulating audio data over a network. Like the X @@ -80,6 +80,7 @@ Package: nas-doc Priority: extra Architecture: all +Depends: ${misc:Depends} Description: Network Audio System - extra documentation The Network Audio System (NAS) was developed by NCD for playing, recording, and manipulating audio data over a network. Like the X diff -Nru nas-1.9.4/debian/libaudio2.install nas-1.9.4/debian/libaudio2.install --- nas-1.9.4/debian/libaudio2.install 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/libaudio2.install 2014-07-26 21:46:37.000000000 -0700 @@ -0,0 +1,3 @@ +usr/share/libaudio2/AuErrorDB +usr/lib/*/libaudio.so.2 +usr/lib/*/libaudio.so.2.* diff -Nru nas-1.9.4/debian/libaudio2.postinst nas-1.9.4/debian/libaudio2.postinst --- nas-1.9.4/debian/libaudio2.postinst 2013-10-10 06:33:15.000000000 -0700 +++ nas-1.9.4/debian/libaudio2.postinst 1969-12-31 16:00:00.000000000 -0800 @@ -1,8 +0,0 @@ -#!/bin/sh - -set -e - -if [ "$1" = "configure" ]; then - ldconfig -fi - diff -Nru nas-1.9.4/debian/libaudio-dev.install nas-1.9.4/debian/libaudio-dev.install --- nas-1.9.4/debian/libaudio-dev.install 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/libaudio-dev.install 2014-07-26 19:10:10.000000000 -0700 @@ -0,0 +1,4 @@ +usr/lib/*/libaudio.a +usr/lib/*/libaudio.so +usr/include/* usr/include/audio +usr/share/man/man3 diff -Nru nas-1.9.4/debian/nas-bin.install nas-1.9.4/debian/nas-bin.install --- nas-1.9.4/debian/nas-bin.install 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/nas-bin.install 2014-07-26 19:22:12.000000000 -0700 @@ -0,0 +1,2 @@ +usr/bin +usr/share/man/man1 diff -Nru nas-1.9.4/debian/nas.conffiles nas-1.9.4/debian/nas.conffiles --- nas-1.9.4/debian/nas.conffiles 2013-10-10 06:33:15.000000000 -0700 +++ nas-1.9.4/debian/nas.conffiles 1969-12-31 16:00:00.000000000 -0800 @@ -1,3 +0,0 @@ -/etc/nas/nasd.conf -/etc/init.d/nas -/etc/default/nas diff -Nru nas-1.9.4/debian/nas.dirs nas-1.9.4/debian/nas.dirs --- nas-1.9.4/debian/nas.dirs 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/nas.dirs 2014-07-26 19:02:25.000000000 -0700 @@ -0,0 +1,3 @@ +etc/nas +usr/share/nas +usr/share/doc/nas/examples diff -Nru nas-1.9.4/debian/nas-doc.install nas-1.9.4/debian/nas-doc.install --- nas-1.9.4/debian/nas-doc.install 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/nas-doc.install 2014-07-26 18:38:45.000000000 -0700 @@ -0,0 +1,3 @@ +doc/*ps /usr/share/doc/nas +doc/*txt /usr/share/doc/nas +doc/actions /usr/share/doc/nas diff -Nru nas-1.9.4/debian/nas.init nas-1.9.4/debian/nas.init --- nas-1.9.4/debian/nas.init 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/nas.init 2014-07-26 18:38:45.000000000 -0700 @@ -0,0 +1,38 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: nasd +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: start or stop the Network Audio System. +### END INIT INFO + +test -f /usr/bin/nasd || exit 0 + +if test -f /etc/default/nas; then + . /etc/default/nas +fi + +case "$1" in + start) + echo Starting the Network Audio System + start-stop-daemon --start --quiet --startas /usr/bin/start-nas \ + --exec /usr/bin/nasd -- $NASD_OPTS + ;; + stop) + echo Stopping the Network Audio System + start-stop-daemon --stop --quiet --exec /usr/bin/nasd + ;; + restart|force-reload) + echo Restarting the Network Audio System + start-stop-daemon --stop --quiet --exec /usr/bin/nasd + start-stop-daemon --start --quiet --startas /usr/bin/start-nas \ + --exec /usr/bin/nasd -- $NASD_OPTS + ;; + *) + echo "Usage: /etc/init.d/nas {start|stop|restart|force-reload}" + exit 1 +esac + +exit 0 diff -Nru nas-1.9.4/debian/nas.install nas-1.9.4/debian/nas.install --- nas-1.9.4/debian/nas.install 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/nas.install 2014-07-26 21:46:37.000000000 -0700 @@ -0,0 +1,6 @@ +debian/start-nas usr/bin +usr/bin/nasd +usr/share/man/man5/nasd.conf.5nas +usr/share/man/man1/nasd.1nas +usr/share/man/man1/nas.1nas +etc/nas/nasd.conf.eg usr/share/nas diff -Nru nas-1.9.4/debian/nas.installdirs nas-1.9.4/debian/nas.installdirs --- nas-1.9.4/debian/nas.installdirs 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/nas.installdirs 2014-07-26 18:44:36.000000000 -0700 @@ -0,0 +1 @@ +etc/nas diff -Nru nas-1.9.4/debian/nas.links nas-1.9.4/debian/nas.links --- nas-1.9.4/debian/nas.links 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/nas.links 2014-07-26 21:46:37.000000000 -0700 @@ -0,0 +1,2 @@ +usr/share/man/man1/nas.1nas.gz usr/share/man/man1/au.1nas.gz +usr/share/nas/nasd.conf.eg usr/share/doc/nas/examples/nasd.conf.eg diff -Nru nas-1.9.4/debian/nas.postinst nas-1.9.4/debian/nas.postinst --- nas-1.9.4/debian/nas.postinst 2013-10-10 06:33:15.000000000 -0700 +++ nas-1.9.4/debian/nas.postinst 2014-07-26 18:38:45.000000000 -0700 @@ -25,9 +25,6 @@ case "$1" in configure) - # Install us in init.d - update-rc.d nas defaults >/dev/null - # Grab config stuff from debconf db_get nas/relinquish if [ "$RET" = "true" ] ; then @@ -44,11 +41,6 @@ fi # Start up NAS - if which invoke-rc.d >/dev/null 2>&1; then - invoke-rc.d nas start - else - /etc/init.d/nas start - fi db_stop ;; @@ -56,11 +48,8 @@ abort-upgrade|abort-remove|abort-deconfigure) # Restart NAS - if which invoke-rc.d >/dev/null 2>&1; then - invoke-rc.d nas start - else - /etc/init.d/nas start - fi ;; esac + +#DEBHELPER# diff -Nru nas-1.9.4/debian/nas.postrm nas-1.9.4/debian/nas.postrm --- nas-1.9.4/debian/nas.postrm 2013-10-10 06:33:15.000000000 -0700 +++ nas-1.9.4/debian/nas.postrm 2014-07-26 18:38:45.000000000 -0700 @@ -3,9 +3,6 @@ case "$1" in remove|purge) - # Remove links from rc?.d - update-rc.d -f nas remove >/dev/null - if [ "$1" = "purge" -a -e /usr/share/debconf/confmodule ]; then # Source debconf library. . /usr/share/debconf/confmodule @@ -17,3 +14,5 @@ upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; esac + +#DEBHELPER# diff -Nru nas-1.9.4/debian/nas.prerm nas-1.9.4/debian/nas.prerm --- nas-1.9.4/debian/nas.prerm 2013-10-10 06:33:15.000000000 -0700 +++ nas-1.9.4/debian/nas.prerm 2014-07-26 18:38:45.000000000 -0700 @@ -4,18 +4,4 @@ rm -f /usr/doc/nas fi -case "$1" in - remove|upgrade|remove-in-favour|deconfigure-in-favour) - - - # Stop running nas - if which invoke-rc.d >/dev/null 2>&1; then - invoke-rc.d nas stop - else - /etc/init.d/nas stop - fi - ;; - - failed-upgrade) - ;; -esac +#DEBHELPER# diff -Nru nas-1.9.4/debian/patches/series nas-1.9.4/debian/patches/series --- nas-1.9.4/debian/patches/series 2013-10-10 06:45:29.000000000 -0700 +++ nas-1.9.4/debian/patches/series 2014-07-26 20:43:35.000000000 -0700 @@ -1 +1,2 @@ multiarch-AuErrorDB.patch +snprintf.m4 diff -Nru nas-1.9.4/debian/patches/snprintf.m4 nas-1.9.4/debian/patches/snprintf.m4 --- nas-1.9.4/debian/patches/snprintf.m4 1969-12-31 16:00:00.000000000 -0800 +++ nas-1.9.4/debian/patches/snprintf.m4 2014-07-26 20:46:19.000000000 -0700 @@ -0,0 +1,77 @@ +Description: Include missing m4 macro + Running autoreconf fails because the AC_FUNC_SNPRINTF macro isn't part + of autoconf upstream, but rather was pulled in from an external resource + (e.g., http://ac-archive.sourceforge.net/ac-archive/ac_func_snprintf.html). + Include it in the tree so that autoreconf works correctly. + +Author: RĂ¼diger Kuhlmann <[email protected]> +Index: nas/config/acinclude.m4 +=================================================================== +--- /dev/null ++++ nas/config/acinclude.m4 +@@ -0,0 +1,65 @@ ++dnl Author: RĂ¼diger Kuhlmann <[email protected]> ++dnl License: ++dnl AllPermissive ++dnl Copying and distribution of this file, with or without modification, ++dnl are permitted in any medium without royalty provided the copyright ++dnl notice and this notice are preserved. Users of this software should ++dnl generally follow the principles of the MIT License includings its ++dnl disclaimer. ++ ++AC_DEFUN([AC_FUNC_SNPRINTF], ++[AC_CHECK_FUNCS(snprintf vsnprintf) ++AC_MSG_CHECKING(for working snprintf) ++AC_CACHE_VAL(ac_cv_have_working_snprintf, ++[AC_TRY_RUN( ++[#include <stdio.h> ++ ++int main(void) ++{ ++ char bufs[5] = { 'x', 'x', 'x', '\0', '\0' }; ++ char bufd[5] = { 'x', 'x', 'x', '\0', '\0' }; ++ int i; ++ i = snprintf (bufs, 2, "%s", "111"); ++ if (strcmp (bufs, "1")) exit (1); ++ if (i != 3) exit (1); ++ i = snprintf (bufd, 2, "%d", 111); ++ if (strcmp (bufd, "1")) exit (1); ++ if (i != 3) exit (1); ++ exit(0); ++}], ac_cv_have_working_snprintf=yes, ac_cv_have_working_snprintf=no, ac_cv_have_working_snprintf=cross)]) ++AC_MSG_RESULT([$ac_cv_have_working_snprintf]) ++AC_MSG_CHECKING(for working vsnprintf) ++AC_CACHE_VAL(ac_cv_have_working_vsnprintf, ++[AC_TRY_RUN( ++[#include <stdio.h> ++#include <stdarg.h> ++ ++int my_vsnprintf (char *buf, const char *tmpl, ...) ++{ ++ int i; ++ va_list args; ++ va_start (args, tmpl); ++ i = vsnprintf (buf, 2, tmpl, args); ++ va_end (args); ++ return i; ++} ++ ++int main(void) ++{ ++ char bufs[5] = { 'x', 'x', 'x', '\0', '\0' }; ++ char bufd[5] = { 'x', 'x', 'x', '\0', '\0' }; ++ int i; ++ i = my_vsnprintf (bufs, "%s", "111"); ++ if (strcmp (bufs, "1")) exit (1); ++ if (i != 3) exit (1); ++ i = my_vsnprintf (bufd, "%d", 111); ++ if (strcmp (bufd, "1")) exit (1); ++ if (i != 3) exit (1); ++ exit(0); ++}], ac_cv_have_working_vsnprintf=yes, ac_cv_have_working_vsnprintf=no, ac_cv_have_working_vsnprintf=cross)]) ++AC_MSG_RESULT([$ac_cv_have_working_vsnprintf]) ++if test x$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf != "xyesyes"; then ++ AC_LIBOBJ(snprintf) ++ AC_MSG_WARN([Replacing missing/broken (v)snprintf() with version from http://www.ijs.si/software/snprintf/.]) ++ AC_DEFINE(PREFER_PORTABLE_SNPRINTF, 1, "enable replacement (v)snprintf if system (v)snprintf is broken") ++fi]) diff -Nru nas-1.9.4/debian/rc.nas nas-1.9.4/debian/rc.nas --- nas-1.9.4/debian/rc.nas 2013-10-10 06:33:15.000000000 -0700 +++ nas-1.9.4/debian/rc.nas 1969-12-31 16:00:00.000000000 -0800 @@ -1,38 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: nasd -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: start or stop the Network Audio System. -### END INIT INFO - -test -f /usr/bin/nasd || exit 0 - -if test -f /etc/default/nas; then - . /etc/default/nas -fi - -case "$1" in - start) - echo Starting the Network Audio System - start-stop-daemon --start --quiet --startas /usr/bin/start-nas \ - --exec /usr/bin/nasd -- $NASD_OPTS - ;; - stop) - echo Stopping the Network Audio System - start-stop-daemon --stop --quiet --exec /usr/bin/nasd - ;; - restart|force-reload) - echo Restarting the Network Audio System - start-stop-daemon --stop --quiet --exec /usr/bin/nasd - start-stop-daemon --start --quiet --startas /usr/bin/start-nas \ - --exec /usr/bin/nasd -- $NASD_OPTS - ;; - *) - echo "Usage: /etc/init.d/nas {start|stop|restart|force-reload}" - exit 1 -esac - -exit 0 diff -Nru nas-1.9.4/debian/rules nas-1.9.4/debian/rules --- nas-1.9.4/debian/rules 2013-10-10 06:33:15.000000000 -0700 +++ nas-1.9.4/debian/rules 2014-07-26 21:47:25.000000000 -0700 @@ -1,251 +1,40 @@ #! /usr/bin/make -f # debian/rules file for NAS -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_BUILD_GNU_CPU ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_CPU) -DEB_BUILD_GNU_SYSTEM ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_SYSTEM) -DEB_BUILD_ARCH_OS ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) -LDFLAGS_DEF = `dpkg-buildflags --get LDFLAGS` -CPPFLAGS_DEF = `dpkg-buildflags --get CPPFLAGS` -CFLAGS_DEF = `dpkg-buildflags --get CFLAGS` +instdirs=BINDIR=/usr/bin USRLIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) MANPATH=/usr/share/man INCDIR=/usr/include PROJECTMANSUFFIX=nas ETCDIR=/etc/nas -ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) - LDFLAGS_DEF += -s -endif -ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS_DEF += -O0 -endif - -package=nas -instdirs=BINDIR=/usr/bin USRLIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) MANPATH=/usr/share/man INCDIR=/usr/include MANSUFFIX=1nas LIBMANSUFFIX=3nas FILEMANSUFFIX=5nas ETCDIR=/etc/nas - -ifeq ($(DEB_BUILD_ARCH_OS),hurd) -archpacs=nas-bin libaudio2 libaudio-dev -else -archpacs=nas nas-bin libaudio2 libaudio-dev -endif -allpacs=nas-doc +%: + dh $@ --with=autoreconf -build-arch: build -build-indep: build - -build: - # So so ugly, but works. - echo "#!/bin/sh" > config/config.guess - echo "echo $(DEB_BUILD_GNU_TYPE)" >> config/config.guess - chmod +x config/config.guess - - # Make include symlinks - ( cd include/audio; for file in ../../lib/audio/*.h; do ln -s $$file .; done ) - cp /usr/share/misc/config.sub config +override_dh_auto_configure: xmkmf -a - $(MAKE) EXTRA_LDOPTIONS="$(LDFLAGS_DEF)" \ - CCOPTIONS="$(CFLAGS_DEF) $(CPPFLAGS_DEF)" \ - INSTALL_FLAGS="$(INSTALL_FLAGS)" \ - LDFLAGS_DEF="$(LDFLAGS_DEF)" - touch build - -clean: - FOO=bar; echo $$FOO - $(checkdir) - -$(MAKE) clean - find . -name Makefile -exec rm -f {} \; - find . -name '*~' -exec rm -f {} \; - # Clear up include symlinks - find include -type l -exec rm -f {} \; - rm -rf debian/tmp debian/nas debian/nas-doc debian/nas-bin - rm -rf debian/libaudio2 debian/libaudio-dev debian/substvars - rm -f build debian/files - rm -f config/config.cache config/config.h config/config.log - rm -f config/config.status - rm -f config/config.sub - rm -f config/config.guess - rm -f config/libtool libtool - rm -rf config/autom4te.cache - -binary-indep: checkroot - $(checkdir) - # nas-doc - install -d debian/nas-doc/DEBIAN - install -d debian/nas-doc/usr/share/doc/nas-doc - install -d debian/nas-doc/usr/share/doc/nas - # install nas-doc - install -m644 doc/*ps doc/*txt doc/actions debian/nas-doc/usr/share/doc/nas - install -m644 doc/README debian/nas-doc/usr/share/doc/nas/README.DOC - install -m644 README FAQ TODO debian/nas-doc/usr/share/doc/nas-doc - install -m644 HISTORY debian/nas-doc/usr/share/doc/nas-doc/changelog - install -m644 debian/changelog debian/nas-doc/usr/share/doc/nas-doc/changelog.Debian - -gzip -9vn debian/nas-doc/usr/share/doc/*/* - cp debian/copyright debian/nas-doc/usr/share/doc/nas-doc - for file in preinst postinst prerm postrm config ; \ - do \ - if [ -f debian/nas-doc.$$file ] ; then \ - install -m755 debian/nas-doc.$$file debian/nas-doc/DEBIAN/$$file; \ - fi; \ - done; \ - dpkg-gencontrol -isp -Pdebian/nas-doc -pnas-doc >debian/nas-doc/DEBIAN/control - -chown -R root.root debian/nas-doc - -chmod -R g-ws debian/nas-doc - dpkg --build debian/nas-doc .. - -binary-arch: checkroot build - $(checkdir) - # First create directories: - # nas - install -d debian/nas/DEBIAN - install -d debian/nas/usr/bin - install -d debian/nas/usr/share/man/man1 - install -d debian/nas/usr/share/man/man5 - install -d debian/nas/usr/share/doc/nas - install -d debian/nas/usr/share/doc/nas/examples - install -d debian/nas/usr/share/nas - install -d debian/nas/etc/init.d - install -d debian/nas/etc/default - # nas-bin - install -d debian/nas-bin/DEBIAN - install -d debian/nas-bin/usr/bin - install -d debian/nas-bin/usr/share/man/man1 - install -d debian/nas-bin/usr/share/doc/nas-bin - # libaudio-dev - install -d debian/libaudio-dev/DEBIAN - install -d debian/libaudio-dev/usr/include/audio - install -d debian/libaudio-dev/usr/share/man/man3 - install -d debian/libaudio-dev/usr/share/doc/libaudio-dev - install -d debian/libaudio-dev/usr/lib/$(DEB_HOST_MULTIARCH) - # libaudio2 - install -d debian/libaudio2/DEBIAN - install -d debian/libaudio2/usr/lib/$(DEB_HOST_MULTIARCH) - install -d debian/libaudio2/usr/share/libaudio2 - install -d debian/libaudio2/usr/share/doc/libaudio2 - - # install nas - (top=`pwd`; cd server && $(MAKE) install $(instdirs) DESTDIR=$$top/debian/nas) - (top=`pwd`; cd server && $(MAKE) install.man $(instdirs) DESTDIR=$$top/debian/nas) -ifneq ($(DEB_BUILD_ARCH_OS),hurd) - cp debian/nas/etc/nas/nasd.conf.eg debian/nas/etc/nas/nasd.conf - mv debian/nas/etc/nas/nasd.conf.eg debian/nas/usr/share/nas - ln -s ../../../nas/nasd.conf.eg debian/nas/usr/share/doc/nas/examples - chmod 644 debian/nas/usr/share/doc/nas/examples/nasd.conf.eg - chmod 755 debian/nas/etc/nas - chmod 755 debian/nas/etc/default -ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) - file debian/nas/usr/bin/* | grep executable | grep -v 'text executable' | cut -d':' -f1 | xargs strip --strip-unneeded --remove-section=.comment --remove-section=.note -endif -endif - # install nas-bin - (top=`pwd`; cd clients/audio && $(MAKE) install $(instdirs) DESTDIR=$$top/debian/nas-bin) - (top=`pwd`; cd clients/audio && $(MAKE) install.man $(instdirs) DESTDIR=$$top/debian/nas-bin) -ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) - file debian/nas-bin/usr/bin/* | grep executable | grep -v 'text executable' | cut -d':' -f1 | xargs strip --strip-unneeded --remove-section=.comment --remove-section=.note +override_dh_auto_build: + $(MAKE) EXTRA_LDOPTIONS="$$LDFLAGS" \ + CCOPTIONS="$$CFLAGS $$CPPFLAGS" \ + LDFLAGS_DEF="$$LDFLAGS" + +override_dh_installdocs: + dh_installdocs -A README FAQ TODO +ifneq (,$(filter nas-doc, $(shell dh_listpackages))) + install -m644 doc/README debian/nas-doc/usr/share/doc/nas/README.DOC endif - # install libaudio-dev - (top=`pwd`; cd doc/man/lib && $(MAKE) install.man $(instdirs) MANSUFFIX=3nas DESTDIR=$$top/debian/libaudio-dev) - install -m644 lib/audio/libaudio.a debian/libaudio-dev/usr/lib/$(DEB_HOST_MULTIARCH) - install -m644 include/audio/*.h debian/libaudio-dev/usr/include/audio - rm -f debian/libaudio-dev/usr/include/audio/release.h - ln -s libaudio.so.2.4 debian/libaudio-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libaudio.so +override_dh_installchangelogs: + dh_installchangelogs HISTORY - # install libaudio2 - install -m644 lib/audio/AuErrorDB debian/libaudio2/usr/share/libaudio2 - install -m644 lib/audio/libaudio.so.2.4 debian/libaudio2/usr/lib/$(DEB_HOST_MULTIARCH) - ln -s libaudio.so.2.4 debian/libaudio2/usr/lib/$(DEB_HOST_MULTIARCH)/libaudio.so.2 - install -m644 lib/audio/libaudio.so.2.4 debian/libaudio2/usr/lib/$(DEB_HOST_MULTIARCH) -ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) - strip --strip-unneeded --remove-section=.comment --remove-section=.note debian/libaudio2/usr/lib/$(DEB_HOST_MULTIARCH)/libaudio.so.2.4 -endif +override_dh_auto_install: + top=`pwd`; $(MAKE) install install.man $(instdirs) DESTDIR=$$top/debian/tmp - # Install other files - install -m 644 debian/nas.default debian/nas/etc/default/nas - install debian/rc.nas debian/nas/etc/init.d/nas - install debian/start-nas debian/nas/usr/bin +override_dh_install: + dh_install --fail-missing + rm -f debian/libaudio-dev/usr/include/audio/release.h + rm -f debian/nas-bin/usr/bin/nasd \ + debian/nas-bin/usr/share/man/man1/nasd.1nas \ + debian/nas-bin/usr/share/man/man1/nas.1nas +ifneq (,$(filter nas, $(shell dh_listpackages))) + cp debian/nas/usr/share/nas/nasd.conf.eg debian/nas/etc/nas/nasd.conf install -m 644 debian/start-nas.man debian/nas/usr/share/man/man1/start-nas.1nas - install -m 644 doc/man/nas.man debian/nas/usr/share/man/man1/nas.1nas - # Install documentation - -gzip -9vn debian/nas/usr/share/man/man*/* - -gzip -9vn debian/nas-bin/usr/share/man/man*/* - -gzip -9vn debian/libaudio-dev/usr/share/man/man*/* - ln -s nas.1nas.gz debian/nas/usr/share/man/man1/au.1nas.gz - for dir in $(archpacs); do install -m644 README FAQ TODO debian/$$dir/usr/share/doc/$$dir; done - for dir in $(archpacs); do install -m644 HISTORY debian/$$dir/usr/share/doc/$$dir/changelog; done - for dir in $(archpacs); do install -m644 debian/changelog debian/$$dir/usr/share/doc/$$dir/changelog.Debian; done - install -m644 debian/nas.README.Debian debian/nas/usr/share/doc/nas/README.Debian - - # Now compress docs & clean up permissions - -gzip -9vn debian/nas/usr/share/doc/*/* - -gzip -9vn debian/libaudio-dev/usr/share/doc/*/* - -gzip -9vn debian/nas-bin/usr/share/doc/*/* - -gzip -9vn debian/libaudio2/usr/share/doc/*/* - - -chmod -Rv u+w debian/nas/usr/share/man - -chmod -Rv u+w debian/libaudio-dev/usr/include debian/libaudio-dev/usr/share/man - -chmod -Rv u+w debian/nas-bin/usr/share/man - - -chmod -v 644 debian/nas/etc/nas/* - chmod -v 644 debian/libaudio2/usr/share/libaudio2/AuErrorDB - for dir in $(archpacs); do cp debian/copyright debian/$$dir/usr/share/doc/$$dir; done - # Standard package building stuff - debconf-updatepo - for dir in $(archpacs); \ - do \ - for file in conffiles shlibs; \ - do \ - if [ -f debian/$$dir.$$file ] ; then \ - install -m644 debian/$$dir.$$file debian/$$dir/DEBIAN/$$file; \ - fi; \ - done; \ - for file in preinst postinst prerm postrm config; \ - do \ - if [ -f debian/$$dir.$$file ] ; then \ - install -m755 debian/$$dir.$$file debian/$$dir/DEBIAN/$$file; \ - fi; \ - done; \ - if [ -f debian/$$dir.templates ] ; then \ - po2debconf debian/$$dir.templates > debian/$$dir/DEBIAN/templates ; \ - fi; \ - done - - dpkg-shlibdeps debian/nas/usr/bin/* - LD_LIBRARY_PATH=./debian/libaudio2/usr/lib/$(DEB_HOST_MULTIARCH):$$LD_LIBRARY_PATH dpkg-shlibdeps debian/nas-bin/usr/bin/* - dpkg-shlibdeps debian/libaudio2/usr/lib/$(DEB_HOST_MULTIARCH)/lib* - for dir in $(archpacs); \ - do \ - dpkg-gencontrol -isp -Pdebian/$$dir -p$$dir >debian/$$dir/DEBIAN/control; \ - done - -chown -R root.root debian/nas - -chown -R root.root debian/libaudio-dev - -chown -R root.root debian/nas-bin - -chown -R root.root debian/libaudio2 - - -chmod -R g-ws debian/nas - -chmod -R g-ws debian/libaudio-dev - -chmod -R g-ws debian/nas-bin - -chmod -R g-ws debian/libaudio2 - - for dir in $(archpacs); \ - do \ - dpkg --build debian/$$dir ..; \ - done - -define checkdir - test -f server/dia/au.h -a -f debian/rules -endef - -# Below here is fairly generic really - -binary: binary-indep binary-arch - -source diff: - @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false - -checkroot: - $(checkdir) - test root = "`whoami`" - -.PHONY: binary binary-arch binary-indep clean checkroot - - - +endif

