Skip to contentSkip to conversation

core-image-full-cmdline build failure

DISCUSSION Paul Barker 2 participants 4 messages Aug 19, 2014

lore
Share & tools
lore
#0 lore raw

Hi all,

I'm getting consistent failures trying to build core-image-full-cmdline with an up-to-date oe-core (d0be4b3) and bitbake (38d4f65). The useradd commands for rpcbind and openssh-sshd are running before the base-passwd package has been installed and so are not finding /etc/passwd.

I've hacked together a local fix for this by modifying the do_rootfs command to install base-passwd before installing other packages. If this is a common failure and it's not just me seeing it, would it be worth expanding the package types listed in the install manifest? Currently we have 'mip' for must install package, 'aop' for attempt only, etc. If we need to ensure certain packages are installed first, perhaps we could add something like 'ep' for early package.

Looking into the rpcbind package, the useradd commands are performed in a preinst script so I don't think the problem is opkg running the script too early. Do other package managers guarantee that a package's dependencies are installed before the preinst script is ran? If so, I may need to re-order things within opkg. If not, I think the above solution of listing certain packages for early installation would be best.

Thanks,

Signature · 4 lines
Paul Barker

Email: [email protected]
http://www.paulbarker.me.uk
#1 lore raw
Quoted 14 lines · Paul Barker

Hi all,

I'm getting consistent failures trying to build core-image-full-cmdline with an up-to-date oe-core (d0be4b3) and bitbake (38d4f65). The useradd commands for rpcbind and openssh-sshd are running before the base-passwd package has been installed and so are not finding /etc/passwd.

I've hacked together a local fix for this by modifying the do_rootfs command to install base-passwd before installing other packages. If this is a common failure and it's not just me seeing it, would it be worth expanding the package types listed in the install manifest? Currently we have 'mip' for must install package, 'aop' for attempt only, etc. If we need to ensure certain packages are installed first, perhaps we could add something like 'ep' for early package.

Quoted 4 lines

Looking into the rpcbind package, the useradd commands are performed in a preinst script so I don't think the problem is opkg running the script too early. Do other package managers guarantee that a package's dependencies are installed before the preinst script is ran? If so, I may need to re-order things

For rpm, I think yes ? The "pre" depends on base-passwd:

$ rpm -qpR -v tmp/deploy/rpm/core2_64/rpcbind-0.2.1-r0.core2_64.rpm | grep base-pass
manual: base-passwd
pre: base-passwd
post: base-passwd
preun: base-passwd
postun: base-passwd

But I can't find such info in ipk.

// Robert

Quoted 7 lines

within opkg. If not, I think the above solution of listing certain packages for early installation would be best.

Thanks,

#2 lore raw
Quoted 5 lines · Robert Yang
Quoted 3 lines · Paul Barker

Looking into the rpcbind package, the useradd commands are performed in a preinst script so I don't think the problem is opkg running the script

too

Quoted 1 line
Quoted 1 line

early. Do other package managers guarantee that a package's dependencies

are

Quoted 1 line
Quoted 1 line

installed before the preinst script is ran? If so, I may need to

re-order things

Quoted 4 lines

For rpm, I think yes ? The "pre" depends on base-passwd:

$ rpm -qpR -v tmp/deploy/rpm/core2_64/rpcbind-0.2.1-r0.core2_64.rpm |

grep base-pass

Quoted 8 lines

manual: base-passwd
pre: base-passwd
post: base-passwd
preun: base-passwd
postun: base-passwd

But I can't find such info in ipk.

Ok, looking at the opkg code it should satisfy dependencies before running the preinst script. I'll have to look into this further later and find out exactly what is going wrong.

Signature · 6 lines
(Sent from mobile)

Paul Barker

Email: [email protected]
http://www.paulbarker.me.uk
#3 lore raw
Quoted 22 lines · Paul Barker
Quoted 5 lines · Robert Yang
Quoted 3 lines · Paul Barker

Looking into the rpcbind package, the useradd commands are performed in a preinst script so I don't think the problem is opkg running the script

too

Quoted 1 line
Quoted 1 line

early. Do other package managers guarantee that a package's dependencies

are

Quoted 1 line
Quoted 1 line

installed before the preinst script is ran? If so, I may need to

re-order things

Quoted 4 lines

For rpm, I think yes ? The "pre" depends on base-passwd:

$ rpm -qpR -v tmp/deploy/rpm/core2_64/rpcbind-0.2.1-r0.core2_64.rpm |

grep base-pass

Quoted 6 lines

manual: base-passwd
pre: base-passwd
post: base-passwd
preun: base-passwd
postun: base-passwd

Quoted 7 lines
Quoted 2 lines

But I can't find such info in ipk.

Ok, looking at the opkg code it should satisfy dependencies before running the preinst script. I'll have to look into this further later and find out exactly what is going wrong.

Yea, I broke opkg. Also getting confused, I thought I'd switched back from the development snapshot of opkg to the released version but I hadn't.

*facepalm*

opkg-0.2.2 works, opkg-0.2.3-SNAPSHOT doesn't work as it fails to install things in the correct order. I'll have to fix this before releasing opkg-0.2.3.

Signature · 4 lines
Paul Barker

Email: [email protected]
http://www.paulbarker.me.uk