Hi Niels, On 07.04.2011 18:52, Niels Thykier wrote: > Hi > > I have the feeling you have not read #615132, which is basically asking > for a check against this particular usage of substvars.
To my opinion, emitting a warning is fine. Jakub says that "use substitution variables in the source is always a packaging bug", however the documentation concerning "debian/control" file keeps silence concerning the fields which are not allowed to be substituted: http://www.debian.org/doc/debian-policy/ch-source.html#s-substvars > This most likely happens because dpkg command (exact name eludes me at > the moment, possibly dpkg-source or dpkg-genchanges) building the dsc > does not include the Maintainer field. You are right here: the generated .dsc file does not contain "Maintainer" field at all, and "dpkg-genchanges" generated the .changes file with "Maintainer" not substituted: === cut === Maintainer: ${common:Maintainer} === cut === I have explicitly passed the substvars file to use for dpkg-source / dpkg-genchanges like that: debuild -sa -us -uc --changes-option="-Tdebian/substvars" but it does not help: === console === debian/rules override_dh_gencontrol make[1]: Entering directory `/root/tmp/build/osra-1.3.8' dh_gencontrol -- -Tdebian/substvars ... dpkg-genchanges -sa -Tdebian/substvars >../osra_1.3.8-1_i386.changes dpkg-genchanges: including full source code in upload dpkg-source -Tdebian/substvars --after-build osra-1.3.8 dpkg-buildpackage: full upload (original source is included) Now running lintian... E: osra source: no-maintainer-field ... === console === As from the logs I also override dh_gencontrol, which by default is passing package-specific substvars file: dh_gencontrol -Tdebian/osra.substvars while I want to use one substvars for all packages. As I mentioned, all "DEBIAN/control" files in the .deb packages look OK. Does it look like a bug for dpkg-source / dpkg-genchanges? I have found this bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=589609 saying that it's only dpkg-gencontrol (and not dpkg-source / dpkg-genchanges) that performs the substitution. But still "-T" option is there... I've got a bad feeling :) > I assume it does this if the Maintainer field is empty, which is very > likely as the debian/substvars file is usually removed by the clean > target (e.g. by dh_clean) and is therefore not present when the source > package is created. No, "debian/substvars" is not removed (at least explicitly by me) at dh_clean step and it stays in "debian/" after the build. > Note we also have a tag for keeping the debian/substvars file in the > source package because doing so may lead to complications/weird results. Could you provide more information on that (which lintian option / tag?) > Obviously we cannot satisfy this and #615132 at the same time. > Personally I am more inclined to satisfy #615132, since these > substitutions can be rather non-trivial and (as you experienced) lead to > some "interesting" issues when done in source fields. I can agree with you. Does it mean, that it is only "Maintainer" field which is problematic? What if I want to substitute "Homepage" or "Vcs-Browser" or "Version" field? Thanks. -- With best regards, Dmitry -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org