Hello community,

here is the log from the commit of package powerman for openSUSE:Factory 
checked in at 2017-08-12 20:29:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/powerman (Old)
 and      /work/SRC/openSUSE:Factory/.powerman.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "powerman"

Sat Aug 12 20:29:14 2017 rev:24 rq:516227 version:2.3.24

Changes:
--------
--- /work/SRC/openSUSE:Factory/powerman/powerman.changes        2017-05-16 
14:38:14.413424417 +0200
+++ /work/SRC/openSUSE:Factory/.powerman.new/powerman.changes   2017-08-12 
20:29:16.314625497 +0200
@@ -1,0 +2,27 @@
+Fri Aug 11 19:47:51 UTC 2017 - e...@suse.com
+
+- This package should not provide the user/group powerman
+  as it is the only user of this group: powermand runs as
+  this user/group and writes its data as this user/group.
+  This gives the sysadmin some control over who to give
+  access. There is no other application requiring this 
+  user/group.
+
+-------------------------------------------------------------------
+Fri Aug 11 18:04:54 UTC 2017 - e...@suse.com
+
+- run systemd-tmpfiles --create ... before starting service (bsc#1053481).
+
+-------------------------------------------------------------------
+Thu Jun 15 15:20:21 UTC 2017 - jjo...@suse.com
+
+- powerman service configured to start as powerman:powerman user
+  - Fixed autoconf files to allow for dynamic user and group in
+    powerman.service file
+    - service-dynamic-user-autofiles.patch
+  - Updated configure file with only necessary changes from
+    autoconf changes
+    - service-dynamic-user-configure.patch
+- Added %config to /etc/powerman/*.dev files
+
+-------------------------------------------------------------------

New:
----
  service-dynamic-user-autofiles.patch
  service-dynamic-user-configure.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ powerman.spec ++++++
--- /var/tmp/diff_new_pack.1J6tSM/_old  2017-08-12 20:29:18.818274534 +0200
+++ /var/tmp/diff_new_pack.1J6tSM/_new  2017-08-12 20:29:18.822273974 +0200
@@ -21,6 +21,9 @@
 %define _with_tcp_wrappers 1
 %undefine _with_genders
 
+%define powerman_g %name
+%define powerman_u %name
+
 Name:           powerman
 Version:        2.3.24
 Release:        0
@@ -29,6 +32,8 @@
 Group:          Productivity/Clustering/HA
 Url:            https://github.com/chaos/powerman
 Source0:        
https://github.com/chaos/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
+Patch1:         service-dynamic-user-autofiles.patch
+Patch2:         service-dynamic-user-configure.patch
 BuildRequires:  fdupes
 BuildRequires:  ncurses-devel
 BuildRequires:  pkg-config
@@ -41,11 +46,10 @@
 BuildRequires:  genders
 %endif
 BuildRequires:  pkgconfig(systemd)
-%if 0%{?suse_version}  >= 1330
-Requires(pre): user(daemon)
-%endif
 %{?systemd_requires}
 
+Requires(pre):  shadow
+
 %description
 PowerMan is a tool for manipulating remote power control (RPC) devices from a
 central location. Several RPC varieties are supported natively by PowerMan and
@@ -68,11 +72,15 @@
 
 %prep
 %setup -q
+%patch1 -p1
+%patch2 -p1
 
 %build
 %configure \
        --disable-static\
        --with-httppower \
+       --with-user=%{powerman_u} \
+       --with-group=%{powerman_g} \
 %{?_with_snmppower:--with-snmppower} \
 %{?_with_genders:--with-genders} \
 %{?_with_tcp_wrappers:--with-tcp-wrappers} \
@@ -85,7 +93,7 @@
 ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
 %{__mkdir} -p %{buildroot}%{_tmpfilesdir}
 cat >> %{buildroot}%{_tmpfilesdir}/%{name}.conf <<EOF
-d /var/run/powerman 0755 daemon root -
+d /var/run/powerman 0755 %{powerman_u} %{powerman_g} -
 EOF
 mv %{buildroot}%{_sysconfdir}/powerman/powerman.conf.example 
%{buildroot}%{_sysconfdir}/powerman/powerman.conf
 rm -r %{buildroot}%{_libdir}/stonith
@@ -93,10 +101,14 @@
 
 %pre
 %service_add_pre %{name}.service
+%define powerman_descr "Power Manager service"
+getent group %powerman_g >/dev/null || groupadd -r %powerman_g
+getent passwd %powerman_u >/dev/null || useradd -r -g %powerman_g -M -s 
/bin/false -c %powerman_descr %powerman_u
+exit 0
 
 %post
-%service_add_post %{name}.service
 systemd-tmpfiles --create %{_tmpfilesdir}/powerman.conf
+%service_add_post %{name}.service
 
 %preun
 %service_del_preun %{name}.service
@@ -118,7 +130,7 @@
 %dir %{_sysconfdir}/powerman
 %attr(0644,root,root) %{_unitdir}/%{name}.service
 %config %{_sysconfdir}/powerman/powerman.conf
-%{_sysconfdir}/powerman/*.dev
+%config %{_sysconfdir}/powerman/*.dev
 %{_tmpfilesdir}/powerman.conf
 
 %files devel

++++++ service-dynamic-user-autofiles.patch ++++++
Index: powerman-2.3.24/scripts/powerman.service
===================================================================
--- powerman-2.3.24.orig/scripts/powerman.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=PowerMan
-After=syslog.target network.target
-
-[Service]
-Type=forking
-PrivateTmp=yes
-User=daemon
-Group=daemon
-ExecStart=/usr/sbin/powermand
-RuntimeDirectory=powerman
-RuntimeDirectoryMode=0755
-PIDFile=/var/run/powerman/powermand.pid
-
-[Install]
-WantedBy=multi-user.target
Index: powerman-2.3.24/scripts/powerman.service.in
===================================================================
--- /dev/null
+++ powerman-2.3.24/scripts/powerman.service.in
@@ -0,0 +1,16 @@
+[Unit]
+Description=PowerMan
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PrivateTmp=yes
+User=@RUN_AS_USER@
+Group=@RUN_AS_GROUP@
+ExecStart=/usr/sbin/powermand
+RuntimeDirectory=powerman
+RuntimeDirectoryMode=0755
+PIDFile=/var/run/powerman/powermand.pid
+
+[Install]
+WantedBy=multi-user.target
Index: powerman-2.3.24/configure.ac
===================================================================
--- powerman-2.3.24.orig/configure.ac
+++ powerman-2.3.24/configure.ac
@@ -91,7 +91,7 @@ AC_DEFINE(WITH_LSD_NOMEM_ERROR_FUNC, 1,
 # whether to install pkg-config file for API
 AC_PKGCONFIG
 
-# what user to run daemon as
+# what user and group to run daemon as
 AC_RUNAS
 
 ##
@@ -112,6 +112,7 @@ AC_CONFIG_FILES( \
   etc/Makefile \
   scripts/Makefile \
   scripts/powerman \
+  scripts/powerman.service \
   heartbeat/Makefile \
   man/Makefile \
   man/powerman.1 \
Index: powerman-2.3.24/config/ac_runas.m4
===================================================================
--- powerman-2.3.24.orig/config/ac_runas.m4
+++ powerman-2.3.24/config/ac_runas.m4
@@ -1,6 +1,7 @@
 AC_DEFUN([AC_RUNAS],
 [
     RUN_AS_USER="daemon"
+    RUN_AS_GROUP="daemon"
     AC_MSG_CHECKING(user to run as)
     AC_ARG_WITH(user,
     AC_HELP_STRING([--with-user=username], [user for powerman daemon 
(daemon)]),
@@ -16,4 +17,20 @@ AC_DEFUN([AC_RUNAS],
             [Powerman daemon user])
     AC_MSG_RESULT(${RUN_AS_USER})
     AC_SUBST(RUN_AS_USER)
+
+    AC_MSG_CHECKING(group to run as)
+    AC_ARG_WITH(group,
+    AC_HELP_STRING([--with-group=groupname], [group for powerman daemon 
(daemon)]),
+    [       case "${withval}" in
+            yes|no)
+                    ;;
+            *)
+                    RUN_AS_GROUP="${withval}"
+                    ;;
+            esac],
+    )
+    AC_DEFINE_UNQUOTED(RUN_AS_GROUP, "${RUN_AS_GROUP}",
+            [Powerman daemon group])
+    AC_MSG_RESULT(${RUN_AS_GROUP})
+    AC_SUBST(RUN_AS_GROUP)
 ])
++++++ service-dynamic-user-configure.patch ++++++
Index: powerman-2.3.24/configure
===================================================================
--- powerman-2.3.24.orig/configure
+++ powerman-2.3.24/configure
@@ -788,6 +788,7 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
+RUN_AS_GROUP
 RUN_AS_USER
 pkgconfigdir
 WITH_PKG_CONFIG_FALSE
@@ -970,6 +971,7 @@ with_ncurses
 with_tcp_wrappers
 with_pkgconfig_dir
 with_user
+with_group
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1643,6 +1645,7 @@ Optional Packages:
                           where to install pkg-config *.pc files
                           (EPREFIX/lib/pkgconfig)
   --with-user=username    user for powerman daemon (daemon)
+  --with-group=groupname  group for powerman daemon (daemon)
 
 Some influential environment variables:
   CC          C compiler command
@@ -15307,9 +15310,10 @@ fi
 
 
 
-# what user to run daemon as
+# what user and group to run daemon as
 
     RUN_AS_USER="daemon"
+    RUN_AS_GROUP="daemon"
     { $as_echo "$as_me:$LINENO: checking user to run as" >&5
 $as_echo_n "checking user to run as... " >&6; }
 
@@ -15333,11 +15337,34 @@ _ACEOF
 $as_echo "${RUN_AS_USER}" >&6; }
 
 
+    { $as_echo "$as_me:$LINENO: checking group to run as" >&5
+$as_echo_n "checking group to run as... " >&6; }
+
+# Check whether --with-group was given.
+if test "${with_group+set}" = set; then :
+  withval=$with_group;        case "${withval}" in
+            yes|no)
+                    ;;
+            *)
+                    RUN_AS_GROUP="${withval}"
+                    ;;
+            esac
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define RUN_AS_GROUP "${RUN_AS_GROUP}"
+_ACEOF
+
+    { $as_echo "$as_me:$LINENO: result: ${RUN_AS_GROUP}" >&5
+$as_echo "${RUN_AS_GROUP}" >&6; }
+
+
 
 ##
 # Epilogue.
 ##
-ac_config_files="$ac_config_files Makefile powerman.spec libpowerman/Makefile 
libpowerman/libpowerman.pc liblsd/Makefile libcommon/Makefile powerman/Makefile 
powermand/Makefile httppower/Makefile snmppower/Makefile plmpower/Makefile 
etc/Makefile scripts/Makefile scripts/powerman heartbeat/Makefile man/Makefile 
man/powerman.1 man/libpowerman.3 man/powerman.conf.5 man/powerman.dev.5 
man/httppower.8 man/plmpower.8 man/powermand.8 man/vpcd.8 test/Makefile"
+ac_config_files="$ac_config_files Makefile powerman.spec libpowerman/Makefile 
libpowerman/libpowerman.pc liblsd/Makefile libcommon/Makefile powerman/Makefile 
powermand/Makefile httppower/Makefile snmppower/Makefile plmpower/Makefile 
etc/Makefile scripts/Makefile scripts/powerman scripts/powerman.service 
heartbeat/Makefile man/Makefile man/powerman.1 man/libpowerman.3 
man/powerman.conf.5 man/powerman.dev.5 man/httppower.8 man/plmpower.8 
man/powermand.8 man/vpcd.8 test/Makefile"
 
 
 cat >confcache <<\_ACEOF
@@ -16282,6 +16309,7 @@ do
     "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
     "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
     "scripts/powerman") CONFIG_FILES="$CONFIG_FILES scripts/powerman" ;;
+    "scripts/powerman.service") CONFIG_FILES="$CONFIG_FILES 
scripts/powerman.service" ;;
     "heartbeat/Makefile") CONFIG_FILES="$CONFIG_FILES heartbeat/Makefile" ;;
     "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
     "man/powerman.1") CONFIG_FILES="$CONFIG_FILES man/powerman.1" ;;

Reply via email to