CreatingPackageHowTo

David A. Wheeler dwheeler at dwheeler.com
Mon Jun 30 15:07:32 UTC 2008


I think there that there is a real need for the
"CreatingPackageHowTo" page. The "RPM Guide" by
Eric Foster-Johnson is not a bad book, nor is "Maximum RPM". However...

Documents like the "RPM Guide" tend to be generic for any distro, and fail
to give enough Fedora-specific info. E.G, for _Fedora_:
* You need to know about "yum install rpmdevtools", and "rpmdev-setuptree".
* For each tag, you need to know the Fedora rules, right when you learn
  about the tag.  E.G., generic docs will tell you "Summary:" exists,
  but not "Use American English".  For "Group:" where do you find the
   list of groups?  For "License:", where's the list of license abbreviations?
* %build should use%{?_smp_mflags} with make, where appropriate.
* There are lots of Fedora-specific guidelines that should an intro document
   should link to, if you're creating Fedora packages.

Many of the documents on RPM don't seem have clear statements explaining
misleading terminology, and as a result they're very confusing.
The "build directory" and "build root" are fundamentally different, yet
many existing docs don't make it _clear_ that there is a difference.
The "%install" section doesn't actually do the final software install
(when you have a build root), but this is often not made clear; a reader
might think that's what is run when users install a binary RPM.

Finally, most of the RPM docs aren't well-maintained.
For example, Fedora packages are supposed to use "%check",
which is essentially undocumented, and are supposed to AVOID
"%makeinstall" if they can. WHY aren't the docs maintained?
I believe a key reason is that they aren't on a Wiki.
Wikis (by their nature) are easy to update/fix, and thus they
tend to be more up-to-date.

I don't think it has to be either/or.  The "CreatingPackageHowTo"
page gives the overall info, and then links to specific chapters
for specific information when it's needed.

--- David A. Wheeler 




More information about the fedora-devel-list mailing list