summaryrefslogtreecommitdiffstats
path: root/meta/classes/systemd.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* systemd.bbclass: Allow enabling of parameterised servicesBob Ham2015-12-091-0/+14
| | | | | | | | | | | | | | Currently the systemd.class will check whether a service exists when it is requested to enabled it. However, its check does not take into account that a service like 'foo@eth0.service' can be enabled from a service named 'foo@.service'. This patch alters the check function in systemd.class to look for 'foo@.service' if the normal check fails. (From OE-Core rev: 4ce15271dad3520e5de2500c609b05d5a511e453) Signed-off-by: Bob Ham <bob.ham@collabora.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd.bbclass: Use systemd_system_unitdirPau Espin Pedrol2015-08-101-5/+4
| | | | | | | (From OE-Core rev: 0cd61456c0ae912b9fa525db1b3c811e01349d27) Signed-off-by: Pau Espin Pedrol <pau.espin@aweurope.be> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd.bbclass: drop has_exactly_one_service settingDmitry Eremin-Solenikov2015-05-141-3/+0
| | | | | | | | | | | The has_exactly_one_service variable was used in now deleted code. Drop this part to make code cleaner. (From OE-Core rev: 8acee5a86efd146186e0de1c41d0e4e4223d8b36) Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: don't add files and dependencies from units ConflictsRoss Burton2014-11-041-4/+1
| | | | | | | | | | | Adding dependencies and moving files based on Conflicts tags in unit files isn't right, mainly as it means that systemd depends on systemd-binfmt, because the latter ends up containing the shutdown.target unit. (From OE-Core rev: 02767aac492cedf6ccd02648b8e65751cc23c11c) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d/systemd: Remove OVERRIDES dependencyRichard Purdie2014-09-231-0/+2
| | | | | | | | | | | | | Taking run-postinsts and building for two machines which have different OVERRIDES leads to two different sets of stamps for an allarch package. We don't need to depend on OVERRIDES in these classes, the end resulting variables are good enough. We can therefore exclude the dependency and allow a single package to be generated for run-postinsts. (From OE-Core rev: fdc949154e64afb41dd4db3a97be74a15963128d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Globally replace oe.utils.contains to bb.utils.containsOtavio Salvador2014-04-251-6/+6
| | | | | | | | | | | BitBake has the exact same code as oe.utils.contains so there's no reason to duplicate it. We now rely on the bb.utils.contains code for metadata. (From OE-Core rev: 93499ebc46547f5bf6dcecd5a786ead9f726de28) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: pass --root in prerm if running on hostRoss Burton2013-12-181-1/+7
| | | | | | | | | | | If a systemd image is built without a package manager then packages will be removed from an image during rootfs generation, but without passing --root the systemctl will look on the *host* system. (From OE-Core rev: d01da862d10d9544f8da846b577cf955041d4c0c) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes: More optimal DISTRO_FEATURES referencesRichard Purdie2013-12-051-8/+7
| | | | | | | | | Using the contains function results in more optimal sstate checksums resulting in better cache reuse as we as more consistent code. (From OE-Core rev: 9c93526756e7cbbff027c88eb972f877bcb1f057) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: fix commentsPaul Eggleton2013-11-141-2/+2
| | | | | | | | | It's DISTRO_FEATURES; DISTRO_FEATURE is invalid. (From OE-Core rev: d2380c683d5411e7a85c3ce80115aea329187534) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Track postinst/prerm in task checksumRichard Purdie2013-10-071-0/+3
| | | | | | | | | | 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>
* systemd.bbclass: get the correct /lib directorySaul Wold2013-09-101-3/+3
| | | | | | | | | | | 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>
* systemd: Remove base_libdir if installed only for systemd_unitdirMuhammad Shakeel2013-09-101-0/+3
| | | | | | | | | | | | | | | | | | | 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>
* systemd: Remove init.d dir if systemd unit file is present and sysvinit not ↵Muhammad Shakeel2013-07-311-0/+15
| | | | | | | | | | | | | | 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>
* systemd: Remove systemd_unitdir if systemd is not in distro featuresMuhammad Shakeel2013-07-241-0/+9
| | | | | | | | | | | 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>
* systemd: Don't enable systemd services when native.Randy Witt2013-07-101-0/+2
| | | | | | | | | | | | 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>
* classes: Use modern exception raising syntaxRichard Purdie2013-05-091-2/+2
| | | | | | | | | 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>
* systemd.bbclass: restart service in postinst, not startRoss Burton2013-04-091-1/+1
| | | | | | | | | | | | | | | | | 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>
* update-rc.d, systemd: redirect also stderr from typeMartin Jansa2013-04-021-2/+2
| | | | | | | | | | * 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>
* update-rc.d/systemd: change communication variable nameRoss Burton2013-03-261-4/+7
| | | | | | | | | | 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>
* systemd: check for systemctl first, and don't force systemd to be installed.Ross Burton2013-03-261-16/+11
| | | | | | | | | | 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>
* systemd.bbclass: fix bb.errorMartin Jansa2013-03-011-1/+1
| | | | | | | | | | | | 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>
* systemd.bbclass: Dont use libdir and base_libdir for unitsKhem Raj2013-02-151-4/+9
| | | | | | | | | | | | | | | | 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>
* systemd.bbclass: use PACKAGESPLITFUNCS instead of populate_packages_prependRoss Burton2013-02-111-7/+7
| | | | | | | | | 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>
* systemd.bbclass: helper class for recipes with systemd unitsRoss Burton2013-02-111-0/+158
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>