Hi,
see the attached patch. To the best of my knowledge, the bug only affects old, sysv-based distributions, not systemd based ones.
On (10/08/14 19:31), Jakub Hrozek wrote:
Hi,
see the attached patch. To the best of my knowledge, the bug only affects old, sysv-based distributions, not systemd based ones.
From af5de49d561c82d6f50f506d9f15697d8fc42657 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek jhrozek@redhat.com Date: Sun, 10 Aug 2014 19:25:28 +0200 Subject: [PATCH] RPM: Restart service in %posttrans, not %post
When upgrading from a 1.9 version with monolithic packaging to 1.10 or later with per-provider subpackage, sssd-common can be upgraded (and restarted) before the new sssd-$provider is restarted. This can lead to a startup failure, because the sssd_be process from already upgraded sssd-common would attempt to load a sssd_$provider.so from the legacy sssd package.
Restarting the service in %posttrans makes sure all the packages are in place when we restart the service.
Resolves: https://fedorahosted.org/sssd/ticket/2399
contrib/sssd.spec.in | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in index 82d8e895ca0119deaa8a8dad6f96eac029ebdf99..1429c263d2de3ae45a2a35ae73e47487ce295063 100644 --- a/contrib/sssd.spec.in +++ b/contrib/sssd.spec.in @@ -848,9 +848,8 @@ fi %post common /sbin/chkconfig --add %{servicename}
-if [ $1 -ge 1 ] ; then
- /sbin/service %{servicename} condrestart 2>&1 > /dev/null
-fi +%posttrans +/sbin/service %{servicename} condrestart 2>&1 > /dev/null
%preun common if [ $1 = 0 ]; then
"%posttrans" is the last one scriptlet. http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Ordering
"%posttrans" section could be the last scriptlet and not in the middle of other, but it is not important.
ACK
LS
On Mon, Aug 11, 2014 at 08:38:54AM +0200, Lukas Slebodnik wrote:
On (10/08/14 19:31), Jakub Hrozek wrote:
Hi,
see the attached patch. To the best of my knowledge, the bug only affects old, sysv-based distributions, not systemd based ones.
From af5de49d561c82d6f50f506d9f15697d8fc42657 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek jhrozek@redhat.com Date: Sun, 10 Aug 2014 19:25:28 +0200 Subject: [PATCH] RPM: Restart service in %posttrans, not %post
When upgrading from a 1.9 version with monolithic packaging to 1.10 or later with per-provider subpackage, sssd-common can be upgraded (and restarted) before the new sssd-$provider is restarted. This can lead to a startup failure, because the sssd_be process from already upgraded sssd-common would attempt to load a sssd_$provider.so from the legacy sssd package.
Restarting the service in %posttrans makes sure all the packages are in place when we restart the service.
Resolves: https://fedorahosted.org/sssd/ticket/2399
contrib/sssd.spec.in | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in index 82d8e895ca0119deaa8a8dad6f96eac029ebdf99..1429c263d2de3ae45a2a35ae73e47487ce295063 100644 --- a/contrib/sssd.spec.in +++ b/contrib/sssd.spec.in @@ -848,9 +848,8 @@ fi %post common /sbin/chkconfig --add %{servicename}
-if [ $1 -ge 1 ] ; then
- /sbin/service %{servicename} condrestart 2>&1 > /dev/null
-fi +%posttrans +/sbin/service %{servicename} condrestart 2>&1 > /dev/null
%preun common if [ $1 = 0 ]; then
"%posttrans" is the last one scriptlet. http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Ordering
"%posttrans" section could be the last scriptlet and not in the middle of other, but it is not important.
ACK
LS
Thanks for the review.
About the ordering -- my logic was a different, I tried to group the service restarts together.
Anyway, pushed to master: 192027debeaa991690160c3cb68480fe54ad8fdf and sssd-1-11: 34e1d900fcb37a8e9f8b9c28467f37cd30ed854a
sssd-devel@lists.fedorahosted.org