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

Re: ORed build profiles



Hi!

On Mon, 2025-11-24 at 17:23:31 +0000, Simon McVittie wrote:
> The comma and plus sign are also quite confusing - if the
> Package-List is a context where whitespace and angle brackets can't
> be used, I would have expected something more like
> cross&!nocheck|nopython, but presumably there are syntax
> restrictions that rule out & and | in that context as well?

While trying to improve both the dpkg documentation and parsing of the
build profiles (prompted by the misunderstanding from this thread),
I stumbled again into an old problem, where we never defined the set
of valid characters to use as profile names, and where we have
colliding character set overloading from different contexts.

This had already bothered me with the current namespace separator «.»
(as listed in https://wiki.debian.org/Teams/Dpkg/TimeTravelFixes). But
with the profile property in the Package-List field, this is worse,
because «+» is a valid package name as well and nothing has prevented
its use.

I also agree that «,» and «+» are confusing and the more obvious «&»
and «|» would be way better. Unfortunately I don't think it's safe to
change the format of the current profile property, _but_ we can
version it and deprecate the older one!

So I've just implemented a new profile:v1 property deprecating the
profile (v0) one that maps using the characters you suggested, thank
you! Queued to be part of my next push targeting dpkg 1.23.0.

I still think the valid characters for profile names need to be
defined, and I'd really like to progressively change the namespace
separator from «.» to «/» as well. Will bring that up in the policy
report though.

Regards,
Guillem


Reply to: