Bug#621006: lintian: Variable substitution in "Maintainer" field in causes warnings and "no-maintainer-field" error
Dmitry Katsubo <dma_k@mail.ru> writes:
> 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
The problem isn't the field, it's that substitutions only work in binary
packages, not source packages or *.changes files:
When dpkg-gencontrol generates binary package control files
(DEBIAN/control), it performs variable substitutions on its output
just before writing it.
The first part there is significant. Nothing else does variable
substitution so far as I know.
> 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:
dpkg-genchanges only supports a substvars file for one specific purpose,
namely setting the Format field:
-Tsubstvarsfile
Read substitution variables in substvarsfile; the default is
debian/substvars. No variable substitution is done on any of
the fields that are output, however the special variable Format
will override the field of the same name. This option can be
used multiple times to read substitution variables from multiple
files.
> 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.
Yup, that's correct.
> But still "-T" option is there... I've got a bad feeling :)
I'm not sure why dpkg-source accepts it; I don't think it uses it.
> 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?
I'm pretty sure you can't.
--
Russ Allbery (rra@debian.org) <http://www.eyrie.org/~eagle/>
Reply to: