From: Herbert Poetzl (herbert_at_13thfloor.at)
Date: Sat 07 Dec 2002 - 14:47:33 GMT
On Sat, Dec 07, 2002 at 02:19:32PM +0100, Lars Braeuer wrote:
> does anyone have a brief explanation of how rpm is working when giving
> it a list of rpms (like in the vserver redhat minimum installation
> script). I'm currently adapting the redhat installation script to work
> with suse (7.3/8.0), it almost works but there's still a problem that
> drives me crazy. I'm not used to rpm, I usually compile all my
> applications by hand, but for an automated vserver creation rpm is much
> easier. ;)
>
> I checked the rpm manpages several times and the only thing I found, is
> that rpm tries to sort the packages, so that all dependencies are
> fullfilled.
>
> when running the install script with a minium rpm list, it almost
> installs all packages. but one of the most important packages (aaa_base)
> containing a basic passwd and group file, is not installed. I kind of
> found a workaround by copying the passwd and group file from the
> installation cd, but there are more files in the aaa_base rpm that are
> needed.
the aaa_base or similar "base" packages on rpm based
distributions are usually some kind of "fake" package
which gets installed after the "base" installation
required to get rpm, etc working. so these packages
usually list a number of files, but do not contain
any of those files (they usually can be found on the
first installation CD in a directory named "*base*" ...
the installation scripts simply copy the files to the
destination directory/medium and then install the
selected packages including the fake aaa_base package.
hope this helps,
Herbert
> running rpm with the -vv options shows the files of aaa_base are
> created, but they don't appear in the vserver and the following rpms
> complain about the missing passwd file.
>
> ----------------
> D: running postinstall scripts (if any)
> D: New Header signature
> D: Signature size: 156
> D: Signature pad : 4
> D: sigsize : 160
> D: Header + Archive: 301258
> D: expected size : 301258
> D: package: aaa_base-2002.3.27-0 files test = 0
> D: file: /bin/fillup action: create
> D: file: /etc/DIR_COLORS action: create
> D: file: /etc/bash.bashrc action: create
> .....
> ----------------
>
>
>
> this is the order the files are in listed in the minimum rpm list (this
> has been take from a suse cd):
> those are only the first few lines:
> ---------
> suse/a1/aaa_dir-2002.3.13-3.i386.rpm
> suse/a1/aaa_skel-2002.3.20-1.i386.rpm
> suse/a1/aaa_version-2002.3.20-7.i386.rpm
> suse/a1/aaa_base-2002.3.27-0.i386.rpm
> suse/a1/ash-0.2-520.i386.rpm
> suse/ap1/at-3.1.8-512.i386.rpm
> suse/a1/base-2002.3.20-0.i386.rpm
> suse/a1/bash-2.05-302.i386.rpm
> suse/a1/bc-1.06-351.i386.rpm
> suse/a1/bzip-1.0.2-32.i386.rpm
> suse/a1/cpio-2.4.2-642.i386.rpm
> suse/d1/cpp-2.95.3-216.i386.rpm
> suse/a1/cracklib-2.7-575.i386.rpm
> ....
> -----------
>
>
> this is the order in which the first few packets are *actually installed*:
>
> -------
> aaa_dir
> aaa_skel
> aaa_version
> gdbm
> perl
> glibc
> readline
> bash
> ash
> at
> base
> --> here's where the installation of aaa_base is tried. but no error
> messages.
> .....
> ------------
>
>
> any help is highly appreciated.
>
> when finished, I'll contribute the work to the vserver project ofcourse.
>
>
> lars