Commit Graph

15 Commits

Author SHA1 Message Date
Richard Purdie 47129f300f systemd: Track postinst/prerm in task checksum
When these functions change, the package should rebuild but currently it
does not. We need to add the dependencies manually as the dependency
code can't track dynamically created variables.

(From OE-Core rev: c5d7100a358244085a697a23790676df5eb4afa3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-07 09:37:31 +01:00
Saul Wold 6b4f7e4b26 systemd.bbclass: get the correct /lib directory
By using os.path.dirname(systemd_unitdir) we get the correct /lib directory instead of
dealing with possibly multilib directories.  This address a QA Error for shipped/not
installed /lib with multilib and x32.

(From OE-Core rev: 5b451a46550ba62e2fbfe5dbe50723b34a4fd527)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:15:16 +01:00
Muhammad Shakeel 8dedc082ba systemd: Remove base_libdir if installed only for systemd_unitdir
If a recipe installs systemd_unitdir and it is a non-systemd build than
systemd.bbclass deletes systemd_unitdir (/lib/systemd/) but not
base_libdir (/lib). In this case if base_libdir is empty than following
QA Issue is reported.

ERROR: QA Issue: openssh: Files/directories were installed but not shipped
  /lib

If base_libdir was installed due to systemd_unitdir installation than for
non-systemd build it should also be removed.

(From OE-Core rev: c700cb21c189e23a78f0efaaf763259c8cfefa4d)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:15:16 +01:00
Muhammad Shakeel 3b9b8d571d systemd: Remove init.d dir if systemd unit file is present and sysvinit not a distro feature
If systemd is supported DISTRO_FEATURE and sysvinit is not and also if
systemd_unitdir contains anything then no need to keep init.d scripts
for sysvinit compatibility.

(From OE-Core rev: 823c90ad344ca2205f3055e2dcae08c6616f29b7)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-31 06:59:56 +01:00
Muhammad Shakeel 67864ca79d systemd: Remove systemd_unitdir if systemd is not in distro features
If systemd is not supported DISTRO_FEATURE than there is no need to
package related service files.

(From OE-Core rev: ac5d20f4adac69ea1702694fb50849c9e465b443)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-24 11:35:39 +01:00
Randy Witt ce1638c50d systemd: Don't enable systemd services when native.
It shouldn't be desired that systemd enable services when using
class native. Blanking out the SYSTEMD_PACKAGES when native seems
like the most straightforward way to fix this problem.

(From OE-Core rev: e0ce07010d2e818dc43ffdff6f3cdd94f18d7af5)

Signed-off-by: Randy Witt <rewitt@declaratino.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-10 09:41:51 +01:00
Richard Purdie db8217f6b8 classes: Use modern exception raising syntax
Modern expection rasing syntax is function call format, convert to this
to keep python 3 happy and model correct coding style in the core.

(From OE-Core rev: f4b382754603d3f1caa13824bcc8d06b568bbc59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09 14:06:50 +01:00
Ross Burton f6ae87e838 systemd.bbclass: restart service in postinst, not start
When upgrading packages it's possible that the service is already running
because opkg doesn't actually execute the prerm hooks on upgrades, which is
where the service should be stopped.

Handle this case by restarting in postinst instead of starting.  If the service
isn't already running then this doesn't make a difference, but if it is running
then the service will be restarted.

[ YOCTO #4213 ]

(From OE-Core rev: 319ef0df4ae7ed0372eff90e11244123eccb023c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-09 18:09:14 +01:00
Martin Jansa c0910f26ea update-rc.d, systemd: redirect also stderr from type
* different shells different behavior?
  bash prints 'type: update-rc.d: not found' on stderr
  busybox's sh on stdout

(From OE-Core rev: 45e22312c48b23480bd6dff98702b0691a48f7d1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-02 18:16:24 +01:00
Ross Burton d82e303921 update-rc.d/systemd: change communication variable name
Rename SYSTEMD_BBCLASS_ENABLED to INHIBIT_UPDATERCD_BBCLASS to reflect the
action, for clarity.

(From OE-Core rev: cf43320c343437659aee94acd005bf7712f273cd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26 22:43:03 +00:00
Ross Burton 7bb060ebd0 systemd: check for systemctl first, and don't force systemd to be installed.
With both sysvinit and systemd features enabled these postinsts may actually run
on a target without systemd, so check that systemctl is present before using it.

(From OE-Core rev: ac00e56cb9daacef17a6fdebe7b8ca1667b7e1c4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26 22:43:03 +00:00
Martin Jansa 0ca565d70c systemd.bbclass: fix bb.error
NOTE: recipe avahi-ui-0.6.31-r7.0: task do_package: Started
ERROR: %s does not appear in package list, please add it avahi-ui-daemon
ERROR: %s does not appear in package list, please add it avahi-ui-dnsconfd

(From OE-Core rev: 36a2bae816b1abf776d0f1a2b6b2c3d9a861a4ca)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-01 13:03:26 +00:00
Khem Raj 3b909b369a systemd.bbclass: Dont use libdir and base_libdir for units
systemd always uses /lib and /usr/lib to store unit files
so using libdir and base_libdir is incorrect. It will work
where libdir is usr/lib and base_libdir is /lib but wont work
when say its /lib64

Add a check to make sure that SYSTEMD_PACKAGES are part of PACKAGES
too, otherwise error out

(From OE-Core rev: 22e16f44b58ae6bbf719b9074d39aac065a402f1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-15 12:18:30 +00:00
Ross Burton 2c87657be9 systemd.bbclass: use PACKAGESPLITFUNCS instead of populate_packages_prepend
This is cleaner and leads to more accurate profiles.

(From OE-Core rev: eed7294ba9aedf47af5c64ff11777015e59f48ef)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11 22:48:50 +00:00
Ross Burton 66af82eab3 systemd.bbclass: helper class for recipes with systemd units
This class adds postinst/prerm scripts to start/stop/enable/disable the services
as relevant, and some magic to ensure the service files are installed.

Based on (but not the same as) the systemd.bbclass in meta-systemd, so thanks to
the following for their work there:

Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Khem Raj <raj.khem@gmail.com>
Martin Jansa <Martin.Jansa@gmail.com>
Andreas Müller <schnitzeltony@googlemail.com>
Koen Kooi <koen@dominion.thruhere.net>

(From OE-Core rev: f4bf51612f8be1d3dd340fc456f3fa08fcfa34ef)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11 14:46:10 +00:00