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

Bug#521810: debian-policy: Document user defined fields starting with X-



On Mon, 30 Mar 2009, Manoj Srivastava wrote:
> On Mon, Mar 30 2009, Nils Rennebarth wrote:
> > Usually, unknown fields are iggnored by the debian packaging
> > system. To avoid conflicts of user defined fields with field that may
> > be used by debian in the future, we suggest to use field names
> > starting with X- (so you need to put X[BCS]-X-foo into the control
> > file) which are guaranteed to never conflict with future official
> 
>         Umm, what? If Debian wants to use some fields, it should not use
>  fields with X-; since we are the standards maker for the control
>  file. If you add another X- fied, will we, in a few months, ask people
>  to add X-X-X- so that Debian may use X-X- in the future? Where does it
>  stop?

It's not meant for Debian, it's meant for "users" as the title of the
section suggest it. Maybe this has no place in policy but it's similar to
saying "use /usr/local" for custom apps, here we want to say use "X-" for
custom control fields.

> > fields. That has the added bonus that dpkg-deb will not issue warnings
> > about user defined fields at package build time.
> 
>         If a warning about user defined fields in dpkg-deb is not
>  desirable, should we not instead fix dpkg-deb to only emit such
>  warnings in verbose mode? Adding another X- to shut off warnings as a
>  side effect seems a hack.

The "X[BSC]-" is stripped by dpkg-gencontrol (and dpkg-source/dpkg-genchanges)
so dpkg-deb only see what's after. dpkg-deb should complain by default when it
encounters unkwown fields. It could have been a typo. However a field
starting with "X-" is not a typo, it's for sure a user-defined field.

This is by design for as long as those tools have ever existed. So we
don't want multiple level of "X-" in reality.

On Mon, 30 Mar 2009, Russ Allbery wrote:
> Nils Rennebarth <nils.rennebarth@funkwerk-ec.com> writes:
> 
> > Usually, unknown fields are iggnored by the debian packaging system. To
> > avoid conflicts of user defined fields with field that may be used by
> > debian in the future, we suggest to use field names starting with X- (so
> > you need to put X[BCS]-X-foo into the control file) which are guaranteed
> > to never conflict with future official fields.
> 
> Is this because the X in front of [BCS] is stripped off when the field is
> copied into the resulting binary or source package?

Yes.

> If so, that seems like a bad design; I wonder if we can just fix that instead.

Unknown fields are ignored (and warned) unless you prefix them with some
X[BCS] to precise your intent (you indicate that those are unknown fields
that you want). Keeping the X- prefix when copying fields would mean we
could never invent new fields without forcing a mass rename of fields once
they are official. Or we could not add official fields if we use an old
dpkg-dev.

It might be sub-optimal design, but I'm reluctant to change a behaviour 
that is in place for 15 years.

Cheers,
-- 
Raphaël Hertzog

Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny :
http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/



Reply to: