From Fedora Project Wiki

No edit summary
(Replace with link to Package Maintainer Docs at docs.fp.o)
Tag: Replaced
 
(57 intermediate revisions by 33 users not shown)
Line 1: Line 1:
{{admon/important|Contributors only!|This document is for existing Contributors only. If you do not already have a Fedora account or if this is your ''first'' Fedora package, you ''must'' follow the process documented in [[PackageMaintainers/Join]].}}
{{admon/warning |This page has been moved out of the wiki. The current version of this document is located at https://docs.fedoraproject.org/en-US/package-maintainers/New_Package_Process_for_Existing_ContributorsPlease update your bookmarks.}}
 
This is a short version of the [[PackageMaintainers/Join]] document, streamlined to show how existing contributors can make new packages.
 
'''Step 1:''' Read the [[Packaging/Guidelines|  Packaging Guidelines]]  and [[Packaging/NamingGuidelines|  Package Naming Guidelines]] . Really. Be comfortable with them. <BR>
'''Step 2:''' Make a package.
* You should make sure that it is a new package. A list of existing packages in Fedora Packages is here: https://admin.fedoraproject.org/pkgdb/packages/
* Make sure that your package meets the [[Packaging/Guidelines|  Packaging Guidelines]]  and [[Packaging/NamingGuidelines|  Package Naming Guidelines]]
* Be aware of ForbiddenItems and [[Packaging/ReviewGuidelines|  Package Review Guidelines]]  (they will be used during the package review)
'''Step 3:''' Upload your SRPM and SPEC files onto the internet somewhere. <BR>
* If you have already got a Fedora Account then you can use your storage at http://fedorapeople.org for this.
'''Step 4:''' Make sure you have a bugzilla account at bugzilla.redhat.com <BR>
'''Step 5:''' Fill out this form: https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&format=extras-review
* Make sure you put the name of the package in the Review Summary field, along with a very brief summary of what it is
* Make sure that you put the URL paths for the SPEC file and the SRPM file in the Review Description
* Put a description of your package (usually, this can be the same thing as what you put in the spec %description) in Review Description
* The review process is described in detail here: [[Packaging/ReviewGuidelines|  PackageReviewGuidelines]]
'''Step 6:''' Watch the bugzilla report for your first package (you created this in step 5). Fix any blockers that the reviewer(s) point out. <BR>
'''Step 7:''' When the package is approved by the reviewer, request a CVS module and branches with the [[PackageMaintainers/CVSAdminProcedure| CVSAdminProcedure]] . <BR>
'''Step 8:''' Checkout the CVS module (details [http://fedoraproject.org/wiki/PackageMaintainers/Join#head-3de96e1e7f6c4c9197e8beb02a0b3d7a5eb9dad here] )
* Once you have the CVS module, checkout your module from CVS
* It is probably a good idea to make a "cvs" toplevel directory, then check-out your files inside of that.
* If your package is named foobar, this is done with: cvs co foobar
* You should now have a directory named foobar/ on your system with devel/, F-7/ and FC-6/ subdirectories (assuming you requested branches for F-7 and FC-6)
'''Step 9:''' Import your srpm
* Then you can import the approved SRPM into devel/ by running ./common/cvs-import.sh nameofmy.src.rpm
* Obviously, replace nameofmy.src.rpm with the full path to your approved SRPM.
* You should see it upload the sources, and finish successfully. If you didn't set up ssh-agent it will ask often for your ssh-key passphrase. This is normal.
* Now run cvs update to get the final versions in your devel/ directory.
'''Step 10:''' You can now import the package to your branches too
* The quickest way to do this is to copy the sources file, .spec file and any patches from devel/ to each branch. Also check if the Makefile exists and copy it if necessary. After that, cvs add all copied files and commit them with: cvs commit
'''Step 11:''' Tag your branches (branches are FC-5, FC-6, devel ...)
* Before a branch can be built in the Fedora Package buildsystem, the files in that branch must be tagged in CVS.
* When you're happy with the source, commit on each branch, go into the branch directory (e.g. cd F-7/) and run: make tag
* You should see it tag the branch with the version and release from the spec file.
* You need to tag all the branches that you want to build.
* If you only imported the srpm, you do not need to tag as cvs-import.sh will do it for you.
'''Step 12:''' Request builds
* For each tagged branch that you'd like to request a build for, go into the branch directory (e.g. cd F-7/) and run: make build
* If everything goes well, it should queue up your branch for building, the package will cleanly build, and you're done!
* If it fails to build, the buildsystem will send you an email to report the failure and link you to the logs. Commit any needed changes to cvs, bump the spec release number, retag the branch, and request a new build.
'''Step 13:''' Close the bugzilla ticket (assuming that the package built successfully)
* You should close it as NEXTRELEASE.
'''Step 14:''' If this package will be built for any version of Fedora that is already released please submit it for inclusion in the 'fedora-updates' repository for those versions of Fedora. See [[PackageMaintainers/UpdatingPackageHowTo#Submit_your_update_to_Bodhi|submitting your update to bodhi]]  for more details.
 
We know that this process can be as clear as mud sometimes, we're always trying to make it better. If you run into any problems, or have any questions, please ask on fedora-devel-list. <BR>
https://www.redhat.com/mailman/listinfo/fedora-devel-list/
 
There is a helpful [[PackageMaintainers/UsingCvsFaq|  CVS FAQ]]  which also includes instructions for making new releases.

Latest revision as of 05:39, 15 September 2021

Warning.png
This page has been moved out of the wiki. The current version of this document is located at https://docs.fedoraproject.org/en-US/package-maintainers/New_Package_Process_for_Existing_Contributors/ Please update your bookmarks.