Changes between Version 27 and Version 28 of RpmHowToPackagers


Ignore:
Timestamp:
Oct 7, 2011, 2:18:21 PM (13 years ago)
Author:
Yuri Dario
Comment:

Fedora 13 has been used as template for most spec files.

Legend:

Unmodified
Added
Removed
Modified
  • RpmHowToPackagers

    v27 v28  
    1717Also, there is a Fedora [http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html-single/RPM_Guide/ RPM Guide] that may be used as an RPM reference documentation.
    1818
    19 Instead of writing a .spec file from scratch, you can get an existing one: a good source for them is the RPM find service like [http://rpm.pbone.net/ rpm.pbone.net] or [http://www.rpmfind.net www.rpmfind.net]. Enter the name of your package, and choose a distribution. Usually packages for Fedora or OpenSUSE 11.3 are good. Select your package from the left link, you will get a page with all details; one of them is the .src.rpm package, it contains the spec file, platform specific patches, package sources (in .tar.gz, .tar.bz2, .tar.xz format). Use  unrpm.cmd (check bootstrap directory) to extract all files to a temporary location.
     19Instead of writing a .spec file from scratch, you can get an existing one: a good source for them is the RPM find service like [http://rpm.pbone.net/ rpm.pbone.net] or [http://www.rpmfind.net www.rpmfind.net]. Enter the name of your package, and choose a distribution: most core packages have been built using Fedora 13 as template; when Fedora 13 is not available, Fedora 14/15 or OpenSUSE 11.3 are good. Select your package from the left link, you will get a page with all details; one of them is the .src.rpm package, it contains the spec file, platform specific patches, package sources (in .tar.gz, .tar.bz2, .tar.xz format). Use  unrpm.cmd (check bootstrap directory) to extract all files to a temporary location.
    2020
    2121RPM packages are created from .spec files using the ''rpmbuild'' command. The first time you try to build a package (see '''Building package''' below), rpmbuild will create a set of directories in your %HOME% directory that it uses for the package generation process: