5988
Comment:
|
9946
|
Deletions are marked like this. | Additions are marked like this. |
Line 25: | Line 25: |
Also join the RPM Fusion CVS commits mailing list (missing link). The CVS commits mailing list is used for commit messages from the CVS repository. You should subscribe to this list to track the changes to all the packages. | Also join the RPM Fusion [[http://lists.rpmfusion.org/mailman/listinfo/rpmfusion-commits|CVS commits]] mailing list. The CVS commits mailing list is used for commit messages from the CVS repository. You should subscribe to this list to track the changes to all the packages. |
Line 33: | Line 33: |
* http://fedoraproject.org/wiki/Packaging/NamingGuidelines * http://fedoraproject.org/wiki/Packaging/Guidelines |
* [[http://fedoraproject.org/wiki/Packaging/NamingGuidelines|Naming Guidelines]] * [[http://fedoraproject.org/wiki/Packaging/Guidelines|Guidelines]] |
Line 38: | Line 38: |
* http://fedoraproject.org/wiki/Packaging/ReviewGuidelines | * [[http://fedoraproject.org/wiki/Packaging/ReviewGuidelines|Review Guildelines]] |
Line 55: | Line 55: |
* The request should also be set to block the tracker bug: `RF_NEW` (bug #2). This way, other contributers can easily check for packages that need reviewing. If you want to help others by doing reviews yourself go to [[https://bugzilla.rpmfusion.org/show_bug.cgi?id=2|bug #2]]. | * Mention that you are seeking a sponsor if you are not a Fedora sponsored packager or an RPM Fusion sponsored packager. * The request should also be set to block the tracker bug: `RF_NEW` (bug #2). This way, other contributors can easily check for packages that need reviewing. If you want to help others by doing reviews yourself go to [[https://bugzilla.rpmfusion.org/show_bug.cgi?id=2|bug #2]]. * If you are seeking a sponsor you must also be set to block the tracker bug: `NEEDSPONSORS` (bug #30). Thus, some potential sponsors will look at the NEEDSPONSORS bug to find packages to review. The only allowed sponsors in RPM Fusion are Fedora sponsors. |
Line 59: | Line 61: |
As time permits another RPM Fusion contributer will review your package, sometimes other people add a few comments, this does not constitute a review. | As time permits, a reviewer will review your package. A reviewer is either a Fedora sponsored packager or an RPM Fusion only sponsored packager. Sometimes other people add a few comments, this does not constitute a review. |
Line 61: | Line 63: |
When a proper review gets done the reviewer will assign the bug to him, remove the blocker on `RF_NEW` and set it to block the tracker bug `RF_REVIEW` (bug #3). This indicates that a review is in progress. A review request should only be accepted by a maintainer that has at least one package in the RPM Fusion repository. | When a proper review gets done the reviewer will assign the bug to him, remove the blocker on `RF_NEW` and set it to block the tracker bug `RF_REVIEW` (bug #3). This indicates that a review is in progress. A review request should only be accepted by a maintainer that has at least one package in the RPM Fusion repository and for newcomers only by a sponsor. |
Line 65: | Line 67: |
=== Get an RPM Fusion Account === Create an account in the RPM Fusion Account System * Visit the account system home: https://fas.rpmfusion.org/ * Click on `New account` and fill in the blanks. * After you create your account, please be sure to sign the CLA (if you click on the "My Account" link in the top right, you should see CLA: `CLA Done`). * Edit your account and upload your Public RSA SSH Key (see `man ssh-keygen` for more information) which is required for CVS authorization. * Once you get email confirmation that your account has been created and you're a member of the `cla_done` group, return to edit your account: * Apply for the cvsextras group ==> https://fas.rpmfusion.org/accounts/group/view/cvsextras. * Once this is done, your account will show up as "pending" to all of the RPM Fusion sponsors (who will receive an email). * When you are sponsored, you will be automatically added/approved to the `rpmfusionbugs` group as well. This will allow you to make changes to the state of bugs in Bugzilla, which is what you'll need to do to get them checked in. It will also allow you to do complete package reviews, including approving packages yourself! |
|
Line 67: | Line 82: |
Once the reviewer approves the package, by adding a comment that the package has been approved, remove the blocker `RF_REVIEW` bug and set the review request to block the tracker bug `RF_ACCEPT` (bug #4). | Once the reviewer approves the package, by adding a comment that the package has been approved,<<BR>> remove the blocker `RF_REVIEW` bug and set the review request to block the tracker bug `RF_ACCEPT` (bug #4). |
Line 69: | Line 85: |
Ask for the creation of a directory for your package in the CVS repository. | Ask for the creation of a directory for your package in the CVS repository by adding a comment as follow |
Line 71: | Line 87: |
{{{ Package CVS request ====================== Package Name: Short Description: Owners: Branches: InitialCC: ---------------------- License tag: [free|nonfree] }}} And also set to your bug review the bug tracker '''RF_CVSsync''' by adding bug number #33 <<Anchor(import_package)>> |
|
Line 73: | Line 103: |
Once the CVS directory has been created, the package must be imported. | Once the CVS directory has been created, the package must be imported.<<BR>> The only file that you have to import is the "src.rpm" file, no more and one at time. |
Line 75: | Line 106: |
/!\ To be detailed once the CVS repository is in place. | First, set your environment : {{{ export CVSROOT=:ext:<FAS_username>@cvs.rpmfusion.org:/cvs/<tree> export CVS_RSH=ssh }}} Then, checkout the common tool and import your SRPM as follow : {{{ cvs co common cd common ./cvs-import.sh -b $my_branch $my_srpm }}} {i} Where <tree> means the cvs tree where your sources files should be imported/go ('''free''' or '''nonfree'''). |
Line 79: | Line 126: |
Add a comment to the review that the import has been done, remove the blocker on `RF_ACCEPT` and close the bug as `RESOLVED` `FIXED`. | During the CVS import procedure, your source files will be automatically tagged from the requested branch.<<BR>> Then, you will just have to request a build to the plague-server[1] by performing this following action: {{{ $ make build }}} Once package built successfuly, go back to your bug review and add a comment to the review to notify<<BR>> the import and build have been done correctly. Then close the bug as `RESOLVED` `FIXED`. <<BR>> [1]: [[http://rpmfusion.org/Buildsystem/PlagueUsage|How to Setup your plague-client and request build]] |
Line 83: | Line 140: |
1. Update your local copy and test it. 1. Commit your changes, with a '''useful''' changelog message. 1. ... the next steps will depend on the infrastructure not yet in place at the time of writing. |
Make sure you have your environment set as in the [[http://rpmfusion.org/Contributors#import_package|Import your package]] subsection. You can then follow the [[http://fedoraproject.org/wiki/PackageMaintainers/UpdatingPackageHowTo|Fedora Package Update HOWTO]]. |
Line 87: | Line 142: |
'''Example:''' {{{ # Set the environment: export CVSROOT=:ext:<FAS_username>@cvs.rpmfusion.org:/cvs/<tree> export CVS_RSH=ssh # Check-out your package "foo": cvs co foo # Download the new upstream source and save it to the branch directory you are updating (if applies): cd foo/devel wget -N http://dl.sf.net/foo/foo-0.0.2.tar.bz2 # Upload the tarball to an external lookaside cache: make new-sources FILES="foo-0.0.2.tar.bz2" # Small patches, initscripts or otherwise plain text files can be commited directly to CVS: cvs add foo-fix-the-bar.patch # Change the required things in the specfile: emacs foo.spec # Check that the changes you made are correct: cvs diff -u # Create a changelog entry (clog): make clog # Commit the changes: cvs commit -F clog # Remove clog: rm clog # Tag and request build: make tag build }}} |
1. Contributing to RPM Fusion
So, you've decided to become a contributor to RPM Fusion? This guide will lead you through your first package submission and teach you how to update your package(s) in the future.
Contents
2. Becoming a RPM Fusion contributor
Having packaging experience in Fedora is much preferred, but newcomers are welcome too. However if you are a newcomer (i.e. you're not a Fedora sponsored packager) you must first get sponsored, which means find someone to guide you while you learn the procedures.
2.1. Create a Bugzilla Account
In either scenario you should create your first RPM Fusion package and submit it for review as described below. The review process is handled through Bugzilla, as will be any bugs reported against your packages.
Make sure you have an account in Bugzilla.
The email address that you use for your Bugzilla account should be the same email address as you use for all other things related to RPM Fusion.
2.2. Join the Mailing List
Once this is done, join the Developers Mailing Lists and introduce yourself there. Include a link to the review request for your first package in your introduction, and if you're a newcomer also mention that you need someone to sponsor you.
If you have questions about the packaging process, this is the place to ask.
Also join the RPM Fusion CVS commits mailing list. The CVS commits mailing list is used for commit messages from the CVS repository. You should subscribe to this list to track the changes to all the packages.
3. Submitting a new package
3.1. Read the packaging guidelines
RPM Fusion follows the Fedora packaging guidelines, make sure you've read and understood these:
It is also a good idea to read the items which will be checked during the review of your package and to verify yourself that these are all ok:
3.2. Create a package review request
Before posting a review request, you should upload your SRPM and SPEC file to any accessible location on the internet.
Before your package can become part of RPM Fusion it must first be reviewed, create a new bug report as follows :
- Choose "Package Reviews" as Product.
- Choose "Review Requests" as Component.
Set Summary to: "Review request: %{name} - %{summary}", with %{name} and %{summary} from the package.
- Put the following in the Description:
- Full URLs to the spec file and source rpm of the package.
- A short description for the package (usually, the %description from the spec file).
- Why this package is not eligible to be included in Fedora.
The output rpmlint gives on both the source and binary packages. Explain for each message why you've chosen to ignore it.
- Mention if this is your first RPM Fusion package.
- Mention that you are seeking a sponsor if you are not a Fedora sponsored packager or an RPM Fusion sponsored packager.
The request should also be set to block the tracker bug: RF_NEW (bug #2). This way, other contributors can easily check for packages that need reviewing. If you want to help others by doing reviews yourself go to bug #2.
If you are seeking a sponsor you must also be set to block the tracker bug: NEEDSPONSORS (bug #30). Thus, some potential sponsors will look at the NEEDSPONSORS bug to find packages to review. The only allowed sponsors in RPM Fusion are Fedora sponsors.
3.3. Wait for your package to be reviewed
As time permits, a reviewer will review your package. A reviewer is either a Fedora sponsored packager or an RPM Fusion only sponsored packager. Sometimes other people add a few comments, this does not constitute a review.
When a proper review gets done the reviewer will assign the bug to him, remove the blocker on RF_NEW and set it to block the tracker bug RF_REVIEW (bug #3). This indicates that a review is in progress. A review request should only be accepted by a maintainer that has at least one package in the RPM Fusion repository and for newcomers only by a sponsor.
The reviewer should follow the Fedora Review Guidelines as close as possible, obviously taking into account any differences between Fedora and RPM Fusion. As RPM Fusion is more permissive with the content it allows, exceptions to these guidelines are allowed in some circumstances but care and common sense should prevail. The reviewer should ensure that any deviations from the Fedora Packaging Guidelines are sane and justified in the package they are reviewing. If in doubt, please ask on the RPM Fusion mailing list. The reviewer should inform the contributor of any changes that need to be made to their package, if any. The contributor should update their package as necessary, including bumping the release version and submit the new SPEC file and source rpm URL. The reviewer should verify the changes. This is repeated as many times as necessary until the contributor and reviewer are happy with the final package.
3.4. Get an RPM Fusion Account
Create an account in the RPM Fusion Account System
Visit the account system home: https://fas.rpmfusion.org/
Click on New account and fill in the blanks.
After you create your account, please be sure to sign the CLA (if you click on the "My Account" link in the top right, you should see CLA: CLA Done).
Edit your account and upload your Public RSA SSH Key (see man ssh-keygen for more information) which is required for CVS authorization.
Once you get email confirmation that your account has been created and you're a member of the cla_done group, return to edit your account:
Apply for the cvsextras group ==> https://fas.rpmfusion.org/accounts/group/view/cvsextras.
- Once this is done, your account will show up as "pending" to all of the RPM Fusion sponsors (who will receive an email).
When you are sponsored, you will be automatically added/approved to the rpmfusionbugs group as well. This will allow you to make changes to the state of bugs in Bugzilla, which is what you'll need to do to get them checked in. It will also allow you to do complete package reviews, including approving packages yourself!
3.5. Your package gets approved
Once the reviewer approves the package, by adding a comment that the package has been approved,
remove the blocker RF_REVIEW bug and set the review request to block the tracker bug RF_ACCEPT (bug #4).
Ask for the creation of a directory for your package in the CVS repository by adding a comment as follow
Package CVS request ====================== Package Name: Short Description: Owners: Branches: InitialCC: ---------------------- License tag: [free|nonfree]
And also set to your bug review the bug tracker RF_CVSsync by adding bug number #33
3.6. Import your package
Once the CVS directory has been created, the package must be imported.
The only file that you have to import is the "src.rpm" file, no more and one at time.
First, set your environment :
export CVSROOT=:ext:<FAS_username>@cvs.rpmfusion.org:/cvs/<tree> export CVS_RSH=ssh
Then, checkout the common tool and import your SRPM as follow :
cvs co common cd common ./cvs-import.sh -b $my_branch $my_srpm
Where <tree> means the cvs tree where your sources files should be imported/go (free or nonfree).
3.7. Request a build
During the CVS import procedure, your source files will be automatically tagged from the requested branch.
Then, you will just have to request a build to the plague-server[1] by performing this following action:
$ make build
Once package built successfuly, go back to your bug review and add a comment to the review to notify
the import and build have been done correctly. Then close the bug as RESOLVED FIXED.
[1]: How to Setup your plague-client and request build
4. Updating an existing package
Make sure you have your environment set as in the Import your package subsection. You can then follow the Fedora Package Update HOWTO.
Example:
# Set the environment: export CVSROOT=:ext:<FAS_username>@cvs.rpmfusion.org:/cvs/<tree> export CVS_RSH=ssh # Check-out your package "foo": cvs co foo # Download the new upstream source and save it to the branch directory you are updating (if applies): cd foo/devel wget -N http://dl.sf.net/foo/foo-0.0.2.tar.bz2 # Upload the tarball to an external lookaside cache: make new-sources FILES="foo-0.0.2.tar.bz2" # Small patches, initscripts or otherwise plain text files can be commited directly to CVS: cvs add foo-fix-the-bar.patch # Change the required things in the specfile: emacs foo.spec # Check that the changes you made are correct: cvs diff -u # Create a changelog entry (clog): make clog # Commit the changes: cvs commit -F clog # Remove clog: rm clog # Tag and request build: make tag build