From 1130cf8c8d0778785b9e8b14fe3f163a63b5c14212e25b882ac0129244380a95 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Tue, 29 Oct 2013 12:22:04 +0000 Subject: [PATCH 1/2] Accepting request 205016 from home:posophe:branches:Base:System Systemd support OBS-URL: https://build.opensuse.org/request/show/205016 OBS-URL: https://build.opensuse.org/package/show/Base:System/gpm?expand=0&rev=31 --- README.SuSE => README.SUSE | 0 gpm.changes | 7 ++ gpm.service | 16 +++++ gpm.spec | 38 ++++++----- rcgpm | 136 ------------------------------------- 5 files changed, 43 insertions(+), 154 deletions(-) rename README.SuSE => README.SUSE (100%) create mode 100644 gpm.service delete mode 100644 rcgpm diff --git a/README.SuSE b/README.SUSE similarity index 100% rename from README.SuSE rename to README.SUSE diff --git a/gpm.changes b/gpm.changes index 572dccf..dae3c0b 100644 --- a/gpm.changes +++ b/gpm.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Oct 28 13:46:46 UTC 2013 - p.drouand@gmail.com + +- Add systemd support and drop sysvinit support +- Change pid directory for new standard one +- Fix suse-wrong-suse-capitalisation rpmlint warning + ------------------------------------------------------------------- Mon Apr 22 11:26:44 UTC 2013 - cfarrell@suse.com diff --git a/gpm.service b/gpm.service new file mode 100644 index 0000000..16cc0a2 --- /dev/null +++ b/gpm.service @@ -0,0 +1,16 @@ +[Unit] +Description=Console Mouse manager + +# This could probably benefit from socket activation, but honestly I think it +# is time for gpm to go away, and hence I am not planning to spend the time +# to add socket activation here. + +[Service] +EnvironmentFile=-/etc/sysconfig/mouse +ExecStart=/usr/sbin/gpm -m /dev/input/mice -t exps2 +StandardOutput=syslog +Type=forking +PIDFile=/run/gpm.pid + +[Install] +WantedBy=multi-user.target diff --git a/gpm.spec b/gpm.spec index 07f5f48..db7397d 100644 --- a/gpm.spec +++ b/gpm.spec @@ -25,9 +25,9 @@ Group: System/Console Url: http://linux.schottelius.org/gpm/ Source0: http://www.nico.schottelius.org/software/gpm/archives/gpm-%{version}.tar.lzma -Source2: rcgpm +Source2: gpm.service Source3: sysconfig.mouse-%{name} -Source4: README.SuSE +Source4: README.SUSE Source5: baselibs.conf Source6: inputattach.c Patch0: gpm-DESTDIR.patch @@ -56,9 +56,11 @@ BuildRequires: libtool BuildRequires: lzma BuildRequires: makeinfo BuildRequires: ncurses-devel -BuildRoot: %{_tmppath}/%{name}-%{version}-build -PreReq: %install_info_prereq -PreReq: /bin/sed %insserv_prereq %fillup_prereq +BuildRequires: pkgconfig(systemd) +Requires(pre): %install_info_prereq +Requires(pre): /bin/sed +Requires(pre): %fillup_prereq +%{?systemd_requires} Provides: select %ifarch ppc64 # bug437293 @@ -106,7 +108,7 @@ cp %{S:2} %{S:3} %{S:4} . # This package failed when testing with -Wl,-as-needed being default. # So we disable it here, if you want to retest, just delete this comment and the line below. #export SUSE_ASNEEDED=0 -./autogen.sh +NOCONFIGURE=1 ./autogen.sh autoreconf -fi CFLAGS="$RPM_OPT_FLAGS -DQUIET_LIBGPM" \ %configure --disable-static \ @@ -131,12 +133,12 @@ done # # start script install -m 755 -d $RPM_BUILD_ROOT/var/adm/fillup-templates -install -m 755 -d $RPM_BUILD_ROOT/etc/init.d +install -m 755 -d $RPM_BUILD_ROOT/%{_unitdir} install -m 755 -d $RPM_BUILD_ROOT/usr/sbin install -m 755 inputattach %{buildroot}%{_sbindir} install -m 644 sysconfig.mouse-%{name} $RPM_BUILD_ROOT/var/adm/fillup-templates -install -m 755 rcgpm $RPM_BUILD_ROOT/etc/init.d/gpm -ln -sf ../../etc/init.d/gpm $RPM_BUILD_ROOT/usr/sbin/rcgpm +install -m 755 %{S:2} $RPM_BUILD_ROOT/%{_unitdir}/gpm.service +ln -sf /sbin/service $RPM_BUILD_ROOT/usr/sbin/rcgpm # there were two variables with the same value GPM_PROTOCOL and MOUSETYPE # in SuLi 8.2. The MOUSETYPE variable better conforms with with other # variable names MOUSEDEVICE and XMOUSETYPE name scheme, so get rid of @@ -152,38 +154,38 @@ fi # Do not package static library rm -fv $RPM_BUILD_ROOT/%{_libdir}/libgpm.a -mkdir -p %{buildroot}%{_localstatedir}/run -touch %{buildroot}%{_localstatedir}/run/gpm.pid +mkdir -p %{buildroot}/run +touch %{buildroot}/run/gpm.pid %preun -%stop_on_removal gpm +%service_del_preun gpm.service %post /sbin/ldconfig -%{fillup_and_insserv gpm} +%{fillup_only gpm} +%service_add_post gpm.service %{fillup_only -an mouse} %install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %postun /sbin/ldconfig %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz -%restart_on_update gpm -%{insserv_cleanup} +%service_del_postun gpm.service %files %defattr(-,root,root) -%doc COPYING README README.gpm2 README.SuSE TODO +%doc COPYING README README.gpm2 README.SUSE TODO %doc doc/Announce doc/FAQ doc/README* doc/changelog %{_infodir}/* %{_mandir}/*/* %dir %config /etc/gpm %config /etc/gpm/* -%config /etc/init.d/gpm +%{_unitdir}/gpm.service %{_bindir}/* %{_sbindir}/* %{_libdir}/libgpm.so.* /var/adm/fillup-templates/* -%ghost %{_localstatedir}/run/gpm.pid +%ghost /run/gpm.pid %files devel %defattr(-,root,root) diff --git a/rcgpm b/rcgpm deleted file mode 100644 index 2773db2..0000000 --- a/rcgpm +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/sh -# Copyright (c) 1995-2002 SuSE Linux AG, Nuernberg, Germany. -# All rights reserved. -# -# Author: -# -# /etc/init.d/gpm -# -# and it's symbolic link -# -# /usr/sbin/rcgpm -# -### BEGIN INIT INFO -# Provides: gpm -# Required-Start: $remote_fs $syslog -# Should-Start: -# Required-Stop: $remote_fs $syslog -# Should-Stop: -# Default-Start: 2 3 5 -# Default-Stop: 0 1 6 -# Description: Start gpm to allow mouse on console -# Short-Description: Console mouse support -### END INIT INFO - -# Check for missing binaries (stale symlinks should not happen) -GPM_BIN=/usr/sbin/gpm -test -x $GPM_BIN || { echo "$GPM_BIN not installed"; - if [ "$1" = "stop" ]; then exit 0; - else exit 5; fi; } - -# Check for existence of needed config file and read it -GPM_SYSCONFIG=/etc/sysconfig/mouse -test -r $GPM_SYSCONFIG || { echo "$GPM_SYSCONFIG not existing"; - echo "Run 'yast mouse' to set up gpm"; - if [ "$1" = "stop" ]; then exit 0; - else exit 6; fi; } -. $GPM_SYSCONFIG - -# Check for existence of needed values from $GPM_SYSCONFIG -test \( "$MOUSEDEVICE" -a "$MOUSETYPE" \) -o "$GPM_PARAM" || { - echo "Neither the variables MOUSEDEVICE and MOUSETYPE nor the variable GPM_PARAM"; - echo "is set in $GPM_SYSCONFIG"; - echo "Run 'yast mouse' to set up gpm"; - if [ "$1" = "stop" ]; then exit 0; - else exit 6; fi; } - -# Shell functions sourced from /etc/rc.status: -# rc_check check and set local and overall rc status -# rc_status check and set local and overall rc status -# rc_status -v ditto but be verbose in local rc status -# rc_status -v -r ditto and clear the local rc status -# rc_status -s display "skipped" and exit with status 3 -# rc_status -u display "unused" and exit with status 3 -# rc_failed set local and overall rc status to failed -# rc_failed set local and overall rc status to -# rc_reset clear local rc status (overall remains) -# rc_exit exit appropriate to overall rc status -# rc_active checks whether a service is activated by symlinks -# rc_splash arg sets the boot splash screen to arg (if active) -. /etc/rc.status - -# First reset status of this service -rc_reset - -# Return values acc. to LSB for all commands but status: -# 0 - success -# 1 - generic or unspecified error -# 2 - invalid or excess argument(s) -# 3 - unimplemented feature (e.g. "reload") -# 4 - user had insufficient privileges -# 5 - program is not installed -# 6 - program is not configured -# 7 - program is not running -# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) -# -# Note that starting an already running service, stopping -# or restarting a not-running service as well as the restart -# with force-reload (in case signaling is not supported) are -# considered a success. - -case "$1" in - start) - echo -n "Starting console mouse support (gpm)" - if test "$GPM_PARAM" ; then - startproc $GPM_BIN $GPM_PARAM - else - ADD_PARAMS="" - if test "$GPM_REPEAT" ; then - ADD_PARAMS="$ADD_PARAMS -R$GPM_REPEAT" - fi - startproc $GPM_BIN -m $MOUSEDEVICE -t $MOUSETYPE $ADD_PARAMS - fi - rc_status -v - ;; - stop) - echo -n "Shutting down console mouse support (gpm)" - killproc -TERM $GPM_BIN - rc_status -v - ;; - try-restart) - $0 status >/dev/null && $0 restart - rc_status - ;; - restart) - $0 stop - $0 start - rc_status - ;; - force-reload) - echo -n "Reload console mouse support (gpm)" - $0 stop && $0 start - rc_status - ;; - reload) - echo -n "Reload console mouse support (gpm)" - rc_failed 3 - rc_status -v - ;; - status) - echo -n "Checking for console mouse support (gpm): " - checkproc $GPM_BIN - rc_status -v - ;; - probe) - GPM_RESTART="False" - for file in $GPM_SYSCONFIG /etc/gpm/* ; do - test $file -nt /var/run/gpm.pid && GPM_RESTART="True" - done - test "$GPM_RESTART" = "True" && echo restart - ;; - *) - echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" - exit 1 - ;; -esac -rc_exit From 414c5e1f68160e44d34170390efe7fd97320a2d7bcb8b877c8cc801ee309ac3c Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 2 Dec 2013 11:40:37 +0000 Subject: [PATCH 2/2] - don't buildrequire systemd, we just need the macros OBS-URL: https://build.opensuse.org/package/show/Base:System/gpm?expand=0&rev=32 --- gpm.changes | 5 +++++ gpm.spec | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gpm.changes b/gpm.changes index dae3c0b..0963751 100644 --- a/gpm.changes +++ b/gpm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 2 11:40:18 UTC 2013 - coolo@suse.com + +- don't buildrequire systemd, we just need the macros + ------------------------------------------------------------------- Mon Oct 28 13:46:46 UTC 2013 - p.drouand@gmail.com diff --git a/gpm.spec b/gpm.spec index db7397d..f43820b 100644 --- a/gpm.spec +++ b/gpm.spec @@ -56,7 +56,7 @@ BuildRequires: libtool BuildRequires: lzma BuildRequires: makeinfo BuildRequires: ncurses-devel -BuildRequires: pkgconfig(systemd) +BuildRequires: systemd-rpm-macros Requires(pre): %install_info_prereq Requires(pre): /bin/sed Requires(pre): %fillup_prereq