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
|
#!/usr/bin/make -f
# PDL debian build rules
# Made with the aid of debmake, by Christoph Lameter,
# based on the sample debian/rules file for GNU hello by Ian Jackson.
package=pdl
ddir=`pwd`/debian/tmp
arch = $(shell dpkg --print-architecture)
perlv = 5.005
INSTALL=/usr/bin/install
build: checkdir
perl Makefile.PL INSTALLDIRS=perl PREFIX=$(ddir)/usr \
INSTALLMAN1DIR=$(ddir)/usr/man/man1 INSTALLMAN3DIR=$(ddir)/usr/man/man3
# INSTALLPRIVLIB=${ddir}/usr/lib/perl5
make
make test
# make doctest dont make the docs do it in postinst
touch build
clean: checkdir
# Restore original makefile.
-rm -f build t/*[^Eclt]
-make distclean
-rm -rf blib
-rm -f `find . -name "*~"`
-rm -rf debian/tmp debian/files* core debian/substvars
binary-indep: checkroot build
# There are no architecture-independent files to be uploaded
# generated by this package. If there were any they would be
# made here.
binary-arch: checkroot build
-rm -rf debian/tmp
$(INSTALL) -d debian/tmp/DEBIAN
$(INSTALL) -d debian/tmp/usr/doc/$(package)
export BUILDROOTPREFIX=${ddir}; make pure_install
# PREFIX=${ddir}/usr
# these scripts are not part of the distribution, but we need them for
# postinst
# cp Doc/scantree.pl debian/tmp/usr/lib/perl5/$(arch)-linux/$(perlv)/PDL/Doc
# cp Doc/mkhtmldoc.pl debian/tmp/usr/lib/perl5/$(arch)-linux/$(perlv)/PDL/Doc
# cp Doc/scantree.pl debian/tmp/usr/lib/perl5/PDL/Doc
# cp Doc/mkhtmldoc.pl debian/tmp/usr/lib/perl5/PDL/Doc
rm -f debian/tmp/usr/lib/perl5/$(arch)-linux/5.*/perllocal.pod
# remove packlist files
find `pwd`/debian/tmp -type f -name .packlist | xargs -r rm -f
# find `pwd`/debian/tmp -type d -empty | xargs -r rmdir -p --no-fail-on-non-empty
# make install DESTDIR=`pwd`/debian/tmp
$(INSTALL) -m 644 README debian/tmp/usr/doc/$(package)
$(INSTALL) -m 644 TODO debian/tmp/usr/doc/$(package)
$(INSTALL) -m 644 debian/README.debian debian/tmp/usr/doc/$(package)
$(INSTALL) -m 644 debian/changelog debian/tmp/usr/doc/$(package)/changelog.Debian
$(INSTALL) -m 644 Changes debian/tmp/usr/doc/$(package)/changelog
-cd debian/tmp/usr/doc/$(package); gzip -9v README TODO README.debian changelog changelog.Debian
gzip -9v debian/tmp/usr/man/*/*
cp debian/copyright debian/tmp/usr/doc/$(package)/copyright
chmod 755 debian/tmp/usr/bin/*
# Install menu entry
$(INSTALL) -d debian/tmp/usr/lib/menu
cp debian/$(package)-menu debian/tmp/usr/lib/menu/$(package)
# copy postinst and postrm
cp debian/postinst debian/tmp/DEBIAN
cp debian/postrm debian/tmp/DEBIAN
cp debian/preinst debian/tmp/DEBIAN
chmod +x debian/tmp/DEBIAN/postinst debian/tmp/DEBIAN/postrm debian/tmp/DEBIAN/preinst
# debstd Changes README TODO
dpkg-shlibdeps `ls blib/arch/auto/PDL/*/*.so`
dpkg-gencontrol
chown -R root.root debian/tmp
chmod -R go=rX debian/tmp
# fix up some rather odd permissions issues
find debian/tmp/usr/{lib,man} -type f | xargs chmod 644
# clean up any extra symbols
find debian/tmp/usr/lib -name '*.so' | xargs strip --strip-unneeded -R .comment -R .note
dpkg --build debian/tmp ..
checkdir:
# in the right directory?
test -f debian/rules
# debian source directory names must be all lower-case
basename `pwd` | grep -v '[A-Z]'
binary: binary-indep binary-arch
checkroot: checkdir
test root = "`whoami`"
.PHONY: binary binary-arch binary-indep clean checkroot checkdir
|