[frozen-bubble] Fix FTBFS (rhbz#914013)

Hans de Goede jwrdegoede at fedoraproject.org
Wed Mar 6 11:48:28 UTC 2013


commit b9aa91ec2884921fcab66d46a9f3d0d5a4a039b1
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Wed Mar 6 12:51:33 2013 +0100

    Fix FTBFS (rhbz#914013)
    
    - Use new systemd macros for scripts (rhbz#850120)
    - Drop sysv -> systemd conversion scripts

 frozen-bubble-2.1.0-bigendianaudio.patch |   26 -----------------
 frozen-bubble-2.2.1-setuid.patch         |   24 ++++++++++++++++
 frozen-bubble.spec                       |   45 +++++++----------------------
 3 files changed, 35 insertions(+), 60 deletions(-)
---
diff --git a/frozen-bubble-2.2.1-setuid.patch b/frozen-bubble-2.2.1-setuid.patch
new file mode 100644
index 0000000..d7c2ab4
--- /dev/null
+++ b/frozen-bubble-2.2.1-setuid.patch
@@ -0,0 +1,24 @@
+diff -up frozen-bubble-2.2.1-beta1/server/tools.c~ frozen-bubble-2.2.1-beta1/server/tools.c
+--- frozen-bubble-2.2.1-beta1/server/tools.c~	2010-08-07 15:36:27.000000000 +0200
++++ frozen-bubble-2.2.1-beta1/server/tools.c	2013-03-06 12:31:35.474128780 +0100
+@@ -261,10 +261,17 @@ void daemonize() {
+         if (user_to_switch != NULL) {
+                 struct passwd* user = getpwnam(user_to_switch);
+                 if (user) {
+-                        setgid(user->pw_gid);
+-                        setuid(user->pw_uid);
++                        if (setgid(user->pw_gid)) {
++                                l2(OUTPUT_TYPE_ERROR, "Cannot switch uid to %s: %s", user_to_switch, strerror(errno));
++                                exit(EXIT_FAILURE);
++                        }
++                        if (setgid(user->pw_gid)) {
++                                l2(OUTPUT_TYPE_ERROR, "Cannot switch gid to %s: %s", user_to_switch, strerror(errno));
++                                exit(EXIT_FAILURE);
++                        }
+                 } else {
+-                        l2(OUTPUT_TYPE_ERROR, "Cannot switch user to %s: %s", user_to_switch, strerror(errno));
++                        l2(OUTPUT_TYPE_ERROR, "Cannot find user %s: %s", user_to_switch, strerror(errno));
++                        exit(EXIT_FAILURE);
+                 }
+         }
+ 
diff --git a/frozen-bubble.spec b/frozen-bubble.spec
index 7e9bd9e..f88604f 100644
--- a/frozen-bubble.spec
+++ b/frozen-bubble.spec
@@ -2,13 +2,14 @@
 Summary: Frozen Bubble arcade game
 Name: frozen-bubble
 Version: 2.2.1
-Release: 0.3.beta1%{?dist}
+Release: 0.4.beta1%{?dist}
 License: GPLv2
 Group: Amusements/Games
 URL: http://www.frozen-bubble.org/
 Source0: http://www.frozen-bubble.org/data/frozen-bubble-%{version}-beta1.tar.bz2
 Source1: frozen-bubble.desktop
 Source2: fb-server.service
+Patch0:  frozen-bubble-2.2.1-setuid.patch
 BuildRequires: desktop-file-utils
 BuildRequires: gettext
 BuildRequires: glib2-devel
@@ -57,6 +58,7 @@ Frozen Bubble network game server.
 
 %prep
 %setup -q -n %{name}-%{version}-beta1
+%patch0 -p1
 # Rename this README since the main server README has the same name
 %{__mv} server/init/README server/README.init
 # Change the example server configuration file to be a working one, which only
@@ -80,7 +82,6 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
 # Desktop file
 %{__mkdir_p} %{buildroot}%{_datadir}/applications
 desktop-file-install \
-    --vendor "" \
     --dir %{buildroot}%{_datadir}/applications \
     %{SOURCE1}
 
@@ -119,42 +120,13 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %post server
 /usr/sbin/useradd -r -s /sbin/nologin -d %{_datadir}/%{name} fbubble \
     &>/dev/null || :
-#/sbin/chkconfig --add fb-server
-if [ $1 -eq 1 ] ; then 
-    # Initial installation 
-    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-fi
+%systemd_post fb-server.service
 
 %preun server
-#if [ $1 -eq 0 ]; then
-#    /sbin/service fb-server stop &>/dev/null || :
-#    /sbin/chkconfig --del fb-server
-#fi
-if [ $1 -eq 0 ] ; then
-    # Package removal, not upgrade
-    /bin/systemctl --no-reload disable fb-server.service > /dev/null 2>&1 || :
-    /bin/systemctl stop fb-server.service > /dev/null 2>&1 || :
-fi
+%systemd_preun fb-server.service
 
 %postun server
-#if [ $1 -ge 1 ]; then
-#    /sbin/service fb-server condrestart &>/dev/null || :
-#fi
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
-if [ $1 -ge 1 ] ; then
-    # Package upgrade, not uninstall
-    /bin/systemctl try-restart fb-server.service >/dev/null 2>&1 || :
-fi
-
-%triggerun -- frozen-bubble-server < 2.2.0-11
-# Save the current service runlevel info
-# User must manually run systemd-sysv-convert --apply fb-server
-# to migrate them to systemd targets
-/usr/bin/systemd-sysv-convert --save fb-server >/dev/null 2>&1 ||:
-
-# Run these because the SysV package being removed won't do them
-/sbin/chkconfig --del fb-server >/dev/null 2>&1 || :
-/bin/systemctl try-restart fb-server.service >/dev/null 2>&1 || :
+%systemd_postun_with_restart fb-server.service
 
 
 %files
@@ -174,6 +146,11 @@ fi
 
 
 %changelog
+* Wed Mar  6 2013 Hans de Goede <hdegoede at redhat.com> - 2.2.1-0.4.beta1
+- Fix FTBFS (rhbz#914013)
+- Use new systemd macros for scripts (rhbz#850120)
+- Drop sysv -> systemd conversion scripts
+
 * Wed Feb 13 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.2.1-0.3.beta1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
 


More information about the scm-commits mailing list