[oe] [oe-commits] Andreas Müller : systemd.bbclass: add *-systemd packages to RRECOMMENDS

Martin Jansa martin.jansa at gmail.com
Wed Jul 18 14:28:36 UTC 2012


On Wed, Jul 18, 2012 at 04:21:19PM +0200, Andreas Müller wrote:
> On Wed, Jul 18, 2012 at 2:31 PM, Martin Jansa <martin.jansa at gmail.com> wrote:
> > On Tue, Jul 17, 2012 at 11:23:43AM +0200, Koen Kooi wrote:
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA1
> >>
> >> Op 17-07-12 11:18, Martin Jansa schreef:
> >> > On Tue, Jul 17, 2012 at 10:54:41AM +0200, Andreas Müller wrote:
> >> >> On Mon, Jul 16, 2012 at 8:25 PM, Martin Jansa <martin.jansa at gmail.com>
> >> >> wrote:
> >> >>> On Mon, Jul 16, 2012 at 07:42:56AM +0000, git at git.openembedded.org
> >> >>> wrote:
> >> >>>> Module: meta-openembedded.git Branch: master Commit:
> >> >>>> 264e5a44e1111f939b43c11bb9514a0b435918db URL:
> >> >>>> http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=264e5a44e1111f939b43c11bb9514a0b435918db
> >> >>>>
> >> >>>>
> >> >>>>
> >> Author: Andreas Müller <schnitzeltony at googlemail.com>
> >> >>>> Date:   Wed Jul 11 20:46:07 2012 +0200
> >> >>>>
> >> >>>> systemd.bbclass: add *-systemd packages to RRECOMMENDS
> >> >>>
> >> >>> This is a bit unfortunate e.g. when busybox is used in small chroot
> >> >>> image. busybox pulls busybox-syslog, which now adds
> >> >>> busybox-syslog-systemd and it ends with
> >> >>> systemd/dbus/udev/shadow/pam/util-linux/kmod being added to
> >> >>> previously small image, see:
> >> >>>
> >> >>> http://git.shr-project.org/git/?p=buildhistory.git;a=blobdiff;f=images/crespo/eglibc/chroot-image/installed-package-names.txt;h=07187b9e51bd0199910152a8019d117ed41cc2db;hp=8f401e657dd449e30fe8183dc86a791d09614d9f;hb=ac04304bb15221b49e5af6838068f158e7d628ed;hpb=4c0555e7fa689c3c20902c7fc1ec8e525769723f
> >> >>>
> >> >>>
> >> >>>
> >> So it could be solved by image specific BAD_RECOMMENDATIONs or something
> >> >>> like that, but by default it doesn't work very well in this
> >> >>> use-case.
> >> >>>
> >> >>> Cheers,
> >> >>>
> >> >> I think the image specific BAD_RECOMMENDATION is not that easy to
> >> >> implement and to handle by user. I am 'dreaming' of of a distro layer
> >> >> blacklist. So in your case the distro could mask out whole
> >> >> meta-systemd. Could you live with that?
> >> >
> >> > No, as the same distro is used to create full images with systemd and
> >> > this chroot-image is just small initramfs for kernel (where
> >> > systemd+friends is really not needed/expected).
> >>
> >> I think the easiest solution is to remove 'inherit systemd' from busybox.
> >
> > I have similar problem with gpsd/fso-gpsd and gpsd-systemd too.. On some
> > devices I would like to include gpsd-systemd in image (e.g. with
> > systemd-machine-units or through some machine specific task), but on
> > others (e.g. om-gta02) I need only fso-gpsd.service to provide gpsd
> > (gpsd-systemd locks gpsd port).
> >
> > So maybe I didn't understand Andreas right.. I can put all *-systemd
> > packages to BAD_RECOMMENDATIONs and then include only needed in
> > tasks/images like I did before..
> >
> Martin,
> 
> Correct me if I go wrong but I think you are mixing up two issues:

yes but slightly related, see bellow
> 
> issue 1. busybox: automatic redepending drags in things you don't want.
> issue 2. gpsd: If I understand you right: there are two services
> shipped and auto-enabled and that is leading to a conflict.

Yes, but sofar having gpsd installed was fine, because it didn't pull
gpsd-systemd too (so user was able to start gpsd manually if needed).

Now with PN-systemd pulled by PN I need to be more carefull with images
having both gpsd/fso-gpsd.

> My suggestions:
> issue 1. Similar as Koen suggested but I would add an additional
> variable - something like SYSTEMD_NO_RRECOMMENDS_{PN}. If this is set
> to "1", the automatic rrecommends are not appended.
> issue 2. The conflict could be resolved by SYSTEMD_AUTO_ENABLE = "disable".

I'm trying BAD_RECOMMENDATIONS to resolve this:
http://git.shr-project.org/git/?p=meta-smartphone.git;a=commit;h=679453cdbc2c58b6558c8ede8e6e17826dbb7b3d
http://git.shr-project.org/git/?p=meta-smartphone.git;a=commit;h=fe8a92f123ef3137a9e08e6419315f97f4a663fb
http://git.shr-project.org/git/?p=meta-smartphone.git;a=commit;h=1afdd57475bd3ce586e622bfe6baeb3906bedc2f
http://git.shr-project.org/git/?p=meta-smartphone.git;a=commit;h=af74fe87eeb606b167697453d515a269e2280eb6

but it needs more testing (other builds still running) and for some
reason opkg refuses to remove gpsd-systemd:

SHRZ root at zjama ~ $ opkg remove gpsd-systemd
No packages removed.
Collected errors:
 * print_dependents_warning: Package gpsd-systemd is depended upon by packages:
 * print_dependents_warning:    task-shr-systemd
 * print_dependents_warning:    gpsd
 * print_dependents_warning: These might cease to work if package gpsd-systemd is removed.

 * print_dependents_warning: Force removal of this package with --force-depends.
 * print_dependents_warning: Force removal of this package and its dependents
 * print_dependents_warning: with --force-removal-of-dependent-packages.
SHRZ root at zjama ~ $ opkg info gpsd
Package: gpsd
Version: 3.4-r7
Depends: libgps20 (>= 3.4), update-rc.d, gpsd-gpsctl, libgpsd20 (>= 3.4), bluez4 (>= 4.101), libusb-1.0-0 (>= 1.0.8), libc6 (>= 2.16)
Recommends: gpsd-conf, gpsd-systemd

even when it's only in gpsd's Recommends..

will check buildhistory after image build if it works there..

Cheers,

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20120718/019c097d/attachment-0002.sig>


More information about the Openembedded-devel mailing list