All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: "Xu, Dongxiao" <dongxiao.xu@intel.com>
Cc: yocto <yocto@yoctoproject.org>,
	"scott.a.garman@intel.com" <scott.a.garman@intel.com>
Subject: Re: Installation order question with RPM backend
Date: Wed, 11 Apr 2012 10:45:10 -0500	[thread overview]
Message-ID: <4F85A706.3030508@windriver.com> (raw)
In-Reply-To: <1334158628.27917.28.camel@dongxiao-osel>

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.

(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
>>>
>>
>
>



  reply	other threads:[~2012-04-11 15:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-11 15:14 Installation order question with RPM backend Xu, Dongxiao
2012-04-11 15:25 ` Mark Hatle
2012-04-11 15:37   ` Xu, Dongxiao
2012-04-11 15:45     ` Mark Hatle [this message]
2012-04-11 15:51       ` Xu, Dongxiao
2012-04-11 15:56         ` Mark Hatle
2012-04-11 16:04           ` Xu, Dongxiao
2012-04-11 16:06           ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F85A706.3030508@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=dongxiao.xu@intel.com \
    --cc=scott.a.garman@intel.com \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.