unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#66414: GNU ELPA: Require signed tags to release new package versions
@ 2023-10-09  7:15 Stefan Kangas
  2023-10-09  8:32 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Stefan Kangas @ 2023-10-09  7:15 UTC (permalink / raw)
  To: 66414; +Cc: monnier, philipk, yantar92

Severity: wishlist

I propose optionally releasing a new version of packages on
NonGNU/GNU ELPA only if there is a valid PGP signature.  We can't make
it mandatory, at the very least not initially, because it would break
too many existing workflows.

The standard feature to do that in git would be a signed git tag.
However, (Non-)GNU ELPA currently rebuilds package tarballs every time
the "Version" comment header is updated, while git tags are ignored.

Forwarded from

    https://lists.gnu.org/r/emacs-devel/2023-02/msg00120.html





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-09  7:15 bug#66414: GNU ELPA: Require signed tags to release new package versions Stefan Kangas
@ 2023-10-09  8:32 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-10-09  8:37   ` Stefan Kangas
  2023-10-09  9:01 ` Philip Kaludercic
  2023-10-09 21:52 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2 siblings, 1 reply; 12+ messages in thread
From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-10-09  8:32 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 66414, philipk, yantar92, monnier

Hi,

Stefan Kangas <stefankangas@gmail.com> writes:

> Severity: wishlist
>
> I propose optionally releasing a new version of packages on
> NonGNU/GNU ELPA only if there is a valid PGP signature.  We can't make
> it mandatory, at the very least not initially, because it would break
> too many existing workflows.
>

Do I understand correctly that under this proposal package
authors/maintainers would need to opt-in to such signature validation?

Another option that might be worth considering is to continue releasing
packages, with or without a valid signature, and instead to indicate the
absence or invalidity of a signature in the packages list and in other
package.el commands.  This has the benefit of requiring nothing from
package maintainers while creating a clear incentive to add those
signatures, and it would also give users the chance to employ their
personal judgment on case-by-case basis.  OTOH There are many cases to
consider, such as what happens when a user wants to upgrade a signed
package but the newer version is unsigned.

> The standard feature to do that in git would be a signed git tag.
> However, (Non-)GNU ELPA currently rebuilds package tarballs every time
> the "Version" comment header is updated, while git tags are ignored.
>
> Forwarded from
>
>     https://lists.gnu.org/r/emacs-devel/2023-02/msg00120.html





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-09  8:32 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-10-09  8:37   ` Stefan Kangas
  0 siblings, 0 replies; 12+ messages in thread
From: Stefan Kangas @ 2023-10-09  8:37 UTC (permalink / raw)
  To: Eshel Yaron; +Cc: 66414, philipk, yantar92, monnier

Eshel Yaron <me@eshelyaron.com> writes:

> Do I understand correctly that under this proposal package
> authors/maintainers would need to opt-in to such signature validation?

Yes.

> Another option that might be worth considering is to continue releasing
> packages, with or without a valid signature, and instead to indicate the
> absence or invalidity of a signature in the packages list and in other
> package.el commands.

Yes, something like that is what I had in mind.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-09  7:15 bug#66414: GNU ELPA: Require signed tags to release new package versions Stefan Kangas
  2023-10-09  8:32 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-10-09  9:01 ` Philip Kaludercic
  2023-10-09  9:30   ` Stefan Kangas
  2023-10-09 21:52 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2 siblings, 1 reply; 12+ messages in thread
From: Philip Kaludercic @ 2023-10-09  9:01 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 66414, yantar92, monnier

Stefan Kangas <stefankangas@gmail.com> writes:

> Severity: wishlist
>
> I propose optionally releasing a new version of packages on
> NonGNU/GNU ELPA only if there is a valid PGP signature.  We can't make
> it mandatory, at the very least not initially, because it would break
> too many existing workflows.

I am not sure what the context here is, so sorry for the potentially
stupid question, but what PGP signatures are we talking about?  Are you
suggesting that the commit should be signed?

> The standard feature to do that in git would be a signed git tag.
> However, (Non-)GNU ELPA currently rebuilds package tarballs every time
> the "Version" comment header is updated, while git tags are ignored.
>
> Forwarded from
>
>     https://lists.gnu.org/r/emacs-devel/2023-02/msg00120.html





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-09  9:01 ` Philip Kaludercic
@ 2023-10-09  9:30   ` Stefan Kangas
  2023-10-09  9:39     ` Philip Kaludercic
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Kangas @ 2023-10-09  9:30 UTC (permalink / raw)
  To: Philip Kaludercic; +Cc: 66414, yantar92, monnier

Philip Kaludercic <philipk@posteo.net> writes:

> Stefan Kangas <stefankangas@gmail.com> writes:
>
>> Severity: wishlist
>>
>> I propose optionally releasing a new version of packages on
>> NonGNU/GNU ELPA only if there is a valid PGP signature.  We can't make
>> it mandatory, at the very least not initially, because it would break
>> too many existing workflows.
>
> I am not sure what the context here is, so sorry for the potentially
> stupid question, but what PGP signatures are we talking about?  Are you
> suggesting that the commit should be signed?

Yes, see the very next sentence:

>> The standard feature to do that in git would be a signed git tag.

Sorry for not being more clear.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-09  9:30   ` Stefan Kangas
@ 2023-10-09  9:39     ` Philip Kaludercic
  2023-10-09  9:44       ` Stefan Kangas
  0 siblings, 1 reply; 12+ messages in thread
From: Philip Kaludercic @ 2023-10-09  9:39 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 66414, yantar92, monnier

Stefan Kangas <stefankangas@gmail.com> writes:

> Philip Kaludercic <philipk@posteo.net> writes:
>
>> Stefan Kangas <stefankangas@gmail.com> writes:
>>
>>> Severity: wishlist
>>>
>>> I propose optionally releasing a new version of packages on
>>> NonGNU/GNU ELPA only if there is a valid PGP signature.  We can't make
>>> it mandatory, at the very least not initially, because it would break
>>> too many existing workflows.
>>
>> I am not sure what the context here is, so sorry for the potentially
>> stupid question, but what PGP signatures are we talking about?  Are you
>> suggesting that the commit should be signed?
>
> Yes, see the very next sentence:
>
>>> The standard feature to do that in git would be a signed git tag.
>
> Sorry for not being more clear.

No, my bad.  I didn't know that git tags could be signed, so I misread
the sentence.

One issue might be that elpa-admin.el doesn't really do anything with
git tags, though I guess it should be possible to verify a remote git
tag?  An alternative might be to check for signed git commits, at the
very least for the commits that bump the version tag.  That way all the
could be kept in elpa.git.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-09  9:39     ` Philip Kaludercic
@ 2023-10-09  9:44       ` Stefan Kangas
  0 siblings, 0 replies; 12+ messages in thread
From: Stefan Kangas @ 2023-10-09  9:44 UTC (permalink / raw)
  To: Philip Kaludercic; +Cc: 66414, yantar92, monnier

Philip Kaludercic <philipk@posteo.net> writes:

> No, my bad.  I didn't know that git tags could be signed, so I misread
> the sentence.
>
> One issue might be that elpa-admin.el doesn't really do anything with
> git tags, though I guess it should be possible to verify a remote git
> tag?  An alternative might be to check for signed git commits, at the
> very least for the commits that bump the version tag.  That way all the
> could be kept in elpa.git.

Yes, I think a signed commit might work fine for this purpose too.  It
would be a more minimal change, if nothing else.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-09  7:15 bug#66414: GNU ELPA: Require signed tags to release new package versions Stefan Kangas
  2023-10-09  8:32 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-10-09  9:01 ` Philip Kaludercic
@ 2023-10-09 21:52 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-10-10 11:28   ` Stefan Kangas
  2 siblings, 1 reply; 12+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-10-09 21:52 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 66414, philipk, yantar92

> I propose optionally releasing a new version of packages on
> NonGNU/GNU ELPA only if there is a valid PGP signature.  We can't make
> it mandatory, at the very least not initially, because it would break
> too many existing workflows.

No objection on my side.  The first step would presumably be to change
the synchronization scripts (the ones run by `elpasync` on
`elpa.gnu.org`) so as to propagate upstream tags to `elpa.git`.

The (Non)GNU ELPA tarballs are built from `elpa.git` and `nongnu.git`,
not from the upstream repositories, and currently those do not
contain upstream tags.

And since those repos contain many packages, the upstream tags need to
be renamed or moved to a different namespace to avoid conflicts between
tag names in different packages.

After that, we need to add the feature to be able to build releases from
tags rather than from "the commit where `Version:` was changed".

And after that, we can add a feature that checks that the tags are
signed (and that the signature is valid and made by the appropriate
persons/keys).


        Stefan






^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-09 21:52 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-10-10 11:28   ` Stefan Kangas
  2023-10-10 13:07     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Kangas @ 2023-10-10 11:28 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 66414, philipk, yantar92

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> The (Non)GNU ELPA tarballs are built from `elpa.git` and `nongnu.git`,
> not from the upstream repositories, and currently those do not
> contain upstream tags.
>
> And since those repos contain many packages, the upstream tags need to
> be renamed or moved to a different namespace to avoid conflicts between
> tag names in different packages.

I'm starting to wonder if Philip's idea to use signed git commits might
work better for our purposes.

Would signed tags give us something that signed commits wouldn't?





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-10 11:28   ` Stefan Kangas
@ 2023-10-10 13:07     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-10-10 13:18       ` Stefan Kangas
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-10-10 13:07 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 66414, philipk, yantar92

> I'm starting to wonder if Philip's idea to use signed git commits might
> work better for our purposes.

Why choose?


        Stefan






^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-10 13:07     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-10-10 13:18       ` Stefan Kangas
  2023-10-10 13:24         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Kangas @ 2023-10-10 13:18 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 66414, philipk, yantar92

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> I'm starting to wonder if Philip's idea to use signed git commits might
>> work better for our purposes.
>
> Why choose?

I see no fundamental reason why we should need to choose, but my
assumption was that supporting only one or the other would be less work.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#66414: GNU ELPA: Require signed tags to release new package versions
  2023-10-10 13:18       ` Stefan Kangas
@ 2023-10-10 13:24         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 12+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-10-10 13:24 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 66414, philipk, yantar92

> I see no fundamental reason why we should need to choose, but my
> assumption was that supporting only one or the other would be less work.

True.  But there are regular requests to support releasing versions from
tags rather than from commits (regardless of signing), so I think we
will eventually support both.


        Stefan






^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-10-10 13:24 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-09  7:15 bug#66414: GNU ELPA: Require signed tags to release new package versions Stefan Kangas
2023-10-09  8:32 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-09  8:37   ` Stefan Kangas
2023-10-09  9:01 ` Philip Kaludercic
2023-10-09  9:30   ` Stefan Kangas
2023-10-09  9:39     ` Philip Kaludercic
2023-10-09  9:44       ` Stefan Kangas
2023-10-09 21:52 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-10 11:28   ` Stefan Kangas
2023-10-10 13:07     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-10 13:18       ` Stefan Kangas
2023-10-10 13:24         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).