RPM building section of RHL's developer guide

Panu Matilainen pmatilai at welho.com
Tue Jul 22 11:51:09 UTC 2003


Quoting Matthias Saou <matthias at rpmforge.net>:

> Hi,
> 
> I've got a few minor remarks regarding the example spec file given here:
> http://rhl.redhat.com/participate/developers-guide/ch-rpm-building.html
> 
> - Summary: "The foo package does foo": Having redundancy ("the package
>   foo") in the summary is useless IMHO, and shouldn't be encouraged.

Seconded.


> - Requires vs. PreReq: AFAIK, both are now handled identically and using
>   PreReq shouldn't be needed anymore. Jeff can correct me if I'm wrong.

IIRC PreReq vs Requires handling only differs in presence of dependency loops.
Speaking of which... would be good to point out in the docs never to create them.

>   For explicit requirements of the %pre/%post scriplets, should the
>   "Requires(pre):" way be suggested from now on or not?

See http://www.fedora.us/pipermail/fedora-devel/2003-June/001457.html - how you
interprete that is another deal :)

> - BuildPreReq vs. BuildRequires: Same thing, and it seems even more
>   useless to have any kind of distinction for source packages.

Yup, these are just aliases for each other.

> - The n-e-v-r should maybe be added at the end of the first line of each
>   %changelog entry. I don't do it myself (email address too long ;-)),
>   but I've noticed it has become common practise inside Red Hat.

Some additional stuff:
- "make" in %build section should probably be "make %{?_smp_mflags}" to enable
paraller compiling where applicable, or at least mention that in the hints section.

> 
> It's a nice introduction page to what a spec file is, the descriptions
> below are short and clear. Good work!

Indeed!

> 
> 
> Now about the guidelines... ;-)
> 
> 5) "The package may obsolete itself"... I really don't get that one!

Me neither, unless it means packages which have "Obsoletes: foo" and "Provides:
foo" but even in that case it could be worded more clearly.


> Also, there is no mention of "Epoch:" usage, not even a quick note to
> suggest not introducing any apart from when it's really the last resort. I
> guess people may want to stay out of the endless discussion for as long as
> possible ;-)
> IIRC, I think I read someone mentioning somewhere that a list of current
> packages with full "n-e-v-r" would be maintained. With the current
> implementation of epoch handling in rpm >= 4.2.1, this will become a
> necessity when depending on specific versions of certain packages.

Also I didn't notice any version handling guidelines. The Fedora project spent
like 6 months creating a specification how to handle odd package versioning so
that rpm can deal with them cleanly and there are *still* some unresolved bits.
Much of the document is Fedora-specific but similar document about handling
alphabets in version numbers etc would be good addition to the docs:
http://www.fedora.us/wiki/PackageNamingGuidelines

-- 
    - Panu -





More information about the fedora-devel-list mailing list