[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