summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-sysadm/2011-March/003022.html
diff options
context:
space:
mode:
Diffstat (limited to 'zarb-ml/mageia-sysadm/2011-March/003022.html')
-rw-r--r--zarb-ml/mageia-sysadm/2011-March/003022.html210
1 files changed, 210 insertions, 0 deletions
diff --git a/zarb-ml/mageia-sysadm/2011-March/003022.html b/zarb-ml/mageia-sysadm/2011-March/003022.html
new file mode 100644
index 000000000..f48064b61
--- /dev/null
+++ b/zarb-ml/mageia-sysadm/2011-March/003022.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [Mageia-sysadm] Proposal for maintainers database API
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:mageia-sysadm%40mageia.org?Subject=Re%3A%20%5BMageia-sysadm%5D%20Proposal%20for%20maintainers%20database%20API&In-Reply-To=%3C20110308025311.GC21938%40mars-attacks.org%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="003027.html">
+ <LINK REL="Next" HREF="003023.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[Mageia-sysadm] Proposal for maintainers database API</H1>
+ <B>nicolas vigier</B>
+ <A HREF="mailto:mageia-sysadm%40mageia.org?Subject=Re%3A%20%5BMageia-sysadm%5D%20Proposal%20for%20maintainers%20database%20API&In-Reply-To=%3C20110308025311.GC21938%40mars-attacks.org%3E"
+ TITLE="[Mageia-sysadm] Proposal for maintainers database API">boklm at mars-attacks.org
+ </A><BR>
+ <I>Tue Mar 8 03:53:11 CET 2011</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="003027.html">[Mageia-sysadm] Alamut memory problem
+</A></li>
+ <LI>Next message: <A HREF="003023.html">[Mageia-sysadm] svn commits ML
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#3022">[ date ]</a>
+ <a href="thread.html#3022">[ thread ]</a>
+ <a href="subject.html#3022">[ subject ]</a>
+ <a href="author.html#3022">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>
+Here is a proposal for an API that can be used on the maintainers
+database, with the list of URLs and what they should do :
+
+***
+An html page with the list of all packages, and their maintainer :
+<A HREF="http://maintdb.mageia.org/packages.html">http://maintdb.mageia.org/packages.html</A>
+As we have many packages, the page will be long, so maybe we want to
+split the list by first letter of package name :
+<A HREF="http://maintdb.mageia.org/packages_a.html">http://maintdb.mageia.org/packages_a.html</A>
+<A HREF="http://maintdb.mageia.org/packages_b.html">http://maintdb.mageia.org/packages_b.html</A>
+<A HREF="http://maintdb.mageia.org/packages_c.html">http://maintdb.mageia.org/packages_c.html</A>
+...
+The list of all packages and their maintainers, in text format :
+<A HREF="http://maintdb.mageia.org/packages.txt">http://maintdb.mageia.org/packages.txt</A>
+With the output like this :
+package1:maintainerlogin1
+package2:maintainerlogin2
+package3:maintainerlogin3
+...
+
+***
+An html page to show the maintainer of one package (with
+[packagename] replaced with the name of a package) :
+<A HREF="http://maintdb.mageia.org/packages/[packagename">http://maintdb.mageia.org/packages/[packagename</A>].html
+The same in text format :
+<A HREF="http://maintdb.mageia.org/packages/[packagename">http://maintdb.mageia.org/packages/[packagename</A>].txt
+With output like this (only one line):
+packagename:maintainerlogin
+If the package is unmaintained, it appears like this :
+packagename:nobody
+If the package does not exist, an empty file is returned.
+
+***
+The list of maintainers (all maintainers who maintain at least one
+package) :
+<A HREF="http://maintdb.mageia.org/people.html">http://maintdb.mageia.org/people.html</A>
+
+***
+The list of packages maintained by someone (with [loginname] replaced by
+a login) :
+<A HREF="http://maintdb.mageia.org/people/[loginname">http://maintdb.mageia.org/people/[loginname</A>].html
+And the same in text format :
+<A HREF="http://maintdb.mageia.org/people/[loginname">http://maintdb.mageia.org/people/[loginname</A>].txt
+With the same format for output :
+package1:loginname
+package2:loginname
+package3:loginname
+...
+If the login does not exist, an empty file is returned.
+
+***
+The list of unmaintained packages :
+<A HREF="http://maintdb.mageia.org/people/nobody.html">http://maintdb.mageia.org/people/nobody.html</A>
+And the same in text format :
+<A HREF="http://maintdb.mageia.org/people/nobody.txt">http://maintdb.mageia.org/people/nobody.txt</A>
+With this output :
+package1:nobody
+package2:nobody
+package3:nobody
+...
+
+***
+The URL to add a package, used by the buildsystem when a package is
+uploaded on the repository :
+<A HREF="https://maintdb.mageia.org/admin/setnewpackage">https://maintdb.mageia.org/admin/setnewpackage</A>
+Protected with basic http authentication (with a login/password that was
+set in maintdb or apache configuration).
+Accessed with a POST request and the following two arguments :
+package: [packagename]
+maintainer: [maintainername]
+If the package already exists in the database, it is not updated.
+
+***
+The same as the previous URL, but the package maintainer is updated when
+the package already exists in the database :
+<A HREF="https://maintdb.mageia.org/admin/setpackage">https://maintdb.mageia.org/admin/setpackage</A>
+
+---------
+
+Maintainers also need to be able to drop maintainership of their
+packages, and take maintainership of unmaintained packages. For doing
+this, I think there is two solutions :
+
+1) On the html pages, maintainers are able to authenticate using
+ their login and ldap password. When authenticated, the packages
+ maintained by nobody have a link &quot;take maintainership&quot;. And the
+ packages maintained by the authenticated user have a link &quot;drop
+ maintainership&quot;.
+
+2) The website does not allow changing maintainership. Instead, we add a
+ command in mgarepo to do it. And to do it, mgarepo connects to valstar,
+ is authenticated by ssh, and run a script on valstar to request the
+ change. This script has access to the admin password and will connect
+ to the &quot;admin/setpackage&quot; URL to update the package maintainer.
+
+I think the 2nd solution is better, because it allows scripting, for
+example to drop/take maintainership of all packages using a regexp.
+You manage maintainership using the same tool used to submit packages.
+And I think it's maybe less work to implement it as it avoids adding ldap
+authentication in maintdb, and creating pages to do the updates. Maybe
+we also don't need html pages at all in that case.
+
+And I think that's all we need for the first version.
+
+If we compare with the maintainers db website used at mandriva, their
+version also has :
+ - media name for each package, with pages to list packages from only
+ one media
+ - a search box to search for a package
+ - links to bugzilla for each package
+But I don't think we should store the media name in maintdb. And to
+search for packages, see media names, find bugs, we should use sophie
+or mageia-app-db instead. Actually users who want to see the maintainers
+of packages should probably also use mageia-app-db or sophie.
+
+maintdb should mainly be used in the following cases :
+ - by sophie, mageia-app-db and other package databases which want to show
+ maintainers of packages. They download the full list of packages and
+ maintainers every day (or hours) from the text file, to synchronize
+ with their database.
+ - by bugzilla if we want to assign bugs automatically to maintainer
+ - by build system or svn, for example if we want to send emails to package
+ maintainers when someone else commits to their packages
+ - by other tools which may need it ...
+
+
+
+For version 2 or later, we can also have those features :
+ - a changelog page, to see who took/dropped maintainership of which
+ packages. Maybe with an rss too. And a text files containing the
+ changes from the last 2 days (to avoid downloading the full list, if
+ you only want to synchronise).
+ - an URL to remove package (with admin password):
+ <A HREF="https://maintdb.mageia.org/admin/removepackage">https://maintdb.mageia.org/admin/removepackage</A>
+ - maybe support for groups and/or multiple maintainers
+
+For groups, we'll first have to see where we want to store them. But
+for the maintdb text output, we could use something like this :
+package1:maintainer1,maintainer2,maintainer3
+package2:%group1
+package3:%group2,maintainer4
+...
+
+And with the following pages to list packages maintained by a group :
+<A HREF="http://maintdb.mageia.org/groups/groups/[groupname">http://maintdb.mageia.org/groups/groups/[groupname</A>].html
+<A HREF="http://maintdb.mageia.org/groups/groups/[groupname">http://maintdb.mageia.org/groups/groups/[groupname</A>].txt
+
+
+</PRE>
+
+
+
+
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="003027.html">[Mageia-sysadm] Alamut memory problem
+</A></li>
+ <LI>Next message: <A HREF="003023.html">[Mageia-sysadm] svn commits ML
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#3022">[ date ]</a>
+ <a href="thread.html#3022">[ thread ]</a>
+ <a href="subject.html#3022">[ subject ]</a>
+ <a href="author.html#3022">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://www.mageia.org/mailman/listinfo/mageia-sysadm">More information about the Mageia-sysadm
+mailing list</a><br>
+</body></html>