On Wed, 2012-04-11 at 10:45 -0500, Mark Hatle wrote: > On 4/11/12 10:37 AM, Xu, Dongxiao wrote: > > On Wed, 2012-04-11 at 10:25 -0500, Mark Hatle wrote: > >> On 4/11/12 10:14 AM, Xu, Dongxiao wrote: > >>> Hi Mark, > >>> > >>> I met a strange issue while using RPM to generate the rootfs. > >>> > >>> In the installation list, if we have 2 RPM packages, say A.rpm and > >>> B.rpm. package A RDEPENDS on package B. While installing the two > >>> packages? Does RPM ensures to install B first and then install A? > >>> > >>> The real issue is: we have certain packages that need to run > >>> useradd/groupadd at rootfs time, for example, the dbus. However the > >>> useradd/groupadd bbclass RDEPENDS on base-files, which provides > >>> the /etc/group file. While installing the final image, sometimes we saw > >>> it installs dbus firstly and then base-files, causing the > >>> useradd/groupadd script error since it could not find /etc/group file. > >> > >> it does enforce install order, however the /etc/group, /etc/passwd files > >> (last > >> time I checked) were being put into place by the post install scripts. The > >> scripting order is handled somewhat independently of the package install > >> order. > >> (post install scripts get delayed intentionally for performance reasons. > >> There is a way to hint a dependency for them as well...) > >> > >> The passwd/group files are fairly unique files, and generally are installed > >> -first- (individually) before any other packages on most RPM installations. > >> After that the methods and install ordering works... > >> > > But does the following log indicates the dbus-1 is installed before > > base-passwd? > > > > dbus-1 ################################################## > > Adding system startup > > for > > /distro/sdb/build-basic/tmp/work/qemux86-poky-linux/hob-image-hob-basic-1.0-r0/rootfs/etc/init.d/dbus-1. > > kernel-module-uvesafb ################################################## > > libusb-compat ################################################## > > base-passwd ################################################## > > Certainly appears that way.. but we'd need to look into the packages and > understand the requirements as they are defined and trace them to see if > there > is a problem w/ the ordering or if the packages have a problem. > > You will often see mysterious reordering when there is a circular dependency. > RPM has to break this dependency in some way, and it does it by simply > choosing > one or the other. (There is a hint mechanism for circular dependencies, but > we've never used it.) > > My suggestion is lets look at the package runtime dependenices and manually > trace them.. Focus on dbus-1 and base-passwd... and see if the order is > right > or wrong or if there is a circular dependency.
I checked the dbus.spec and base-passwd.spec. For dbus.spec, there is a line: %package -n dbus-1 Requires: base-passwd And for base-passwd, there is no dbus exists in base-passwd.spec. Thanks, Dongxiao > > (Also our version of RPM 5 is a bit old, and there are some known bugs in > it.. > as far as I know, none of them with the dependency resolution or code paths > we > follow.) > > --Mark > > > Thanks, > > Dongxiao > > > >> --Mark > >> > >>> I tried ipk and it doesn't have problem since it ensures to install > >>> base-files firstly. > >>> > >>> Any comment is welcome. > >>> > >>> Thanks, > >>> Dongxiao > >>> > >> > > > > > _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto