summaryrefslogtreecommitdiffstats
path: root/meta/classes/update-rc.d.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* update-rc.d/systemd: Remove OVERRIDES dependencyRichard Purdie2014-09-231-0/+1
| | | | | | | | | | | | | 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>
* update-rc.d: fix logic in populate_packages_updatercdChen Qi2014-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'and' logic for the check is wrong. To make things clear, please see the example below. Say that we have a recipe A, which has a sysv-init style init script named initA and no corresponding service file. The recipe inherits update-rc.d, but it doesn't inherit systemd.bbclass. The DISTRO_FEATURES has 'systemd' inside it, but it doesn't have 'sysvinit'. Now if we build an image, with the 'and' logic in the check, the symlinks for initA would not be installed into /etc/rc?.d directory. This is incorrect. Because there's no corresponding service. The symlinks in /etc/rc?.d/ should be created so that the service would be correctly started at boot time. The logic should really be 'or' in the check. This is actually what the code was when it was originally written. Several different situations are listed below to prove the correctness of the 'or' logic. If 'sysvinit' is in DISTRO_FEATURES, the initA script would always be installed with corresponding preisnt/postinst generated and added. If 'sysvinit' is not in DISTRO_FEATURES, we have three situations. 1) A has initA and A.service. In such situation, systemd.bbclass would set INHIBIT_UPDATERCD_BBCLASS, so no preinst/postinst about update-rc.d would be added and the symlinks for initA would not be created. 2) A has initA, and the functionality of initA is not implemented internally in systemd. In such situation, symlinks for initA would be installed. 3) A has initA, and the functionality of initA is implemented internally in systemd or in some other recipe. Examples for such situation are alsa-state and keymaps in OE. In such situation, we need to set INHIBIT_UPDATERCD_BBCLASS in the recipe so that there would be no preinst/postinst scripts about update-rc.d added. (From OE-Core rev: 6272c81509bbdb5d602056ceaa6f2c02bbf47a41) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d: Allow to use different initscripts providerMartin Jansa2014-06-101-1/+2
| | | | | | | | | | | | * until now all recipes were respecting VIRTUAL-RUNTIME_initscripts variable but commit bba835fed88c3bd5bb5bd58962034aef57c408d8 hardcoded "initscripts" runtime dependency (From OE-Core rev: 8b4256758ba55dcabe80dd1bf3884cdf1cc39909) 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>
* update-rc.d/useradd: Add additional dependeciesSaul Wold2014-06-061-0/+2
| | | | | | | | | | | | | These dependcies are needed to ensure that thier packages are created correctly since these classes have runtime dependiences in their packages but they are not actually created yet at rootfs time. [YOCTO #6072] (From OE-Core rev: bba835fed88c3bd5bb5bd58962034aef57c408d8) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d: Handle multilib case for initscriptsSaul Wold2014-05-111-1/+2
| | | | | | | | | | | | | When building multilib, we also have to add the multlib prefix otherwise we get a WARNING: WARNING: Multilib QA Issue: lib32-dbus package lib32-dbus - suspicious values 'initscripts-functions' in RDEPENDS [YOCTO #6164] (From OE-Core rev: 2e14dbb7f85532220f9aec293ddd4143fae8407b) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Globally replace oe.utils.contains to bb.utils.containsOtavio Salvador2014-04-251-1/+1
| | | | | | | | | | | 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>
* update-rc.d.bbclass: fix inhibit checkKai Kang2014-02-211-1/+1
| | | | | | | | | | | | | | | In update-rc.d.bbclass it checks variable INHIBIT_UPDATERCD_BBCLASS to inhibit from inheriting this class. But it is wrong logic that when 'sysvinit' is in 'DISTRO_FEATURES', INHIBIT_UPDATERCD_BBCLASS will not be checked. Replace 'or' with 'and' to fix it. (From OE-Core rev: a0353102184892f09d3f97f018e457a4684550ea) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/recipes: Remove virtclass referencesRichard Purdie2014-02-131-1/+1
| | | | | | | | | The virtclass overrides will go away at some point (apart from the multilib one). Change them all to class-xxx instead since people enjoy copy and pasting them. (From OE-Core rev: d1c073d2813bd913617990cd047507353ea0c09e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d: automatically rdepend on initscripts-funtionsChen Qi2014-02-021-0/+12
| | | | | | | | | | | | | | | Automatically add 'initscripts-functions' to packages when needed. This extra dependency is added only when the package's init script would be used at system start-up. In other words, in a systemd based image, if the package has already got its service files, it will not have this extra dependency. (From OE-Core rev: de875cb8893fd8372dd77babaef54ab2d790693d) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes: More optimal DISTRO_FEATURES referencesRichard Purdie2013-12-051-1/+1
| | | | | | | | | 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>
* update-rc.d.bbclass: Cleanup package scriptsJacob Kroon2013-11-011-24/+25
| | | | | | | | | | | | | | * Add proper preinst script * Use -n "$D"/-z "$D" checks throughout the scripts * Only set OPT in cases where its used * Don't pass unnecessary -f to update-rc.d in postrm script * Remove outdated comment (From OE-Core rev: 2d9114aaf130179cb13c20c8b045c2694eca6fd9) Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d.bbclass: Fix host/target test in postinstJacob Kroon2013-10-291-1/+1
| | | | | | | | | | | | | | | | | | | When running the postinst script I get a shell warning: sh: argument expected and the service is never stopped. This patch fixes the warning message and stops the service. Patch v2: Hans Beckérus pointed out that the patch is not correct. This version uses the syntax proposed by Hans. I've tested that the postinst script works correctly when run on the target, both when the init script exists and when it doesn't exist. (From OE-Core rev: 7e23557835f756b22b95fa7a1926b5d1d21872c3) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rcd.bbclass: fix host/target testRoss Burton2013-10-161-5/+3
| | | | | | | | | | | "update-rc: Stop and remove service if updating package" (oe-core d91b08) had a bug in it's implementation of a "host or target" test which always resulted in "target", so the rootfs scripts were attempting to restart daemons on the host. (From OE-Core rev: 2b179d90eacc58f0b217f64407782a9174362850) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc: Stop and remove service if updating packageFelipe F. Tonello2013-10-141-1/+17
| | | | | | | | | | | | | | Since when updating packages packages managers do not remove the previous package, it just replaces new files and run pre/post install scripts. This causes not to update update-rc scripts if they were changed. This patch is useful in case the newer package version updated the update-rc script. (From OE-Core rev: d91b08f3a27baa49ae35dc20dba1b2d76e6abd64) Signed-off-by: Felipe F. Tonello <eu@felipetonello.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* udpated-rc.d: Track postinst/prerm/postrm in task checksumRichard Purdie2013-10-071-0/+2
| | | | | | | | | | 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: 4003218f774c38bb5de0d95a43153f8b8d7fc4ce) 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>
* update-rc.d: correctly look up the initscript params with overridesRoss Burton2013-04-101-3/+9
| | | | | | | | | | | | | | The creation of a clone of d with extra OVERRIDES was removed in 72c1fd72d3b479c728e249eaa763116d352e945b but some of the lookups are essential so that variables such as ${INITSCRIPT_PARAMS} get overriden and resolved correctly on a per-package basis. [ YOCTO #3960 ] (From OE-Core rev: b016bc9aaabc90fe4dc98af8c5e73dfcb4526ef4) 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-5/+3
| | | | | | | | | | 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>
* update-rcd: drop depends to recommends, check for update-rcd in scriptsRoss Burton2013-03-261-5/+10
| | | | | | | (From OE-Core rev: 2c403979c03898c679c5a1e1092aec784dbeb77c) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rcd.bbclass: handle both sysvinit and systemd features being presentRoss Burton2013-03-261-3/+6
| | | | | | | | | | | | Run the helper if the sysvinit feature is present, or if the systemd feature is present but the systemd class hasn't been inherited. We want to run in the latter case as systemd has sysvinit compatibility, but we don't want to always run so that pure systemd images don't have redundant sysvinit files. (From OE-Core rev: a3856ab19f1d4ae312f559521785ad4384700729) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Drop none package specific packaging variable accessesRichard Purdie2013-02-171-3/+3
| | | | | | (From OE-Core rev: 24cbe88429ba021d7c461e0271b67106d11d5eb2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d: don't do anything if systemd.bbclass is inheritedRoss Burton2013-02-111-8/+11
| | | | | | | | | | | | | | We need the update-rc.d class to work when systemd is being used so that packages that only have SysV init scripts still work. However if a recipe supports both we don't want to install SysV and systemd files under systemd. To solve this, before doing real work in update-rc.d check if the systemd class has been inherited and don't do anything if it has. (From OE-Core rev: 0273a22fec3c9360df2510b759c5bf9af610551f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert: update-rc.d: disable update-rc.d.bbclass when systemd enabledSaul Wold2013-02-081-1/+86
| | | | | | | | | | | | | This was just wrong - when systemd is being used there'll still be packages that use SysV-style init scripts, which systemd supports fine. This reverts commit b94227f7290796f6ebbe5c5ff1680b9b689022b1. (From OE-Core rev: 3f50b61c77406f87d36437cca53573f86f314641) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d: disable update-rc.d.bbclass when systemd enabledRadu Moisan2013-01-201-89/+1
| | | | | | | | | | | update-rc.d is not necessary when systemd is enabled, systemctl is the replacement (From OE-Core rev: eaa82c842d3197e0251a887ba16028c22f9d8d94) Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d:fix support postrm at image creation timeHongxu Jia2013-01-181-1/+5
| | | | | | | | | | | | updatercd_postrm failed at image creation time because "-f -r ${D}" is not used as update-rc.d's option. [YOCTO #3633] (From OE-Core rev: deb8ac868a989f41c0664312a5fb855358be2296) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: replace virtclass-native(sdk) with class-native(sdk)Robert Yang2012-11-021-2/+2
| | | | | | | | | | | | | The overrides virtclass-native and virtclass-nativesdk are deprecated, which should be replaced by class-native and class-nativesdk. [YOCTO #3297] (From OE-Core rev: 9fbeab63315fef0dbcc91c5e7051665764758a6e) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert tab indentation in python functions into four-spaceRichard Purdie2012-07-191-34/+34
| | | | | | (From OE-Core rev: 604d46c686d06d62d5a07b9c7f4fa170f99307d8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie2012-03-051-10/+10
| | | | | | | | | | | | Using "1" with getVar is bad coding style and "True" is preferred. This patch is a sed over the meta directory of the form: sed \ -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \ -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \ -i `grep -ril getVar *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d.bbclass: do nothing for extended cross packagesOtavio Salvador2012-02-241-0/+1
| | | | | | | (From OE-Core rev: a1f23a7cc527afdd1ce6cc7cd6083ee78fde09b3) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d.bbclass: override UPDATERCD for nativesdkBernhard Guillon2011-12-161-0/+2
| | | | | | | | | | | | Override UPDATERCD for nativesdk. Without, update-rc.d is installed to /usr/sbin/update-rc.d with meta-toolchain if nativesdk recipe inherits update-rc.d. An example recipe for this is dbus. (From OE-Core rev: bf10cc692491acd615b503779c44e6d7ab3ffe68) Signed-off-by: Bernhard Guillon <Bernhard.Guillon@hale.at> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* getVar/setVar cleanupsRichard Purdie2011-11-271-1/+1
| | | | | | | | | Complete the bb.data.getVar/setVar replacements with accesses directly to the data store object. (From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie2011-11-101-18/+18
| | | | | | | | | | | | | | | | | This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` (From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d.bbclass: Changed RDEPENDS for nativeSaul Wold2011-01-241-1/+3
| | | | Signed-off-by: Saul Wold <sgw@linux.intel.com>
* update-rc.d: Allow the primary deamon package to be specified in UPDATERCPN, ↵Richard Purdie2010-12-301-2/+4
| | | | | | update gsmd to use this Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* update-rc.d.bbclass: adjust order on tweaking postinstKevin Tian2010-08-171-5/+10
| | | | | | | | | | | So far unlike prerm/postrm, update-rc.d has its own postinst method prepended to pkg_postinst, which may result "System startup links for xxx already exist" warning in the 1st boot of target image. Some pkg_postinst requires to run on the target, and thus prepend here makes update-rc.d method executed twice: one in rootfs creation and the other in the 1st target boot. So adjust the order to append. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
* update-rc.d: Add native version, add native dependency to class, convert ↵Richard Purdie2009-11-161-1/+1
| | | | | | staging function Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* classes: Remove and sanitise import statementsRichard Purdie2009-11-131-1/+0
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* update-rc.d.bbclass: Only change the main package RDEPENDS, not all the ↵Richard Purdie2009-01-071-1/+1
| | | | RDEPENDS as this affects things like the -doc packages
* update-rc.d.bbclass: add code at start of post install scripts so it will be ↵Marcin Juszkiewicz2008-07-291-3/+5
| | | | | | called on host git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4976 311d38ba-8fff-0310-9ca6-ca027cbcb966
* update-rc.d.bbclass: Tweak changeRichard Purdie2007-08-061-1/+1
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2370 311d38ba-8fff-0310-9ca6-ca027cbcb966
* update-rc.d.bbclass: Stop the class corrupting the D variableRichard Purdie2007-08-061-6/+4
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2369 311d38ba-8fff-0310-9ca6-ca027cbcb966
* classes: Sync with OE - mainly quoting fixes or other minor updatesRichard Purdie2006-11-201-4/+5
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@885 311d38ba-8fff-0310-9ca6-ca027cbcb966
* Fix whitespaceRoss Burton2006-11-201-4/+4
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@883 311d38ba-8fff-0310-9ca6-ca027cbcb966
* update-rc.d.bbclass: 'Fix' whitespaceRichard Purdie2006-11-201-29/+29
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@881 311d38ba-8fff-0310-9ca6-ca027cbcb966
* classes: Standardise whitespace in anonymous python methods and factor out ↵Richard Purdie2006-11-201-33/+37
| | | | | | functions for more efficent use by bitbake (as also patched in OE) git-svn-id: https://svn.o-hand.com/repos/poky/trunk@875 311d38ba-8fff-0310-9ca6-ca027cbcb966
* Rename /openembedded/ -> /meta/Richard Purdie2006-07-211-0/+69
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966