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 &lt;stdio.h&gt;
++
++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 &lt;stdio.h&gt;
++#include &lt;stdarg.h&gt;
++
++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

Reply via email to