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
|
#!/usr/bin/make -f
# Sample debian/rules file; from GNU Hello, Copyright 1994,1995 by Ian Jackson.
package = debdelta
D = debian/debdelta
docdir = $(D)/usr/share/doc/$(package)
mandir = $(D)/usr/share/man/man1/
D2 = debian/debdelta-doc
docdir2 = $(D2)/usr/share/doc/$(package)
docdir2doc = $(D2)/usr/share/doc/$(package)-doc
CC = gcc
INSTALL_PROGRAM = install
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
minibzip2: minigzip.c
$(CC) -DBZIP $(CFLAGS) $(CPPFLAGS) minigzip.c -o minibzip2 $(LDFLAGS) -lbz2
minigzip: minigzip.c
$(CC) $(CFLAGS) $(CPPFLAGS) minigzip.c -o minigzip $(LDFLAGS) -lz
build: minibzip2 minigzip
$(checkdir)
touch build
clean:
$(checkdir)
rm -f build *~ */*~ debian/files* debian/substvars
rm -f minigzip minibzip2
rm -rf $(D) $(D2)
binary-indep: checkroot build
$(checkdir)
rm -rf $(D2)
install -d $(D2)/DEBIAN $(docdir2) $(docdir2doc)
cp doc/debdelta_suite.pdf debian/copyright debian/changelog $(docdir2doc)
cd $(docdir2doc) && gzip -9 changelog
cp -r doc/html $(docdir2doc)
ln -s ../debdelta-doc/debdelta_suite.pdf $(docdir2)
ln -s ../debdelta-doc/html $(docdir2)
# build package
dpkg-gencontrol -Pdebian/debdelta-doc -pdebdelta-doc
chown -R root:root $(D2)
dpkg-deb --build $(D2) ..
binary-arch: checkroot build
$(checkdir)
rm -rf $(D)
# dirs
install -d $(D)/DEBIAN $(D)/usr/bin $(docdir) $(mandir) $(D)/usr/lib/debdelta $(D)/usr/share/debdelta $(D)/usr/share/keyrings $(D)/usr/share/locale/it/LC_MESSAGES $(D)/usr/share/locale/fr/LC_MESSAGES
# control
install -m 755 debian/postrm $(D)/DEBIAN/
install -m 755 debian/postinst $(D)/DEBIAN/
# /usr/share
cp po/it.mo $(D)/usr/share/locale/it/LC_MESSAGES/debdelta.mo
cp po/fr.mo $(D)/usr/share/locale/fr/LC_MESSAGES/debdelta.mo
install debpatch.sh $(D)/usr/share/debdelta
install contrib/debmirror-delta-security $(D)/usr/share/debdelta/
install contrib/debmirror-marshal-deltas $(D)/usr/share/debdelta/
install contrib/debmarshal_list_useless_debs $(D)/usr/share/debdelta/
install contrib/dpkg-sig $(D)/usr/share/debdelta
cp contrib/debmirror*trash_option.patch $(D)/usr/share/debdelta
ln -s ../../bin/debdelta $(D)/usr/share/debdelta/debpatch-url
cp keyrings/pub.gpg $(D)/usr/share/keyrings/debian-debdelta-archive-keyring.gpg
chmod 0644 $(D)/usr/share/keyrings/debian-debdelta-archive-keyring.gpg
# /usr/lib
$(INSTALL_PROGRAM) minigzip $(D)/usr/lib/debdelta/minigzip
$(INSTALL_PROGRAM) minibzip2 $(D)/usr/lib/debdelta/minibzip2
# /etc
install -d $(D)/etc/debdelta
cp etc/sources.conf $(D)/etc/debdelta/sources.conf
echo /etc/debdelta/sources.conf >> $(D)/DEBIAN/conffiles
# /usr/bin
install debdelta $(D)/usr/bin/debdelta
ln -s debdelta $(D)/usr/bin/debpatch
ln -s debdelta $(D)/usr/bin/debdeltas
ln -s debdelta $(D)/usr/bin/debdelta-upgrade
# /usr/share/doc
cp FAQ README.features debian/copyright debian/changelog $(docdir)
cd $(docdir) && gzip -9 changelog FAQ
# man
cp *.1 $(mandir)
gzip -9 $(mandir)/*.1
# build package
dpkg-shlibdeps $(D)/usr/lib/debdelta/minigzip $(D)/usr/lib/debdelta/minibzip2
dpkg-gencontrol -Pdebian/debdelta -pdebdelta
chown -R root:root $(D)
dpkg-deb --build $(D) ..
define checkdir
test -f debdelta -a -f debian/rules
endef
binary: binary-indep binary-arch
checkroot:
$(checkdir)
test $$(id -u) = 0
.PHONY: binary binary-arch binary-indep clean checkroot
|