Package: po4a Version: 0.40.1-1 Severity: normal Pursuant to our discussion in #599179, here's your new bug report as requested.
The setup for this involves modifying man-db 2.5.7-6 to use out-of-tree builds, as follows: Index: debian/changelog =================================================================== --- debian/changelog (revision 3453) +++ debian/changelog (working copy) @@ -1,3 +1,10 @@ +man-db (2.5.7-7) UNRELEASED; urgency=low + + * Use a separate build directory, eliminating the requirement to preserve + some files by hand. + + -- Colin Watson <[email protected]> Thu, 04 Nov 2010 12:00:16 +0000 + man-db (2.5.7-6) unstable; urgency=low * Move po/fr.gmo aside during build so that it gets regenerated based on Index: debian/rules =================================================================== --- debian/rules (revision 3453) +++ debian/rules (working copy) @@ -1,12 +1,14 @@ #! /usr/bin/make -f + +build = debian/build +dtmp = debian/man-db + %: - dh $@ + dh --builddirectory=$(build) $@ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -dtmp = debian/man-db - include /usr/share/hardening-includes/hardening.make # Cf. #497653 @@ -32,29 +34,17 @@ --with-sections='1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7' override_dh_auto_build: - [ ! -e po/fr.gmo ] || mv po/fr.gmo po/fr.gmo.safe - set -e; for preserve in man/po4a/po/*.pot man/po4a/po/*.po; do \ - [ ! -e "$$preserve.safe" ] || continue; \ - cp -a "$$preserve" "$$preserve.safe"; \ - done dh_auto_build - $(MAKE) -C po fr.gmo - sed -f man/fr/replace.sed -e 's,%program%,manconv,g' \ - man/fr/man1/manconv.man1 > man/fr/man1/manconv.1 + $(MAKE) -C $(build)/po fr.gmo + sed -f $(build)/man/fr/replace.sed -e 's,%program%,manconv,g' \ + $(build)/man/fr/man1/manconv.man1 \ + > $(build)/man/fr/man1/manconv.1 override_dh_auto_install: dh_auto_install - install -m 644 man/fr/man1/manconv.1 $(dtmp)/usr/share/man/fr/man1/ + install -m 644 $(build)/man/fr/man1/manconv.1 \ + $(dtmp)/usr/share/man/fr/man1/ -override_dh_auto_clean: - dh_auto_clean - set -e; for preserve in man/po4a/po/*.pot man/po4a/po/*.po; do \ - [ -e "$$preserve.safe" ] || continue; \ - mv "$$preserve.safe" "$$preserve"; \ - done - [ ! -e po/fr.gmo.safe ] || mv po/fr.gmo.safe po/fr.gmo - rm -f man/fr/man1/manconv.1 - override_dh_clean: dh_clean -Xxmalloc.c.orig I then manually built everything up to and including the src directory, by running 'debian/rules build', Ctrl-Cing after configure had finished, and then running: make -C debian/build/docs make -C debian/build/intl make -C debian/build/gnulib/lib make -C debian/build/gnulib/po make -C debian/build/lib make -C debian/build/libdb make -C debian/build/src The next thing in the build sequence would be debian/build/man. <cjwat...@sarantium ~/src/debian/man-db/trunk/man-db>$ svn st M debian M debian/changelog M debian/rules <cjwat...@sarantium ~/src/debian/man-db/trunk/man-db>$ make -C debian/build/man/po4a make: Entering directory `/home/cjwatson/src/debian/man-db/trunk/man-db/debian/build/man/po4a' make[1]: Entering directory `/home/cjwatson/src/debian/man-db/trunk/man-db/debian/build' make[1]: Leaving directory `/home/cjwatson/src/debian/man-db/trunk/man-db/debian/build' po4a --variable srcdir=../../../../man --variable builddir=../../man --keep 0 ../../../../man/po4a/po4a.cfg make: Leaving directory `/home/cjwatson/src/debian/man-db/trunk/man-db/debian/build/man/po4a' <cjwat...@sarantium ~/src/debian/man-db/trunk/man-db>$ svn st M debian M debian/changelog M debian/rules M man/po4a/po/ru.po M man/po4a/po/pl.po M man/po4a/po/id.po It would be very helpful if there were a way to force this not to happen. When I'm doing out-of-tree builds, I certainly do not want PO and POT files to be updated. In fact, in general I would prefer to be able to cause the 'make' step never to update PO and POT files, only 'make dist' or similar. I could use --translate-only, but that seems rather more tedious to use. Thanks, -- Colin Watson [[email protected]] -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

