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,
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to