21 Commits

Author SHA1 Message Date
Andreas Müller
b52a74b7a2 systemd.bbclass: extract SYSTEMD_SERVICE properly
To set service files the following syntax is allowed:

SYSTEMD_SERVICE = <service_file>
or
SYSTEMD_SERVICE_{<systemd_package_name>} = <service_file>

A function get_package_var was introduced to handle all use-cases [1]
properly.

Build tested / buildhistory checks

[1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-May/039870.html

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-06-05 10:46:50 +02:00
Andreas Müller
27e2e32869 systemd.bbclass: remove unused code
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-06-05 10:46:49 +02:00
Koen Kooi
f6330ed09c Revert "systemd.bbclass: drop postrm, use prerm instead"
This removed the $D check, which should stay

This reverts commit 637cb7e3d2cfdc74d239a4257e6f3477aa17da4e.
2012-05-21 14:07:25 +02:00
Andreas Oberritter
637cb7e3d2 systemd.bbclass: drop postrm, use prerm instead
* Calling "systemctl disable" from postrm is too late and
  causes the following error:

| Failed to issue method call: No such file or directory

* Messing with $D is not needed in *rm scripts.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-05-17 09:37:57 +02:00
Martin Jansa
154d0bb399 systemd.bbclass: allow recipe to inherit systemd with empty SYSTEMD_SERVICE
* I have use case where common recipe does inherit systemd and only some BSP's are bbappending some SERVICEs to it
* install was moved intentionaly, so that /lib/systemd/system is not
  created if there is no .service file (causing QA Warning about
  unpackaged dir)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-04-26 13:47:32 +02:00
Koen Kooi
21c47cff7a systemd bbclass: allow recipes to silence WARNING during parsing when ${PN}-systemd is unwanted
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-04-18 10:49:50 +02:00
Andreas Müller
ed8bbbc690 systemd.bbclass: remove systemd_unitdir it is set in oe-core
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-03-23 07:55:11 +01:00
Otavio Salvador
504f2e084c systemd.bbclass: fix regression caused by c9f5703aded
The parsing condition was broken causing the packages not being
expanded to include <PN>-systemd packages automatically.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-25 09:51:54 +01:00
Otavio Salvador
c9f5703ade systemd.bbclass: do not mangle PACKAGES variable in native, nativesdk and cross
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-24 23:42:16 +01:00
Andreas Müller
114cefffb9 systemd.bbclass: automatically extend RDEPENDS for *-systemd packages
* append systemd functionalty moved into systemd_add_rdepends
* append base-pgk in case receipe does not set RDEPENDS for *-systemd package

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller
4c66cea579 systemd.bbclass: automatically extend FILES_* for systemd packages
* Add files found in SYSTEMD_SERVICE and add service files referenced by 'Also='
  (and 'Conflicts=' in case of one service for links to /dev/null) recursively.
* For *.socket files the corresponding '*.service' and '*@.service are packed
* In case a file set in SYSTEMD_SERVICE does not exist, build is aborted with an
   error message.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller
916b26ef7d systemd.bbclass: run code in populate_packages_prepend only if ${D} exists
All further manipulations need to be performed only once. This modication
avoids unwanted behaviour when inheriting rm_work.bbclass [1]

[1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-February/038067.html

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller
450417617a systemd.bbclass: automatically install all *.service and *.socket supplied in recipe's SRC_URI
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller
71f61f799c systemd.bbclass: automatically create packages set in SYSTEMD_PACKAGES
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller
eb6c7f77b7 systemd.bbclass: cosmetics
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller
3502ef4afd systemd.bbclass: enhance checks for SYSTEMD_PACKAGES and SYSTEMD_SERVICE
after recipe parsing the following plausibilities are checked:
* ERROR if empty SYSTEMD_PACKAGES
* ERROR if SYSTEMD_PACKAGES entry does not contain '-systemd' AND
  package_name != ${PN}
* ERROR if SYSTEMD_PACKAGES entry contains '-systemd' but entry without
  '-systemd' (base pkg) does not exist
* WARNING if SYSTEMD_PACKAGES containing ${PN} to force package maintainers to
  split out systemd-specific files into *-systemd
* error if SYSTEMD_SERVICE(_<systemd-package>) is empty for one or more entries
  in SYSTEMD_PACKAGES

The code in populate_packages_prepend to set SYSTEMD_PACKAGES to ${PN} as
default was removed.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:31 +01:00
Andreas Müller
6143fd76a1 systemd.bbclass: introduce systemd_unitdir
Follow suggestion in [1]

[1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-February/038018.html

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-23 16:46:30 +01:00
Otavio Salvador
b67977efbe Revert "systemd.bbclass: depends on systemd"
This reverts commit c029d4a268de1ac7076fbeb9e337e96fdb1b226d.
2012-02-20 22:22:02 +01:00
Otavio Salvador
c029d4a268 systemd.bbclass: depends on systemd
Packages that uses the systemd class need to have systemd build
otherwise they might fail to detect systemd as available or fail to
generate rootfs.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-02-01 08:24:07 +01:00
Otavio Salvador
051102329c systemd.bbclass: stop using SYSTEMDPN to rdepends addition
The systemd runtime dependency needs to be add dynamically onto each
package that has the postinst generate thus removing the SYSTEMDPN use
et all.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-11-08 14:07:51 +01:00
Otavio Salvador
39ce6e1fbb systemd.bbclass: make easier handle service enabling
This generates the postinst/prerm/postrm routines for the package
specified in SYSTEMD_PACKAGES avoding code duplication and
centralizing the handling of it for easy maintainence work.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-11-04 19:41:19 +01:00