On Sun, 27 Jul 2008 13:07:24 -0700
Toshio Kuratomi <a.badger(a)gmail.com> wrote:
Hi guys,
Last week Seth implemented email aliases for the people who should be
notified of changes to packages. I used this new functionality to
have getnotifylist, which looks up who to notify on cvs commits, stop
querying the pkgdb directly (a slow operation with multiple points
where it could fail) and instead just construct the alias from the
packagename.
This works well except for one case: When a new package is created,
the alias for the package does not yet exist. This means that when
someone makes the initial branch for a package they get a bounce
message because we were unable to send to the non-existent email
address.
I think the solution is going to have to be that the pkgdb has to do
the branching. Or, at least, the pkgdb is going to need to know
which packages need branching and cvs-int will have to query for
those with a cron job and perform the action. That way the new
package can be added to the pkgdb along with a branch request. The
packagedb will record the new package and add the need for cvs
branches to a queue. The packagedb will take the branch request
through various stages until it is done.
On advantage to this approach is that it might get us further toward
allowing people to request new package adds and branches directly in
packagedb, only needing cvsadmin approval, instead of the manual
process now with bugzilla cvs requests.
Here's my idea for stages:
1) Request for new package with new branch is added to the packagedb.
2) Request is marked approved by an admin
3) Packagedb create the record for the package
4) Packagedb waits for the email alias to be created (currently, the
packagedb doesn't know for sure that the alias has been created...
we'll just wait an appropriate length of time. If this proves
problematic we can create a URL that records that aliases has been
created that is only authorized to certain users.)
5) Packagedb records that the package is ready to be branched.
6) cvs-int has a cron job that queries for packages to branch,
branches them, and then records that they have been created.
If anyone can think of a better way to solve this, please let me
know. I'll start work on this about the middle of next week.
Well, the information is in several places, it's just a matter of which
one is the easiest/most reliable/least blocking way to get it.
The above sounds ok to me, as long as it also gets us closer to a more
automated way of processing new packages / new branches.
-Toshio
kevin