#!/usr/bin/make -f .PHONY: build PKG = netbase PVER = 2.06-1 ARCH := $(shell dpkg --print-architecture) # BASEDIR must not be a relative path! Always use an absolute path! # export BASEDIR = /tmp/debian-tmp export BASEDIR = $(shell pwd)/debian-tmp SUBDIRS = inetd-5.30 net-tools-1.2.0 net-tools-1.32-alpha ping-5.9 tcp_wrappers_7.4 portmap-5.4s3 ipfwadm-2.3.0 DATADIRS = etc-${PKG} build: @for i in $(SUBDIRS) $(DATADIRS); do \ ( if [ -f $$i.tar.gz -a ! -d $$i ]; then \ echo -e "\nExtracting \`$$i.tar.gz' ...\n" && tar xvfz $$i.tar.gz && rm -f $$i.tar.gz; \ fi ) || exit 1; \ done @for i in $(SUBDIRS); do \ ( cd ./$$i && echo -e "\nMaking all in \`$$i':\n" && make ) || exit 1; \ done install: dir @for i in $(SUBDIRS); do \ ( cd ./$$i && echo -e "\nMaking install in \`$$i':\n" && make install ) || exit 1; \ done clean: @for i in $(SUBDIRS); do \ ( cd ./$$i && echo -e "\nMaking clean in \`$$i':\n" && make clean ) || exit 1; \ done rm -rf ${BASEDIR} binary: install sed -e 's/=V/$(PVER)/' -e 's/=A/$(ARCH)/' \ debian.control > debian-tmp/DEBIAN/control chmod 644 debian-tmp/DEBIAN/control # install -o root -g root -m 0644 debian.control ${BASEDIR}/DEBIAN/control install -o root -g root -m 0644 debian.conffiles ${BASEDIR}/DEBIAN/conffiles install -o root -g root -m 0755 debian.preinst ${BASEDIR}/DEBIAN/preinst install -o root -g root -m 0755 debian.postinst ${BASEDIR}/DEBIAN/postinst install -o root -g root -m 0755 debian.prerm ${BASEDIR}/DEBIAN/prerm install -o root -g root -m 0755 debian.postrm ${BASEDIR}/DEBIAN/postrm install -o root -g root -m 0644 COPYRIGHT ${BASEDIR}/usr/doc/copyright/${PKG} install -o root -g root -m 0644 etc-${PKG}/* ${BASEDIR}/etc install -o root -g root -m 0755 rc.netbase ${BASEDIR}/etc/init.d/netbase install -o root -g root -m 0755 cron.netbase ${BASEDIR}/etc/cron.daily/netbase install -o root -g root -m 0644 DebianNet.pm ${BASEDIR}/usr/lib/perl5 install -o root -g root -m 0644 DebianNet.3pm ${BASEDIR}/usr/man/man3 install -o root -g root -m 0755 update-inetd ${BASEDIR}/usr/sbin install -o root -g root -m 0644 update-inetd.8 ${BASEDIR}/usr/man/man8 install -o root -g root -m 0644 resolv+.8 ${BASEDIR}/usr/man/man8 dpkg --build ${BASEDIR} dpkg-name --subdir .. ${BASEDIR}.deb source: # Makes a source package. chmod +x debian.rules (cd .. && tar cvf ${PKG}_${PVER}.orig.tar ${PKG}.orig) || exit 1; gzip -9fv ../${PKG}_${PVER}.orig.tar install -d ../net-tmp @for i in $(SUBDIRS) $(DATADIRS); do \ ( echo -e "\nCreating \`$$i.tar' ...\n" && tar cvf ../net-tmp/$$i.tar $$i ) || exit 1; \ done gzip -9fv ../net-tmp/*.tar cp update-inetd update-inetd.8 DebianNet.pm DebianNet.3pm resolv+.8 COPYRIGHT cron.netbase rc.netbase debian.* ../net-tmp (cd ../net-tmp && tar cvf ../${PKG}_${PVER}.tar *) || exit 1; gzip -1v ../${PKG}_${PVER}.tar rm -rf ../net-tmp diff: # Makes a diff package. install -m 755 -d ../${PKG}.diffs @for i in $(SUBDIRS) $(DATADIRS); do \ ( cd ..; \ if [ -d ${PKG}.orig/$$i.orig ]; then \ echo -e "Creating diff for $$i ..."; \ diff -c -P --recursive --exclude=COPYRIGHT \ --exclude=COPYING ${PKG}.orig/$$i.orig/ ${PKG}/$$i/ >${PKG}.diffs/$$i.diff || \ true; \ fi ) || exit 1; \ done gzip -9fv ../${PKG}.diffs/*.diff (cd ../${PKG}.diffs && tar cvf ../${PKG}_${PVER}.diff.tar *) || exit 1; gzip -1v ../${PKG}_${PVER}.diff.tar dist: source diff binary # Make source, diff and binary packages dchanges: perl -ane '$$a+=/^[A-Z].*/;s/^\t//;\ print if ($$a<2 and $$_ ne "\n" and !/\* Version \d+(\.\d+)+ released/ \ and !/^[A-Z]/)' debian.Changelog >../netbase.changelog.tmp (cd ..; dchanges ce=netbase.changelog.tmp sf=${PKG}_${PVER}.tar.gz sf=${PKG}_${PVER}.diff.tar.gz ${PKG}_${PVER}*.deb ) -rm -f ../netbase.changelog.tmp dir: rm -rf ${BASEDIR} install -o root -g root -m 0755 -d ${BASEDIR} install -o root -g root -m 0755 -d ${BASEDIR}/DEBIAN install -o root -g root -m 0755 -d ${BASEDIR}/bin install -o root -g root -m 0755 -d ${BASEDIR}/etc/init.d install -o root -g root -m 0755 -d ${BASEDIR}/etc/cron.daily install -o root -g root -m 0755 -d ${BASEDIR}/sbin install -o root -g root -m 0755 -d ${BASEDIR}/usr/doc/copyright install -o root -g root -m 0755 -d ${BASEDIR}/usr/doc/net install -o root -g root -m 0755 -d ${BASEDIR}/usr/include install -o root -g root -m 0755 -d ${BASEDIR}/usr/lib/perl5 install -o root -g root -m 0755 -d ${BASEDIR}/usr/sbin install -o root -g root -m 0755 -d ${BASEDIR}/usr/man/man3 install -o root -g root -m 0755 -d ${BASEDIR}/usr/man/man4 install -o root -g root -m 0755 -d ${BASEDIR}/usr/man/man5 install -o root -g root -m 0755 -d ${BASEDIR}/usr/man/man8