1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
|
#! /usr/bin/make -f
# debian/rules file for NAS
package=nas
instdirs=BINDIR=/usr/bin USRLIBDIR=/usr/lib MANPATH=/usr/share/man INCDIR=/usr/include MANSUFFIX=1nas LIBMANSUFFIX=3nas FILEMANSUFFIX=5nas ETCDIR=/etc/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)
ifeq ($(DEB_BUILD_ARCH_OS),hurd)
archpacs=nas-bin libaudio2 libaudio-dev
else
archpacs=nas nas-bin libaudio2 libaudio-dev
endif
allpacs=nas-doc
build:
# Make include symlinks
( cd include/audio; for file in ../../lib/audio/*.h; do ln -s $$file .; done )
xmkmf -a
$(MAKE) LDFLAGS="-s"
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/libtool libtool
rm -rf config/autom4te.cache
# 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
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 -9v 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
# libaudio2
install -d debian/libaudio2/DEBIAN
install -d debian/libaudio2/usr/lib
install -d debian/libaudio2/usr/share/doc/libaudio2
# Make install used to do most stuff for us, but not any more.
#$(MAKE) install BINDIR=/usr/bin MANPATH=/usr/share/man DESTDIR=$(TOP)/debian/tmp
#$(MAKE) install.man DESTDIR=$(TOP)/debian/tmp
# 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
file debian/nas/usr/bin/* | grep executable | grep -v 'script text executable' | cut -d':' -f1 | xargs strip --strip-unneeded --remove-section=.comment --remove-section=.note
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)
file debian/nas-bin/usr/bin/* | grep executable | grep -v 'script text executable' | cut -d':' -f1 | xargs strip --strip-unneeded --remove-section=.comment --remove-section=.note
# 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
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/libaudio.so
# install libaudio2
install -m644 lib/audio/libaudio.so.2.4 lib/audio/AuErrorDB debian/libaudio2/usr/lib
ln -s libaudio.so.2.4 debian/libaudio2/usr/lib/libaudio.so.2
install -m644 lib/audio/libaudio.so.2.4 debian/libaudio2/usr/lib
strip --strip-unneeded --remove-section=.comment --remove-section=.note debian/libaudio2/usr/lib/libaudio.so.2.4
# 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
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 -9v debian/nas/usr/share/man/man*/*
-gzip -9v debian/nas-bin/usr/share/man/man*/*
-gzip -9v 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 -9v debian/nas/usr/share/doc/*/*
-gzip -9v debian/libaudio-dev/usr/share/doc/*/*
-gzip -9v debian/nas-bin/usr/share/doc/*/*
-gzip -9v 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/lib/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:$$LD_LIBRARY_PATH dpkg-shlibdeps debian/nas-bin/usr/bin/*
dpkg-shlibdeps debian/libaudio2/usr/lib/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
|