[OE-core] meta/lib/oe/rootfs.py: dont' remove any packages by default
Jack Mitchell
ml at communistcode.co.uk
Fri Jul 31 11:05:24 UTC 2015
On 31/07/15 11:46, 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
> 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
Recently I tried (and failed) to add update-rc.d to my image so I could
disable/enable init scripts easily and this explains why. I don't know
what to do about it, but I don't have package management however I would
like update-rc.d, so I second that something needs to be done to allow
exceptions or overrides.
Cheers,
More information about the Openembedded-core
mailing list