15

Which man page describes the usage of the top-level RPM spec file macros that are defined in RPM source files directly? I mean, %setup, %buildroot and the like, which are not in /usr/lib/rpm. Looking up the %setup options in a tutorial at rpm.org or searching through the source code isn't best of convenience.

6 Answers 6

8

The Fedora Project hosts the best documentation on RPM out there in html format:

http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html-single/RPM_Guide/index.html

See also:

http://fedoraproject.org/wiki/How_to_create_an_RPM_package

Prior to these resources, my go to guide was Maximum RPM (which you also found):

http://www.rpm.org/

5
2

Some of them are documented in Maximum RPM, Taking the RPM Package Manager to the Limit by Edward C. Bailey.

Section Macros: Helpful Shorthand for Package Builders describes %setup and %patch macros.

1

There is no man page for that, but you can create a minimal spec file using rpmdev-newspec from rpmdevtools package.

1

It's crazy that there is no fundamental public reference for the .spec file format which have been heavily used by multiple distributions for more than a decade.

You can jam a %dump into your spec and then try building (redirect stderr out to a file). Depending on where you put the %dump you get whatever macros existed at that moment. This is not a substitute for real documentation... but might keep you going.

0

As far as I am aware no such documentation exists within the man pages. Even if you review all the items available in the rpmbuild and rpm man pages it does not detail those directives.

0

Most of sources linked in the other answers don't seem to mention %autosetup. (At least not directly.)

There is this "RPM Reference Manual", which does:

https://rpm-software-management.github.io/rpm/manual/autosetup.html

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .