Rainer,

On 11/9/25 12:35 PM, Rainer Jung wrote:
Hi there,

we now use gpg for two features:

a) signing release artefacts in the release target

b) checking signatures in the verify-release target

Now

a) gets run, whenever gpg.exec points to an existing file. If so, it prompts interactively for a password to a siging key and uses that for the signing. Since I want to run the release target but not to do the signing, I used to set gpg.exec to a non-existing file.

Oh, right. This is why I set gpg.exec in build.properties.release: so that signing would be enabled for a release-build by someone who was verifying the release instead of preparing the release.

It's a bit of circular-reasoning, and I'm glad you are bringing this up, Rainer, because I'd like to straighten it out, too.

b) gets run unconditionally and is a feature I would like to use. b) requires gpg.exec to point to an existing file.

IMHO that combination, use b) but not a), might be frequent.

I propose to add another property, gpg.sign.files, which controls, whether a) is used. Its default will be true, does unchanged behavior and the existence check for gpg.exec will be left in place. Setting it to false and gpg.exec to the correct gpg path, allows to run b) without a).

I have a patch ready and if there are no objections, I will apply it tomorrow and add a sentence to BUILDING.txt.

Though I haven't seen the patch, I'm in favor of the idea so +1 for commit in main and maybe even 11.0.x but I'd like to take a look before back-porting to all branches.

It's easy for the release managers to change whatever is necessary to perform the release. I'd like to make sure that someone else building from a released source-bundle will be able to verify the gpg signatures as long as the path to the gpg binary is known (or discoverable).

-chris


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to