Hi all, (Sorry for losing all contexts -- I deleted all previous mails in the thread sent to my mailbox, and could not find a way to re-download mailing list email from https://lists.debian.org/debian-devel/ . It is possible in bug reports on https://bugs.debian.org though. Now replying with empty reference.)
As stated in the policy: clean (required) This must undo any effects that the build and binary targets may have had, except that it should leave alone any output files created in the parent directory by a run of a binary target. I am looking for advice in handling these MBF reports against packages that do irreversible changes to the source files during build every time (such as updating timestamp). A broad category would be packages using Gettext + PO combination with /usr/share/gettext/po/Makefile.in.in involved / embedded, where .po file that contains translation is updated every time, causing dpkg- source to complain the diff and quit when building twoce in a row. Take https://tracker.debian.org/pkg/ibus-array as an example. The upstream project does not include .pot template file in the source code. The logic of Makefile.in.in is to call msgmerge to update po translation file with generated .pot file when .pot file is not present. This causes at least the following diff after build: --- ibus-array-0.2.2.orig/po/zh_TW.po +++ ibus-array-0.2.2/po/zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ibus-array 0.2.2\n" "Report-Msgid-Bugs-To: https://github.com/lexical/ibus-array/issues\n" -"POT-Creation-Date: 2019-12-10 22:09+0800\n" +"POT-Creation-Date: 2023-08-15 09:07-0400\n" "PO-Revision-Date: 2019-12-10 22:12+0800\n" "Last-Translator: Anthony Fok <f...@debian.org>\n" "Language-Team: Chinese (traditional)\n" ... which would raise error on building twice in a row: dpkg-source: info: local changes detected, the modified files are: ibus-array/po/zh_TW.po dpkg-source: info: Hint: make sure the version in debian/changelog matches the unpacked source tree dpkg-source: info: you can integrate the local changes with dpkg-source -- commit dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/ibus-array_0.2.2-2.diff.TnL2Yp dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 2 I am looking for the advice to implement an elegant solution. What I can think of now is to persuade upstream to embed a copy of generated .pot template file in source code, which does not sound reasonable. Meanwhile since Makefile.in.in is somehow widely used, this issue likely already had impact on packages using gettext to handle translation. Thanks, Boyuan Yang
signature.asc
Description: This is a digitally signed message part