[Peeweelinux] Creating your own packages from RPMS Mini-HOWTO

Daniel Purcell [email protected]
Wed, 9 Jul 2003 14:43:51 -0600


For this Mini-HOWTO, I'll use the example of creating a custom package out of 
the web browser konquerer.

1.  First, create a temporary directory:

dan@duck $ mkdir -p /tmp/rpmroot/

This will become your root directory.  RPM will makes files from here on, such 
as /tmp/rpmroot/usr/local/konquerer, or /tmp/rpmroot/var/log/konquerer.log, 
etc.

2.  Run this command (I'm using RPM version 4.1, but should work with RPM 3.0)

dan@duck $ rpm -i --root /tmp/rpmroot --nodeps --noscripts --ignoreos \
	--ignorearch --force --notriggers --dbpath ./rpm.db \
	konquerer-i386.rpm

where the --root points to where your temporary root directory is, and where 
konquerer-i386.rpm is the path to the rpm you want to unpack.

3.  Tar it up, and make a list file.

dan@duck $ cd /tmp/rpmroot/

dan@duck $ ls
usr 			var

dan@duck $ tar cvf konquerer.tar usr var >konquerer.list

In this example, the rpm made usr and var subdirectories.  The above tar 
command creates a tar archive, calls it konquerer.tar, and includes the usr 
and var directories in its archive.  All the output that usually goes to the 
screen is redirected to a file called konquerer.list.  

It is important that the filenames are similar, meaning the file that contains 
the tar archive be named the filename.tar, and the file containing a list of 
what's in the tar archive with the name filename.list.  

4.  Copy these files to your PeeWeeLinux packages subdiretory.

dan@duck $ mkdir -p /root/Embedded_Build/packages/Web_Browsers/

dan@duck $ cp konquerer.* /root/Embedded_Build/packages/Web_Browsers/

5.  Load up ./pwlconfig, and in the Configure Project Filesystem, you should 
have the option now of selecting the Web_Browsers option, and then following 
that the konquerer option.

-Daniel Purcell
StoneFly Technology
St. George, Utah