We are getting requests to set up per package email aliases so that sending to PACKAGENAME @packages.fedoraproject.org will be sent to all comaintainers and people watching a package.
To do this, we need a separate domain from the one where contributors get their aliases otherwise the usernames and package names may conflict.
Once we have that I can write a script to pull the information from the packagedb similar to how the username aliases are pulled from the account system.
This is a good and interesting idea, how will we handle the aliases once the domain is setup?
The aliases file would get written by a cron job on bastion. I think that we will want to integrate this with export-aliases.py (from fedora-accounts) for now for performance reasons. The packagedb doesn't know about email addresses directly; it knows about userids (will change to usernames for FAS2). So we'd have to query the FAS for every user we want an email address for.
export-aliases.py already knows about most addresses because it is pulling them from the FAS db to construct the username @fp.o aliases. So export-aliases.py will query a packagedb URL for the current list of package => usernames. Then export-aliases.py can turn that into an aliases file for packages.fedoraproject.org using the username => email addresses it already has and querying the db for the few other addresses it needs.
We can also redirect web traffic from packages.fedoraproject.org to https://admin.fedoraproject.org/pkgdb to satisfy [https://hosted.fedoraproject.org/projects/packagedb/ticket/102 this request] or redirect it to repoview for a more end-user friendly version.
Per package email addresses have been implemented. Thanks to skvidal! The aliases use pkgname-owner @fedoraproject.org so they don't need their own domain.
Do we still want packages.fedoraproject.org as a domain to redirect to pkgdb?
Naw, I think this one is all set. If we do decide to do something different we can open another ticket.
to comment on this ticket.
Copyright © 2014-2017 Red Hat
3.10.1 — Documentation