Skip to main content.

Archives

This is the archive for September 2007

Sunday, September 09, 2007

Ubuntu Feisty Fawn and the related Kubuntu (Ubuntu + KDE) works neatly with UIM, which is superior to SCIM and SKIM in many aspects. However, a couple of configuration problems gave me some headache. The problem is present also in the new upcoming Gupsy. As I need Japanese (and possibly Chinese and Korean) input system for my work, here's how I did.

Saturday, September 01, 2007

I've been searching for days for a way to create RPM packages without the need of being root (that is, system administrator).
Normally, RPM builds packages by searching source files and unpacking them in the /usr tree; to put source files there, you have to be administrator, and that was the problem.

I wanted to have all the RPM build system in another place, like i.e. /home/myself/rpm/..., but tutorials and directions on the net on how to do that was sloppy, or outdated, or not working, or the three of them. I understood that there was the need to change the _topdir variable that is defined in the RPM system. I tried to set it to my preferred directory in the spec, but it didn't work; also, using personalized rpmrc file (in /etc, in my home as .rpmrc, as a custom file using command line switches to load it) but I kept having errors (something about _topdir used as an invalid token).

Finally, I found the little code that does the magic in a RedHat mailing list archive:

$ export RPM_TOP_DIR=/your/preferred/directory
$ rpmbuild --define "_topdir $RPM_TOP_DIR" -ba <specfile>

This works great. As a side note, this small code can create the tree that rpmbuild will use:

mkdir -p \
$RPM_TOP_DIR/BUILD\
$RPM_TOP_DIR/RPMS\
$RPM_TOP_DIR/i386\
$RPM_TOP_DIR/SOURCES\
$RPM_TOP_DIR/SPECS\
$RPM_TOP_DIR/SRPMS