m (Oturpe moved page Using the package database to Archive:Using the package database) |
|||
(12 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{deprecated|Package Database has been retired and replaced by Pagure.}} | |||
= Using the Fedora Package Database = | = Using the Fedora Package Database = | ||
Line 13: | Line 16: | ||
The links on the left side of the main page give you access to the major views of the information in the Package Database. | The links on the left side of the main page give you access to the major views of the information in the Package Database. | ||
* The [https://admin.fedoraproject.org/pkgdb/collections/ View Collections] | * The [https://admin.fedoraproject.org/pkgdb/collections/ View Collections] and [https://admin.fedoraproject.org/pkgdb/packages/ View Packages] links allow you to browse through a list of packages, looking for information on them. | ||
* [https://admin.fedoraproject.org/pkgdb/ | * [https://admin.fedoraproject.org/pkgdb/orphaned/ Orphan Packages] displays a list of packages which are orphaned in one or more active branches. | ||
* [https://fedorahosted.org/pkgdb2/ Project Page] and [https://fedorahosted.org/pkgdb2/newticket Report Bugs] Take you to the Package Database's project page for getting involved with development of the PkgDB2 code. | |||
* [https://fedorahosted.org/ | |||
=== What's the fastest way to find a package? === | === What's the fastest way to find a package? === | ||
To directly access a package you're interested in simply replace PACKAGENAME in the following URL with the name of the package: | |||
<pre> | <pre> | ||
https://admin.fedoraproject.org/pkgdb/ | https://admin.fedoraproject.org/pkgdb/package/PACKAGENAME | ||
</pre> | </pre> | ||
There is also an [http://en.wikipedia.org/wiki/OpenSearch OpenSearch] extension offering to search packages or packagers directly in your browser. | |||
=== Logging in === | === Logging in === | ||
The upper right hand corner of the Package Database has a brief message that says <code> | The upper right hand corner of the Package Database has a brief message that says <code>Login</code>. When you click on Login, you are redirected to the Fedora OpenID page where you will enter your username and password. Once these are entered, you will be able to make changes in the Package Database. | ||
== Signing up for packages == | == Signing up for packages == | ||
=== How do I sign up for a package? === | === How do I sign up for a package? === | ||
Navigate to the package's page in the Package Database. If you have not logged in, go ahead and do that now. At this point you should be back at the package's page and | Navigate to the package's page in the Package Database. If you have not logged in, go ahead and do that now. At this point you should be back at the package's page and either click on the button <code>Request Commit Access</code> to request access on all branches or use the button <code>Request Commit ACLs</code> to specify which branch you would like to have access for. Below in the page you can ask for <code>watchcommits</code> and <code>watchbugzilla</code> access via the button <code>Watch this package</code> | ||
* watchcommits and watchbugzilla are for receiving email notifications for package changes. | * watchcommits and watchbugzilla are for receiving email notifications for package changes. | ||
Line 39: | Line 41: | ||
=== I'm the package maintainer, how do I give someone commit access to my package? === | === I'm the package maintainer, how do I give someone commit access to my package? === | ||
Go to the page of the package and click on <code>Manage the committers</code>. There you have a grey button to <code>Add someone</code> and give him/her the ACLs you want on one or more branches. | |||
=== How do I find orphaned packages that I can take over? === | === How do I find orphaned packages that I can take over? === | ||
This information is | This main source of information is: | ||
https://admin.fedoraproject.org/pkgdb/ | https://admin.fedoraproject.org/pkgdb/orphaned/ | ||
But information is currently also present in the wiki: | But information is currently also present in the wiki: | ||
Line 59: | Line 57: | ||
=== How can I find my packages? === | === How can I find my packages? === | ||
The easiest way to find the packages you work with is to | The easiest way to find the packages you work with is to search your name in the list of packagers, or simply to log-in and click on your name at the top right corner of the page. | ||
This view shows you every package for which you have an acl in a non-EOL branch. (So a package for which you only have watchbugzilla in | This view shows you every package for which you have an acl in a non-EOL branch. (So a package for which you only have watchbugzilla in EPEL7 will show up. A package for which you are the owner in Fedora Core 3 will not.) | ||
==== How can I only list packages I'm comaintainer of? ==== | ==== How can I only list packages I'm comaintainer of? ==== | ||
The | The page makes the distinction between package where you have the commit ACL and packages where you are the point of contact and finally packages where you have one of the watch* ACLs. | ||
* | |||
==== How can I list packages which I was interested in on an EOL branch? ==== | ==== How can I list packages which I was interested in on an EOL branch? ==== | ||
Add <code> | Add <code>eol=True</code> to the end of the url. | ||
Here's an example that lists packages that | Here's an example that lists packages that pingou was the point of contact including EOL branches: | ||
<pre> | <pre> | ||
https://admin.fedoraproject.org/pkgdb/ | https://admin.fedoraproject.org/pkgdb/packager/pingou/?eol=True | ||
</pre> | </pre> | ||
'''This is implemented in 1.9''' | |||
=== How can I add a new package or add a package to a new branch? === | === How can I add a new package or add a package to a new branch? === | ||
These actions require manual work to be done by | These actions require manual work to be done by an administrator so follow the steps in [[package SCM admin requests]] . | ||
Eventually we hope to make these steps more automated with a form to request a new branch and another form to request a new package. If you'd like to work on this, please see [https://fedorahosted.org/packagedb/ticket/18 this ticket] | Eventually we hope to make these steps more automated with a form to request a new branch and another form to request a new package. If you'd like to work on this, please see [https://fedorahosted.org/packagedb/ticket/18 this ticket] | ||
== PackageDB API == | == PackageDB API == | ||
Some of the PackageDB data can be accessed by scripts as JSON or plain text data. This data is made available to make scripting easier. | Some of the PackageDB data can be accessed by scripts as JSON or plain text data. This data is made available to make scripting easier. The whole API is documented at: https://admin.fedoraproject.org/pkgdb/api/ | ||
The best way to retrieve this data is by using the client library present in | The best way to retrieve this data is by using the client library present in packagedb-cli. <code>yum install packagedb-cli</code> then setup a pkgdb client object and call methods on it like this: | ||
<pre> | <pre> | ||
from | from pkgdb2client import PkgDB | ||
# username and password are optional -- in general, only methods that | # username and password are optional -- in general, only methods that | ||
# modify data will need them to have been specified | # modify data will need them to have been specified | ||
pkgdb = | pkgdb = PkgDB(username='me', password='XXXX') | ||
pkgdb. | pkgdb.get_packages('gu*') | ||
</pre> | </pre> | ||
Documentation for the | Documentation for the pkgdb2client module is in the sources: https://github.com/fedora-infra/packagedb-cli/blob/master/pkgdb2client/cli.py | ||
If, for some reason, you must retrieve the information without the help of the client library, you can use the urls directly like this. For instance, Bugzilla Acls can be retrieved in the following ways: | If, for some reason, you must retrieve the information without the help of the client library, you can use the urls directly like this. For instance, Bugzilla Acls can be retrieved in the following ways: | ||
Line 111: | Line 100: | ||
<pre> | <pre> | ||
HTML: | HTML: | ||
https://admin.fedoraproject.org/pkgdb/ | https://admin.fedoraproject.org/pkgdb/api/bugzilla | ||
Plain Text: | Plain Text: | ||
https://admin.fedoraproject.org/pkgdb/ | https://admin.fedoraproject.org/pkgdb/api/bugzilla?format=text | ||
JSON: | JSON: | ||
https://admin.fedoraproject.org/pkgdb/ | https://admin.fedoraproject.org/pkgdb/api/bugzilla?format=json | ||
</pre> | </pre> | ||
Line 132: | Line 121: | ||
{| border="1" | {| border="1" | ||
|- | |- | ||
|Base URL||https://admin.fedoraproject.org/pkgdb/ | |Base URL||https://admin.fedoraproject.org/pkgdb/api/bugzilla | ||
|- | |- | ||
|Plain Format||Stable | |Plain Format||Stable | ||
Line 144: | Line 133: | ||
{| border="1" | {| border="1" | ||
|- | |- | ||
|Base Url||https://admin.fedoraproject.org/pkgdb/ | |Base Url||https://admin.fedoraproject.org/pkgdb/api/vcs | ||
|- | |- | ||
|Plain Format||Stable | |Plain Format||Stable | ||
Line 152: | Line 141: | ||
The VCS Acls page returns information about who can commit to a package. | The VCS Acls page returns information about who can commit to a package. | ||
=== | === Critpath packages === | ||
{| border="1" | {| border="1" | ||
|- | |- | ||
|Base Url||https://admin.fedoraproject.org/pkgdb/ | |Base Url||https://admin.fedoraproject.org/pkgdb/api/critpath | ||
|- | |||
|Plain Format||Stable | |||
|- | |- | ||
|JSON Format|| | |JSON Format||Stable | ||
|} | |} | ||
The critpath page returns the list of package marked as being part of the critical path. | |||
=== Package | === Package Information === | ||
{| border="1" | {| border="1" | ||
|- | |- | ||
|Base Url||https://admin.fedoraproject.org/pkgdb/ | |Base Url||https://admin.fedoraproject.org/pkgdb/api/package/PKGNAME | ||
|- | |- | ||
|JSON Format|| | |JSON Format||Stable | ||
|} | |} | ||
Line 171: | Line 164: | ||
{| border="1" | {| border="1" | ||
|- | |- | ||
|Base Url||https://admin.fedoraproject.org/pkgdb/ | |Base Url||https://admin.fedoraproject.org/pkgdb/api/packager/USERNAME | ||
|- | |- | ||
|JSON Format|| | |JSON Format||Stable | ||
|} | |} | ||
Returns a list of packages belonging to the user with the ability to filter on certain acls via query params. The query params may be added to in the future and the URL location may change as well. | Returns a list of packages belonging to the user with the ability to filter on certain acls via query params. The query params may be added to in the future and the URL location may change as well. | ||
[[Category:Package | [[Category:Package maintainers archive]] |
Latest revision as of 20:25, 26 May 2021
Using the Fedora Package Database
The Package Database is the place where we track ownership of packages and permissions on who is allowed to commit to a package.
Accessing the Interface
Where is the Package Database?
The packagedb is located at https://admin.fedoraproject.org/pkgdb/
Where should I go from there?
The links on the left side of the main page give you access to the major views of the information in the Package Database.
- The View Collections and View Packages links allow you to browse through a list of packages, looking for information on them.
- Orphan Packages displays a list of packages which are orphaned in one or more active branches.
- Project Page and Report Bugs Take you to the Package Database's project page for getting involved with development of the PkgDB2 code.
What's the fastest way to find a package?
To directly access a package you're interested in simply replace PACKAGENAME in the following URL with the name of the package:
https://admin.fedoraproject.org/pkgdb/package/PACKAGENAME
There is also an OpenSearch extension offering to search packages or packagers directly in your browser.
Logging in
The upper right hand corner of the Package Database has a brief message that says Login
. When you click on Login, you are redirected to the Fedora OpenID page where you will enter your username and password. Once these are entered, you will be able to make changes in the Package Database.
Signing up for packages
How do I sign up for a package?
Navigate to the package's page in the Package Database. If you have not logged in, go ahead and do that now. At this point you should be back at the package's page and either click on the button Request Commit Access
to request access on all branches or use the button Request Commit ACLs
to specify which branch you would like to have access for. Below in the page you can ask for watchcommits
and watchbugzilla
access via the button Watch this package
- watchcommits and watchbugzilla are for receiving email notifications for package changes.
- commit is for access to commit to the SCM.
- approveacls is to be allowed to approveacls just like the package owner.
I'm the package maintainer, how do I give someone commit access to my package?
Go to the page of the package and click on Manage the committers
. There you have a grey button to Add someone
and give him/her the ACLs you want on one or more branches.
How do I find orphaned packages that I can take over?
This main source of information is: https://admin.fedoraproject.org/pkgdb/orphaned/
But information is currently also present in the wiki: http://fedoraproject.org/wiki/PackageMaintainers/OrphanedPackages http://fedoraproject.org/wiki/PackageMaintainers/RetiredPackages
If you'd like to work on migrating this information into the PackageDB, please see this ticket .
Working with your packages
How can I find my packages?
The easiest way to find the packages you work with is to search your name in the list of packagers, or simply to log-in and click on your name at the top right corner of the page.
This view shows you every package for which you have an acl in a non-EOL branch. (So a package for which you only have watchbugzilla in EPEL7 will show up. A package for which you are the owner in Fedora Core 3 will not.)
How can I only list packages I'm comaintainer of?
The page makes the distinction between package where you have the commit ACL and packages where you are the point of contact and finally packages where you have one of the watch* ACLs.
How can I list packages which I was interested in on an EOL branch?
Add eol=True
to the end of the url.
Here's an example that lists packages that pingou was the point of contact including EOL branches:
https://admin.fedoraproject.org/pkgdb/packager/pingou/?eol=True
This is implemented in 1.9
How can I add a new package or add a package to a new branch?
These actions require manual work to be done by an administrator so follow the steps in package SCM admin requests .
Eventually we hope to make these steps more automated with a form to request a new branch and another form to request a new package. If you'd like to work on this, please see this ticket
PackageDB API
Some of the PackageDB data can be accessed by scripts as JSON or plain text data. This data is made available to make scripting easier. The whole API is documented at: https://admin.fedoraproject.org/pkgdb/api/
The best way to retrieve this data is by using the client library present in packagedb-cli. yum install packagedb-cli
then setup a pkgdb client object and call methods on it like this:
from pkgdb2client import PkgDB # username and password are optional -- in general, only methods that # modify data will need them to have been specified pkgdb = PkgDB(username='me', password='XXXX') pkgdb.get_packages('gu*')
Documentation for the pkgdb2client module is in the sources: https://github.com/fedora-infra/packagedb-cli/blob/master/pkgdb2client/cli.py
If, for some reason, you must retrieve the information without the help of the client library, you can use the urls directly like this. For instance, Bugzilla Acls can be retrieved in the following ways:
HTML: https://admin.fedoraproject.org/pkgdb/api/bugzilla Plain Text: https://admin.fedoraproject.org/pkgdb/api/bugzilla?format=text JSON: https://admin.fedoraproject.org/pkgdb/api/bugzilla?format=json
Each method exposed to the user has a different rating for stability depending on several criteria:
- Stable: The format of data, URL location, and query parameters are not expected to change. If changes occur, they will be announced and deprecated ahead of time.
- Proven: The data format is stable. URL location and query parameters may change but a method of retrieving the data in its current form will remain available. API with this status will have notes to explain just how much it can be depended on.
- In Flux: The data being exposed by this method will continue but the URL location, format, or query parameters to retrieve it may change.
- Unstable: Anything about this method could change including disappearing entirely.
Bugzilla Acls
Base URL | https://admin.fedoraproject.org/pkgdb/api/bugzilla |
Plain Format | Stable |
JSON Format | Stable |
The bugzilla acl page returns information about package ownership, summary information, and initialcclist that bugzilla needs to know. At present (and unless a change occurs in bugzilla that would obviate this), the information is based on the information for the latest release of the product. At the moment Nov, 19, 2007, those are Fedora Devel, Fedora EPEL 5, and Fedora OLPC 2.
VCS Acls
Base Url | https://admin.fedoraproject.org/pkgdb/api/vcs |
Plain Format | Stable |
JSON Format | Stable |
The VCS Acls page returns information about who can commit to a package.
Critpath packages
Base Url | https://admin.fedoraproject.org/pkgdb/api/critpath |
Plain Format | Stable |
JSON Format | Stable |
The critpath page returns the list of package marked as being part of the critical path.
Package Information
Base Url | https://admin.fedoraproject.org/pkgdb/api/package/PKGNAME |
JSON Format | Stable |
User Package List
Base Url | https://admin.fedoraproject.org/pkgdb/api/packager/USERNAME |
JSON Format | Stable |
Returns a list of packages belonging to the user with the ability to filter on certain acls via query params. The query params may be added to in the future and the URL location may change as well.