| #! /usr/bin/make -f |
| # -*- makefile -*- |
| # |
| # Invoke each target with `./debian/rules <target>'. All targets should be |
| # invoked with the package root as the current directory. |
| # |
| # The `binary' target must be run as root, as it needs to install files with |
| # specific ownerships. |
| |
| # Uncomment this to turn on verbose mode. |
| export DH_VERBOSE=1 |
| |
| package = e2fsprogs |
| ARCH = $(shell dpkg --print-architecture) |
| |
| # find the version for the main package, from changelog file |
| MAIN_VERSION = $(shell head -1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g') |
| # find versions for libraries going into their own packages, from their Makefile.in's |
| COMERR_VERSION = $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) |
| COMERR_MAJOR = $(word 1,$(subst ., ,$(COMERR_VERSION))) |
| SS_VERSION = $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) |
| SS_MAJOR = $(word 1,$(subst ., ,$(SS_VERSION))) |
| |
| topdir = $(shell pwd) |
| debdir = $(topdir)/debian |
| maindir = $(debdir)/tmp |
| builddir = $(topdir)/builddir |
| docdir = $(maindir)/usr/doc/$(package) |
| |
| SUBPACKAGES_DIRS = tmp e2fslibsg e2fslibsg-dev comerr$(COMERR_MAJOR)g comerrg-dev \ |
| ss$(SS_MAJOR)g ssg-dev |
| |
| installdoc = install -m 644 |
| installbin = install -m 755 |
| |
| ifeq ($(ARCH),alpha) |
| CCOPTS = -g -O2 -fsigned-char -DHAVE_NETINET_IN_H |
| LIBC-DEV = libc6.1-dev |
| else |
| CCOPTS = -g -O2 -fsigned-char |
| LIBC-DEV = libc6-dev |
| endif |
| |
| build: configured |
| dh_testdir |
| make -C $(builddir) |
| make -C $(builddir)/misc findsuper |
| cd doc && texi2html -split_chapter libext2fs.texinfo |
| cd lib/et && texi2html -split_chapter -expandinfo com_err.texinfo |
| touch build |
| |
| configured: |
| dh_testdir |
| mkdir -p $(builddir) |
| cd $(builddir) && CFLAGS="$(CFLAGS)" \ |
| ../configure --enable-elf-shlibs --enable-dynamic-e2fsck \ |
| --with-ccopts="$(CCOPTS)" |
| touch configured |
| |
| clean: |
| dh_testdir |
| rm -f build configured install |
| -make -C $(builddir) -i distclean |
| rm -rf $(builddir) |
| rm -f doc/libext2fs_*.html lib/et/com_err_*.html |
| dh_clean |
| |
| binary-indep: build |
| # no arch-independant debs. |
| |
| binary-arch: build |
| dh_testversion 0.56 # == 0.53 + fixes |
| dh_testdir -a |
| dh_testroot -a |
| dh_clean -a -k |
| dh_installdirs -a |
| |
| make -C $(builddir) install DESTDIR=$(maindir) |
| install -m 755 $(builddir)/misc/findsuper $(maindir)/sbin |
| # static libs and .h files |
| make -C $(builddir) install-libs DESTDIR=$(maindir) |
| install -m 644 $(builddir)/lib/ss/ss_err.h $(maindir)/usr/include/ss/ |
| |
| # fix and install compile_et script |
| sed s%$(topdir)/lib/et%/usr/share/comerr% \ |
| <$(builddir)/lib/et/compile_et \ |
| >$(debdir)/comerrg-dev/usr/bin/compile_et |
| chmod 755 $(debdir)/comerrg-dev/usr/bin/compile_et |
| # add support files for compile_et |
| install -m 644 lib/et/et_c.awk lib/et/et_h.awk \ |
| $(debdir)/comerrg-dev/usr/share/comerr/ |
| |
| # fix and install mk_cmds script |
| sed s%$(topdir)/lib/ss%/usr/share/ss% \ |
| <$(builddir)/lib/ss/mk_cmds \ |
| >$(debdir)/ssg-dev/usr/bin/mk_cmds |
| chmod 755 $(debdir)/ssg-dev/usr/bin/mk_cmds |
| # add support files for mk_cmds |
| install -m 644 lib/ss/ct_c.awk lib/ss/ct_c.sed \ |
| $(debdir)/ssg-dev/usr/share/ss/ |
| |
| # docs |
| mkdir -p $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg |
| ln -sf e2fslibsg $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev |
| mkdir -p $(maindir)/usr/doc/e2fslibsg |
| ln -sf e2fslibsg $(maindir)/usr/doc/e2fsprogs |
| mkdir -p $(debdir)/comerrg-dev/usr/doc/comerr$(COMERR_MAJOR)g |
| ln -sf comerr$(COMERR_MAJOR)g $(debdir)/comerrg-dev/usr/doc/comerrg-dev |
| mkdir -p $(debdir)/ssg-dev/usr/doc/ss$(SS_MAJOR)g |
| ln -sf ss$(SS_MAJOR)g $(debdir)/ssg-dev/usr/doc/ssg-dev |
| dh_installdocs -a |
| |
| # HTML docs |
| install -d $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev/html-info/ |
| install -p $(topdir)/doc/libext2fs_*.html \ |
| $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev/html-info/ |
| install -d $(debdir)/comerrg-dev/usr/doc/comerrg-dev/html-info/ |
| install -p $(topdir)/lib/et/com_err_*.html \ |
| $(debdir)/comerrg-dev/usr/doc/comerrg-dev/html-info/ |
| |
| # texinfo docs |
| install -p $(topdir)/doc/libext2fs.texinfo \ |
| $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg/libext2fs.texi |
| install -p $(topdir)/lib/et/com_err.texinfo \ |
| $(debdir)/comerrg-dev/usr/doc/comerr2g/com_err.texi |
| |
| # doc-base support |
| install -d $(debdir)/e2fslibsg-dev/usr/share/doc-base/ |
| install -p -m 644 $(debdir)/libext2fs.docbase \ |
| $(debdir)/e2fslibsg-dev/usr/share/doc-base/libext2fs |
| install -d $(debdir)/comerrg-dev/usr/share/doc-base/ |
| install -p -m 644 $(debdir)/com_err.docbase \ |
| $(debdir)/comerrg-dev/usr/share/doc-base/com_err |
| |
| # examples |
| dh_installexamples -a |
| |
| # dh_installmanpages still makes a mess as of 0.54 (see below dh_movefiles) |
| install -p $(topdir)/lib/et/compile_et.1 $(maindir)/usr/man/man1/ |
| install -d $(maindir)/usr/man/man3/ |
| install -p $(topdir)/lib/et/com_err.3 $(maindir)/usr/man/man3/ |
| ln -s e2fsck.8 $(maindir)/usr/man/man8/fsck.ext2.8 |
| ln -s mke2fs.8 $(maindir)/usr/man/man8/mkfs.ext2.8 |
| |
| dh_movefiles -a |
| # cleanup empty dirs |
| cd $(maindir) && rmdir usr/man/cat? bin lib usr/include/* usr/include \ |
| usr/info usr/lib usr/man/man3 usr/doc/e2fslibsg |
| |
| # dh_installmenu -a |
| |
| # broken + useless in 0.52 |
| # dh_installmanpages -a |
| |
| dh_undocumented -a |
| |
| dh_installchangelogs -pe2fslibsg -pcomerr$(COMERR_MAJOR)g -pss$(SS_MAJOR)g ChangeLog |
| |
| dh_strip -a |
| dh_compress -a |
| dh_fixperms -a |
| |
| echo "libcdev:Depends=$(LIBC-DEV)" > debian/comerrg-dev.substvars |
| echo "libcdev:Depends=$(LIBC-DEV)" > debian/ssg-dev.substvars |
| echo "libcdev:Depends=$(LIBC-DEV)" > debian/e2fslibsg-dev.substvars |
| |
| dh_installdeb -a |
| LD_LIBRARY_PATH=$(builddir)/lib:/lib:/usr/lib \ |
| dh_shlibdeps -a |
| dh_gencontrol -u '-isp' -pe2fsprogs -pe2fslibsg -pe2fslibsg-dev |
| dh_gencontrol -u '-isp' -pcomerr$(COMERR_MAJOR)g -pcomerrg-dev \ |
| -u '-v$(COMERR_VERSION)-$(MAIN_VERSION)' |
| dh_gencontrol -u '-isp' -pss$(SS_MAJOR)g -pssg-dev \ |
| -u '-v$(SS_VERSION)-$(MAIN_VERSION)' |
| dh_makeshlibs -a |
| # dh_du -a |
| dh_md5sums -a |
| dh_builddeb -a |
| |
| binary: binary-indep binary-arch |
| |
| .PHONY: binary binary-arch binary-indep clean checkroot |