On Sat, 2006-08-12 at 06:21 -0500, Johnny Hughes wrote:
On Sat, 2006-08-12 at 07:51 -0300, Eduardo Grosclaude wrote:
On 8/12/06, Johnny Hughes mailing-lists@hughesjr.com wrote: On Fri, 2006-08-11 at 15:49 +0100, Ron Yorston wrote: > "Eduardo Grosclaude" eduardo.grosclaude@gmail.com wrote: > >Great! I was just looking for this! Unfortunately there seems to be > >something missing: by the time we run the first yum command, there's no > >distroverpkg package installed under $LIVE to query for $releasever. > >--------------- > >Should the user install centos-release RPM with prefix equal to $LIVE > >beforehand? > >Or is there any other easy but correct way to pass this variable to yum? > > I got around this by editing my yum repo files to replace $releasever > with 4. Which is horrible, so I too would like to know if there's a > better way. > > I still can't get it to work, though. I do get about 90MB of stuff > installed, as promised, but there are lots of '%post(...) scriptlet > failed' messages during the installation. Although many things are > installed into the chroot area there are clearly some things missing. > The first command I typed in the chroot was 'ls', but /bin/ls isn't > there even though, according to yum.log, coreutils was installed. > > Actually, I was able to scroll back far enough to see this during the > installation: > > error: %pre(coreutils-5.2.1-31.2.i386) scriptlet failed, exit status 255 > error: install: %pre scriptlet failed (2), skipping coreutils-5.2.1-31.2 > > Ron
If you can install centos-release into the chroot, it should then return 4. Or editing the yum repo file and addding 4 is OK.
I downloaded the latest centos-release rpm and tried to install it into $LIVE with rpm relocate feature. This has to be done with --force as rpm thinks it is already installed. Despite the rpm being "no relocatable" as per "rpm -qpi", this works, populating $LIVE/etc and friends. However, after this, yum keeps giving the same error as before.
Brutally replacing $releasever by "4" in CentOS-Base.repo seems to convince yum to work. But then doing "yum -c $LIVE/etc/yum.conf --installroot=$LIVE install centos-release" proceeds to _install_ the same package that rpm had previously _installed_... hmmmm... :P
--
when using RPM to install centos-release initially ... use the --root function like this:
rpm -ivh --root $LIVE centos-release
^^^^^^^ - here would go the rest of the rest of the rpm name :)
That SHOULD work.
I haven't studied John's scripts .. but also important is properly mounting /dev, /proc, /sys into the chroot as well.