Contents
Reassigning packages in Maintdb
A user should normally take or release his/her own packages using mgarepo maintdb. But if a user has dropped off the face of the earth, or has many packages to unassign, a sysadmin can do it instead.
Validate the request
First, see this discussion about unresponsive package maintainers and validate the request. If the packager is no longer active, the login should probably also be removed from mga-packagers (and any other active groups) and added to mga-alumni (see the separate procedure for doing that) in addition to dropping packages.
Back up the maintdb
The normal CLI front-end to maintdb only allows access by the user gaining or dropping maintenance and has safety checks. A mass change means manipulating the database directly, which has the potential for causing massive damage. Before making any change, download a current copy of the maintdb from https://pkgsubmit.mageia.org/data/maintdb.txt so you have something to work with if it becomes necessary to restore it later.
Update the Maintdb
To unassign a package on behalf of another user, run this command on the pkgsubmit host (currently duvel):
sudo -u maintdb /usr/local/sbin/maintdb OLDUSER set PACKAGE nobody
where PACKAGE is the package name, OLDUSER is the user who will be removed and nobody is the user to which the package will be assigned.
The raw (read: dangerous) alternative with fewer checks is to run this instead:
sudo -u maintdb sh -c 'cat "/var/lib/maintdb/db/$1" && echo "$2" >"/var/lib/maintdb/db/$1"' x PACKAGE nobody
The previous maintainer's ID will be displayed when done. If the package name is invalid, an error message will be displayed and no reassignment will take place.