Hi!

On Mon, 2025-04-21 at 22:00:09 +0100, Adam D. Barratt wrote:
> On Mon, 2025-04-21 at 13:39 -0600, Gunnar Wolf wrote:
> > I am writing to you to help us decide whether it is pertinent to do a
> > move right now, or whether we should wait for you to implement
> > anything.
> > 
> > Bug #1101418 (for which you have been Cc:d already) requests renaming
> > the Debian keyrings from *.gpg to *.pgp
> [...]
> > Guillem kindly prepared some patches to do this, and after some
> > discussion, added the creation of some symlinks. The result of the
> > patch in question will be that the keyrings published in
> > kaufmann.debian.org will be renamed from *.gpg to *.pgp, and that
> > symlinks will be created preserving the original names; in the
> > future, we might work towards removing the ymlinks.
> > 
> > We need input from DSA to make sure we can perform this change. some
> > specific points we discussed on IRC are:
> > 
> > - ftp-master processing
> > - Email address to db.debian.org
> > - vote.debian.org
> > - Validation of mails sent to signed-only lists
> > 
> > But, of course, other subsystems might also need it. We believe
> > everything will work transparently if rsync is properly set to mirror
> > symlinks.
> 
> This is primarily my personal thoughts rather than an official DSA ack.

Thanks for the context on how this all ties together! I tried to look
into this, but having no access to the systems involved made it a bit
hard to follow what stuff was doing what or when, etc.

> To start from the beginning, as it were, the method by which debian.org
> systems receive updated keyrings is userdir-ldap. The script which
> pulls the current active keyrings from keyring.d.o to db.d.o (so that
> they can be deployed by ud-ldap) is
> https://salsa.debian.org/dsa-team/mirror/dsa-misc/-/blob/master/scripts/sync-keyring?ref_type=heads
> 
> That script runs from cron every 15 minutes on the db.d.o host.
> 
> This appears to be the primary point at which rsync's behaviour with
> respect to symlinks is relevant. The various copy steps each use
> rsync's "-a" option, so should preserve the symlinks.

Ok, that sounds good then. :)

> The final stage of the sync - to "keyring-final" - copies only the
> files listed in sha512sums.txt, so you would need to ensure that both
> the .gpg and .pgp files / symlinks are included there.

Ah! Ok, I had changed the sha512sums.txt call to only list the *.pgp,
so that would break stuff. Attached an amended patch (the last one in
the previous series), to restore doing the digest on all files under
«output/keyrings/*» as was being done before.

> userdir-ldap maintains its own list of keyrings which are deployed to
> those hosts requesting them (e.g. ftp-master). While the keyrings are
> copied from db.d.o to each host via rsync, the preparation of the rsync
> source area uses Python's shutil.copy(), so AFAICS would follow the new
> symlinks and continue to deploy *.gpg to var/lib/misc/thishost/ on
> relevant hosts as real files. That should mean that things would
> continue to work, but does mean that the rename would *not* propagate
> to client hosts.

Ah, then this would seem to be safe to deploy now, and the file types
problem could be fixed later on. I have had several changes for
userdir-ldap pending submission, but not this one about shutil.copy(),
thanks. Will see how to improve that, and then send patches for
userdir-ldap to DSA (I think I already sent out patches for
userdir-ldap-cgi).

I think though, the other related patch I sent for dsa-puppet, might
self-heal the symlinks?

Also, (I'm not sure whether I mentioned this before, besides Gunnar),
something I noticed while trying to make sense how this all works was
that:

  * At least on usper.debian.org, the
    /srv/keyring.debian.org/keyrings/ directory contains a non-symlink
    debian-maintainer.gpg file (missing final «s»).

  * On keyring.debian.org there's an extra-keys.pgp leftover(?) file,
    perhaps as part of some old transition?

    $ rsync keyring.debian.org::keyrings/keyrings/
    drwxrwsr-x          4,096 2025/03/23 20:19:28 .
    -rw-rw-r--     30,705,085 2025/03/23 20:18:27 debian-keyring.gpg
    -rw-rw-r--      2,950,971 2025/03/23 20:18:27 debian-maintainers.gpg
    -rw-rw-r--      1,076,680 2025/03/23 20:18:27 debian-nonupload.gpg
    -rw-rw-r--         26,383 2025/03/23 20:18:27 debian-role-keys.gpg
    -rw-rw-r--      2,722,836 2025/03/23 20:18:27 emeritus-keyring.gpg
    -rw-rw-r--         25,015 2018/05/21 19:22:45 extra-keys.pgp

Thanks,
Guillem

Attachment: bines2W5hcddj.bin
Description: application/xz

Reply via email to