Building as non-root; Set up a end user build directory

From #rpm on irc.freenode.net 25 April 2005:
08:01  jbj> aristocrat: best bits I got. rpm-4.4.1 in FC, that is about as
         strong a QA test as rpm ever gets.
[Editor's note: at ftp://jbj.org/pub/ ]
08:02  jbj> rpm-4.4.2 has better sqlite3, little else atm.
08:04  aristocrat> jbj, so would you suggest going with rpm-4.4.2 and i dont
	 have to worry about something going wrong?:)
08:08  jbj> aristocrat: I don't prognosticate. meanwhile, I've been using
         rpm-4.4.2 for months w/o problem. ymmv, everyone's does wrto rpm.
08:09  aristocrat> jbj, great, your the boss here, i take your advice and am
         going for 4.4.2 :D

09:08  hhoffman> perhaps a silly question... but is there any way to use rpm
	to install SRPMS into ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
	or should I be using rpm2cpio?
09:13  mharris> hhoffman: ftp://people.redhat.com/mharris/hacks/rpmbuild-nonroot-1.0.tar.gz
09:17  hhoffman> kthnx. I'd been doing much as this as root before and
	finally decided that's prolly not the safest way to go so I'm
	shifting everything to build under my non-priv user account
09:19  jbj> hhoffman: ftp://jbj.org/pub/jbj/{macros,rpmrc,xrpm} how I build
09:21  jbj> the files at the url I gave are a configuration for rpm that
	builds non-root, and someplace other than /usr/src/redhat
09:22  jbj> I build foo in /X/foo invoking xrpm wrapper
09:23  jbj> I also build /A /B ... /Z using other wrappers

Review Matthias Saou's [FreshRPMs] account of the fight (local copy) for much more information.

Russ Herrold's [Owl River] quickie script to set up an end user build tree: RPM-build-tree.txt
Download and save under a handy file name; change the permissions '+x' to make it executable, and run it; voila -- a well-formed end user build tree and starting macro file.

Review Mike Harris's [Red Hat] thoughts and notes personal ftp site (local copy) - rpmbuild-nonroot-1.0.tar.gz and README.

Stephen Smoogen [a 'graduate' from Red Hat] is also a respected packager. He offered this advice on the rpm-list.


Building Notes - Other Voices

The rather nice [Mandrake] general tutorial on RPM .spec file design and related issues off site - and local

The PLD outline on RPM .spec file design and cleanup issues off site - and local

The JPackage Project outline on RPM .spec file design and cleanup issues off site - and local copy)

The GuruLabs outline on the topic: off site - and and local copy PDF)