[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: