From: Robert Yang <liezhi.yang@windriver.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: meta/lib/oe/rootfs.py: dont' remove any packages by default
Date: Sat, 1 Aug 2015 11:57:58 +0800 [thread overview]
Message-ID: <55BC43C6.2020800@windriver.com> (raw)
In-Reply-To: <2950215.CmNeN3gmTU@peggleto-mobl.ger.corp.intel.com>
On 07/31/2015 06:46 PM, Paul Eggleton wrote:
> Hi Robert,
>
> On Friday 31 July 2015 14:56:15 Robert Yang wrote:
>> Currently, the rootfs.py removes base-passwd, shadow, update-rc.d,
>> update-alternatives and run-postinsts when package-management not
>> in IMAGE_FEATURES, this causes two problems:
>>
>> 1) This makes we can't install the removed pkgs to rootfs, such as
>> IMAGE_INSTALL_append = " shadow", the shadow can't installed (first
>> installed, then removed)
>>
>> 2) The base-passwd has been removed, but the /etc/passwd and /etc/group
>> are still existed since they are generated by preinst, this would
>> confuse the user, and we can't add a postuninst to remove /etc/passwd
>> and /etc/group since they are required when runtime.
>>
>> I think that we should not remove any pkgs by default, we can add some
>> interfaces/ways to let the user decide whether to remove them or any
>> other pkgs, for example, add a REMOVE_PACKAGS variable, leave it as NULL
>> or only add run-postinsts to it by default.
>
> There is a reason for these not to be there by default when you don't have
> runtime package management - the assumption is you won't be adding or removing
> any users, thus the binaries that those packages install aren't needed.
>
> Now, it might be argued that if for example you're using some non-package-
> management based application installation mechanism that has per-application
> users (Android does this) you will need to add and remove users and therefore
> you do still need those tools, in which case we would probably need a
> mechanism for preventing the removal of those packages. I'm not sure whether
> that would be an IMAGE_FEATURES item (e.g. "user-management"), or perhaps we
> just make this code get the value of a variable specifying the list of
> packages to remove instead of it being hardcoded as it is now. Either way
I prefer use a variable like REMOVE_PACKAGS to remove them, but after more
thinking, it seems that we need something like user-management since the
removing only be enabled when package-management/user-management is not
in IMAGE_FEATURES.
On the other side, use IMAGE_FEATURES like user-management may also
cause confusion to the user, when people does things like:
IMAGE_INSTALL_append += "shadow"
He wants to use the command like "useradd", but sorry, the "user-management"
is not in IMAGE_FEATURES, so he can't get the command "useradd". Usually
linux users know that the package like shadow provides the command "useradd",
but only OE developers/users(or advanced developer/users) know that he also
needs user-management in IMAGE_FEATURES, this seems not a good user experience.
The similar to rpm/package-management, when we install rpm package in the image,
usually, we'd like to use command like "rpm -qa/ql", but it doesn't work when
package-management is not in the IMAGE_FEATURES, we've received a few
questions/complains about this.
I think that OE is a development platform, we'd better avoid such policies
for the end user, we don't remove anything for them in the fundamental code
like rootfs.py by default, and leave interfaces for them to remove when
they want.
// Robert
> though I think the default behaviour does make sense for most people and I
> don't think we ought to be changing that part.
>
> Cheers,
> Paul
>
next prev parent reply other threads:[~2015-08-01 3:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-31 6:56 meta/lib/oe/rootfs.py: dont' remove any packages by default Robert Yang
2015-07-31 10:46 ` Paul Eggleton
2015-07-31 11:05 ` Jack Mitchell
2015-07-31 11:09 ` Nicolas Dechesne
2015-07-31 11:12 ` Paul Eggleton
2015-07-31 12:01 ` Nicolas Dechesne
2015-08-01 3:57 ` Robert Yang [this message]
2015-08-05 10:23 ` Paul Eggleton
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=55BC43C6.2020800@windriver.com \
--to=liezhi.yang@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=paul.eggleton@linux.intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox