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
This commit is contained in:
Marcus Meissner 2013-10-29 12:22:04 +00:00 committed by Git OBS Bridge
parent 07d9592d96
commit 1130cf8c8d
5 changed files with 43 additions and 154 deletions

View File

@ -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 Mon Apr 22 11:26:44 UTC 2013 - cfarrell@suse.com

16
gpm.service Normal file
View File

@ -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

View File

@ -25,9 +25,9 @@ Group: System/Console
Url: http://linux.schottelius.org/gpm/ Url: http://linux.schottelius.org/gpm/
Source0: http://www.nico.schottelius.org/software/gpm/archives/gpm-%{version}.tar.lzma Source0: http://www.nico.schottelius.org/software/gpm/archives/gpm-%{version}.tar.lzma
Source2: rcgpm Source2: gpm.service
Source3: sysconfig.mouse-%{name} Source3: sysconfig.mouse-%{name}
Source4: README.SuSE Source4: README.SUSE
Source5: baselibs.conf Source5: baselibs.conf
Source6: inputattach.c Source6: inputattach.c
Patch0: gpm-DESTDIR.patch Patch0: gpm-DESTDIR.patch
@ -56,9 +56,11 @@ BuildRequires: libtool
BuildRequires: lzma BuildRequires: lzma
BuildRequires: makeinfo BuildRequires: makeinfo
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: pkgconfig(systemd)
PreReq: %install_info_prereq Requires(pre): %install_info_prereq
PreReq: /bin/sed %insserv_prereq %fillup_prereq Requires(pre): /bin/sed
Requires(pre): %fillup_prereq
%{?systemd_requires}
Provides: select Provides: select
%ifarch ppc64 %ifarch ppc64
# bug437293 # bug437293
@ -106,7 +108,7 @@ cp %{S:2} %{S:3} %{S:4} .
# This package failed when testing with -Wl,-as-needed being default. # 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. # So we disable it here, if you want to retest, just delete this comment and the line below.
#export SUSE_ASNEEDED=0 #export SUSE_ASNEEDED=0
./autogen.sh NOCONFIGURE=1 ./autogen.sh
autoreconf -fi autoreconf -fi
CFLAGS="$RPM_OPT_FLAGS -DQUIET_LIBGPM" \ CFLAGS="$RPM_OPT_FLAGS -DQUIET_LIBGPM" \
%configure --disable-static \ %configure --disable-static \
@ -131,12 +133,12 @@ done
# #
# start script # start script
install -m 755 -d $RPM_BUILD_ROOT/var/adm/fillup-templates 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 -d $RPM_BUILD_ROOT/usr/sbin
install -m 755 inputattach %{buildroot}%{_sbindir} install -m 755 inputattach %{buildroot}%{_sbindir}
install -m 644 sysconfig.mouse-%{name} $RPM_BUILD_ROOT/var/adm/fillup-templates install -m 644 sysconfig.mouse-%{name} $RPM_BUILD_ROOT/var/adm/fillup-templates
install -m 755 rcgpm $RPM_BUILD_ROOT/etc/init.d/gpm install -m 755 %{S:2} $RPM_BUILD_ROOT/%{_unitdir}/gpm.service
ln -sf ../../etc/init.d/gpm $RPM_BUILD_ROOT/usr/sbin/rcgpm ln -sf /sbin/service $RPM_BUILD_ROOT/usr/sbin/rcgpm
# there were two variables with the same value GPM_PROTOCOL and MOUSETYPE # there were two variables with the same value GPM_PROTOCOL and MOUSETYPE
# in SuLi 8.2. The MOUSETYPE variable better conforms with with other # in SuLi 8.2. The MOUSETYPE variable better conforms with with other
# variable names MOUSEDEVICE and XMOUSETYPE name scheme, so get rid of # variable names MOUSEDEVICE and XMOUSETYPE name scheme, so get rid of
@ -152,38 +154,38 @@ fi
# Do not package static library # Do not package static library
rm -fv $RPM_BUILD_ROOT/%{_libdir}/libgpm.a rm -fv $RPM_BUILD_ROOT/%{_libdir}/libgpm.a
mkdir -p %{buildroot}%{_localstatedir}/run mkdir -p %{buildroot}/run
touch %{buildroot}%{_localstatedir}/run/gpm.pid touch %{buildroot}/run/gpm.pid
%preun %preun
%stop_on_removal gpm %service_del_preun gpm.service
%post %post
/sbin/ldconfig /sbin/ldconfig
%{fillup_and_insserv gpm} %{fillup_only gpm}
%service_add_post gpm.service
%{fillup_only -an mouse} %{fillup_only -an mouse}
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%postun %postun
/sbin/ldconfig /sbin/ldconfig
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%restart_on_update gpm %service_del_postun gpm.service
%{insserv_cleanup}
%files %files
%defattr(-,root,root) %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 %doc doc/Announce doc/FAQ doc/README* doc/changelog
%{_infodir}/* %{_infodir}/*
%{_mandir}/*/* %{_mandir}/*/*
%dir %config /etc/gpm %dir %config /etc/gpm
%config /etc/gpm/* %config /etc/gpm/*
%config /etc/init.d/gpm %{_unitdir}/gpm.service
%{_bindir}/* %{_bindir}/*
%{_sbindir}/* %{_sbindir}/*
%{_libdir}/libgpm.so.* %{_libdir}/libgpm.so.*
/var/adm/fillup-templates/* /var/adm/fillup-templates/*
%ghost %{_localstatedir}/run/gpm.pid %ghost /run/gpm.pid
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)

136
rcgpm
View File

@ -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 <num> set local and overall rc status to <num>
# 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