Patchwork [meta-oe] systemd.bbclass: drop postrm, use prerm instead

login
register
mail settings
Submitter Andreas Oberritter
Date May 16, 2012, 4:56 p.m.
Message ID <1337187361-5043-1-git-send-email-obi@opendreambox.org>
Download mbox | patch
Permalink /patch/27837/
State Accepted
Commit 637cb7e3d2cfdc74d239a4257e6f3477aa17da4e
Headers show

Comments

Andreas Oberritter - May 16, 2012, 4:56 p.m.
* 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>
---
 meta-oe/classes/systemd.bbclass |   15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)
Otavio Salvador - May 16, 2012, 6:11 p.m.
On Wed, May 16, 2012 at 1:56 PM, Andreas Oberritter
<obi@opendreambox.org> wrote:
> * 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>
Koen Kooi - May 21, 2012, 12:10 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Op 16-05-12 18:56, Andreas Oberritter schreef:
> * 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.

"Messing" with $D *is* needed in *rm scripts, so this one has been reverted.
Feel free to resend patches with only the postrm/prerm changes.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: GPGTools - http://gpgtools.org

iD8DBQFPujCtMkyGM64RGpERAioSAJ9ibwFXxdJSPXh7iKMrxM/PiKOgXACfQ0Sc
TUWKlfzL12Y8BJ7gYw3gUBA=
=q4Bf
-----END PGP SIGNATURE-----
Andreas Oberritter - May 21, 2012, 1:12 p.m.
On 21.05.2012 14:10, Koen Kooi wrote:
> Op 16-05-12 18:56, Andreas Oberritter schreef:
>> * 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.
> 
> "Messing" with $D *is* needed in *rm scripts, so this one has been reverted.
> Feel free to resend patches with only the postrm/prerm changes.

Feel free to do it yourself.

Patch

diff --git a/meta-oe/classes/systemd.bbclass b/meta-oe/classes/systemd.bbclass
index db35717..1edd1e4 100644
--- a/meta-oe/classes/systemd.bbclass
+++ b/meta-oe/classes/systemd.bbclass
@@ -15,12 +15,7 @@  fi
 }
 
 systemd_prerm() {
-if [ -z "$D" ]; then
-    systemctl stop ${SYSTEMD_SERVICE}
-fi
-}
-
-systemd_postrm() {
+systemctl stop ${SYSTEMD_SERVICE}
 systemctl disable ${SYSTEMD_SERVICE}
 }
 
@@ -93,7 +88,7 @@  do_install_append() {
 
 python populate_packages_prepend () {
 	def systemd_generate_package_scripts(pkg):
-		bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
+		bb.debug(1, 'adding systemd calls to postinst/prerm for %s' % pkg)
 		localdata = bb.data.createCopy(d)
 		overrides = bb.data.getVar("OVERRIDES", localdata, 1)
 		bb.data.setVar("OVERRIDES", "%s:%s" % (pkg, overrides), localdata)
@@ -116,12 +111,6 @@  python populate_packages_prepend () {
 		prerm += bb.data.getVar('systemd_prerm', localdata, 1)
 		bb.data.setVar('pkg_prerm_%s' % pkg, prerm, d)
 
-		postrm = bb.data.getVar('pkg_postrm', localdata, 1)
-		if not postrm:
-			postrm = '#!/bin/sh\n'
-		postrm += bb.data.getVar('systemd_postrm', localdata, 1)
-		bb.data.setVar('pkg_postrm_%s' % pkg, postrm, d)
-
 	# add files to FILES_*-systemd if existent and not already done
 	def systemd_append_file(pkg_systemd, file_append):
 		appended = False