[ipxe-devel] [ipxe] Add ability to build an RPM (#17)

Schlomo Schapiro notifications at github.com
Wed Dec 18 16:10:45 UTC 2013


We deploy everything through RPM packages.

This adds a spec file template and the Makefile logic to create first a Source RPM and (optionally for testing) a Binary RPM. Typical use case looks like this:

    $ make srpm RPM_OUTDIR=dist RPM_EXTRA_REV=.is24
    ... cut lots of make output ...
    Wrote: dist/ipxe-4479-2bdd.is24.src.rpm

Then we build this Source RPM into a Binary RPM with our existing RPM build automation.

iPXE binaries are installed into `/usr/share/ipxe`, similar to how RHEL6 packages syslinux.

Since ipxe does not do binary releases the current version number (1.0.0) is pretty meaningless. The GITVERSION used in the Makefile is also not suitable as it is guaruanteed to be monotonous increasing.

To simplify things and to reflect the development model of iPXE i chose to use the amount of git commits in src/ as the "version" counter and the GITVERSION as "release" to assist in finding the exact git revision that the RPM was built from.
You can merge this Pull Request by running:

  git pull https://github.com/ImmobilienScout24/ipxe master

Or you can view, comment on it, or merge it online at:

  https://github.com/ipxe/ipxe/pull/17

-- Commit Summary --

  * Add SPEC file to create an RPM with iPXE
  * Extend Makefile to create Source and Binary RPMs.
  * RHEL6 git can only export to tar, not to tar.gz.
  * Add missing build dependency
  * Added RPM_EXTRA_REV and %dist to RPM Revision
  * Correctly handle RPM_EXTRA_REV to append more stuff to RPM Revision

-- File Changes --

    M src/.gitignore (1)
    M src/Makefile (31)
    A src/ipxe.spec.in (56)

-- Patch Links --

https://github.com/ipxe/ipxe/pull/17.patch
https://github.com/ipxe/ipxe/pull/17.diff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20131218/c1e363e8/attachment.htm>


More information about the ipxe-devel mailing list