Re: Using 'Source:' in setup.ini (was Re: [PATCH setup v2] add --build-depend option)

John Haugabook via Cygwin-apps <[email protected]> Tue, 7 Apr 2026 10:39:30 -0400
Newsgroups gmane.os.cygwin.applications
Message-ID <[email protected]>

> On Apr 5, 2026, at 8:18=E2=80=AFAM, Jon Turney via Cygwin-apps <cygwin-app=
[email protected]> wrote:
>=20
> =EF=BB=BFOn 08/03/2026 13:36, ASSI via Cygwin-apps wrote:
>> Jon Turney via Cygwin-apps writes:
>> [=E2=80=A6]
>>> This syntax has been accepted by setup for a long time, but we've
>>> never made the switch to using it.
>>>=20
>>> Last time I raised this, there were some vague concerns, I think
>>> around ensuring other tools could extract the data they want from the
>>> manifest in a single-pass (which is not guaranteed, but perhaps could
>>> be by ordering packages correctly).
>> Compatibility with existing tooling is always a concern and there will
>> unavoidably be some that just don't understand this syntax until they
>> get updated.  But I think emitting the source package before any of its
>> productions should resolve any dependency problems in single-pass
>> parsers (like ordering the versions in a certain way did for another
>> such problem).  A transition period where both forms are emitted might
>> be advisable as well.
>=20
> Sigh, yes, I suppose so...
>=20
> I guess I need to go and find out what setup does when both 'source' and '=
srcpkg' lines are present...
>=20
>> However what bugs me about his particular syntax is using the same word
>> for different things, just distinguished by capital and lowercase
>> initial (and I'm used to that sort of thing=E2=80=A6).  Could we use "src=
pkg"
>> instead?  Given that the whole thing wasn't used until now we could
>> still change it?  In fact given the current description of the "Source:"
>> key we probably should rename the key if we are going to have a
>> transition period with both items present.
> Yeah, having two different tokens which only differ in case is not good.
>=20
> diff --git a/inilex.ll b/inilex.ll
> index 8ee92935..40f8c5ba 100644
> --- a/inilex.ll
> +++ b/inilex.ll
> @@ -118,7 +118,7 @@ B64 [a-zA-Z0-9_-]
> "sdesc:"               return SDESC;
> "ldesc:"               return LDESC;
> "message:"             return MESSAGE;
> -"Source:"              return SOURCEPACKAGE;
> +"srcpkg:"|"Source:"    return SOURCEPACKAGE;
> [bB]"uild-"[dD]"epends:"       return BUILDDEPENDS;
> "replace-versions:"    return REPLACE_VERSIONS;

Any major changes anticipated; when --build-depends works will it still as i=
t does now?=