[CentOS-devel] Anaconda errors when building custom CentOS-based distro

Fri May 6 18:38:22 UTC 2005
Sam Hart <sam at progeny.com>

Okay, I think I found the solution. I'm posting it to the mailing list
so that (hopefully) when someone else has this same problem and they
google for it (like I did) they can find a potential solution without
having to sink an excess of time into ripping anaconda apart :-)

The problem lies inside of "upd-instroot" inside the anaconda-runtime
package. Inside the "prunePackageList()" function is where it is
supposed to find all the RPMs needed for the install environment. It
does this by iterating through a list of package names and ls'ing for
their associated RPM in your asset directory, with this line:
        for PKG in $PACKAGES; do
        	PATTERN="${PATTERN:+${PATTERN}|}(^$PKG )"
        	PACKAGEFILES="$PACKAGEFILES $(ls $PACKAGEPATH/${PKG}*{${ARCH},noarch}.rpm 2>/dev/null)"
        done
        
The problem was, this custom CentOS-based distro was for an i586-based
system, but it was just a first *rough* build to test installation, so I
had all *i386.rpm files except for glibc and openssl, which were
*i586.rpm.

So, long story short, the errors I was getting were because the i586
glibc was not being pulled into the install environment (the above code
only pulls in the RPMs if it is i386).

Hope that helps someone else with this problem in the future,
considering that anaconda-runtime proceeds to build bootable ISO
directories even if glibc wasn't actually available for the $ARCH it's
looking for :-)

-- 
                                            '''''''''''''''''''''''''
.O.                                         Sam Hart, sam at progeny.com
..O                                        Progeny Linux Systems, Inc
OOO                                         <http://www.progeny.com/>