2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-11-24 10:29:53 +00:00
xcat-dep/AIX/conserver/conserver.spec
wuzhy 5330dcda43 fix bug 2881800
Former-commit-id: 2bbc4be9727a504d60125ac909e3f17f559c2bbe
2010-03-01 04:52:57 +00:00

171 lines
4.1 KiB
RPMSpec

#
# rpm spec file for conserver, but I don't think it'll work on any
# platform that doesn't have red hat rpm >= 4.0.2 installed.
#
%define pkg conserver
%define ver 8.1.16
# define the name of the machine on which the main conserver
# daemon will be running if you don't want to use the default
# hostname (console)
%define master console
# what red hat (or other distibution) version are you running?
%define distver 2
Summary: Serial console server daemon/client
Name: %{pkg}
Version: %{ver}
Release: %{distver}
License: BSD
Group: System Environment/Daemons
URL: http://www.conserver.com/
Source: http://www.conserver.com/%{pkg}-%{ver}.tar.gz
Patch: certificate-auth.patch
BuildRoot: %{_tmppath}/%{pkg}-buildroot
Prefix: %{_prefix}
%description
Conserver is an application that allows multiple users to watch a
serial console at the same time. It can log the data, allows users to
take write-access of a console (one at a time), and has a variety of
bells and whistles to accentuate that basic functionality.
%prep
%{__rm} -rf %{buildroot}
%setup -q
%patch -p1
%build
# we don't want to install the solaris conserver.rc file
f="conserver/Makefile.in"
%{__mv} $f $f.orig
%{__sed} -e 's/^.*conserver\.rc.*$//' < $f.orig > $f
%configure --with-master=%{master} --with-openssl --with-cffile=/etc/conserver.cf
make
%install
%{makeinstall}
# put commented copies of the sample configure files in the
# system configuration directory
%{__mkdir_p} %{buildroot}/%{_sysconfdir}
%{__sed} -e 's/^/#/' \
< conserver.cf/conserver.cf \
> %{buildroot}/%{_sysconfdir}/conserver.cf
%{__sed} -e 's/^/#/' \
< conserver.cf/conserver.passwd \
> %{buildroot}/%{_sysconfdir}/conserver.passwd
# install copy of init script
%ifos Linux
%{__mkdir_p} %{buildroot}/%{_initrddir}
%{__cp} contrib/redhat-rpm/conserver.init %{buildroot}/%{_initrddir}/conserver
%endif
%clean
%{__rm} -rf %{buildroot}
%post
# Create necessary console directories
#
mkdir -p /var/log/consoles
# Make sure /etc/services has a conserver entry
#
if ! egrep conserver /etc/services > /dev/null 2>&1 ; then
echo "console 782/tcp conserver" >> /etc/services
fi
# Remove any existing entry, then add the current one
#
rmitab "conserver" > /dev/null 2>&1
mkitab "conserver:2:once:/usr/bin/startsrc -s conserver > /dev/console 2>&1" > /dev/null 2>&1
# If the pid file exists, the daemon may be running
#
if [[ -s /var/run/conserver.pid ]]; then
# kill the daemon
#
kill -15 `cat /var/run/conserver.pid` > /dev/null 2>&1
# Does a configuration file exist?
#
if [[ -s /etc/opt/conserver/conserver.cf ]]; then
# is it a pre-8.0 configuration file?
#
OLD_FORMAT = grep "%%" /etc/opt/conserver/conserver.cf > /dev/null 2>&1
if [[ $OLD_FORMAT = "0" ]]; then
# 8.0 style config file, OK to try and start the daemon
#
/usr/bin/startsrc -s conserver > /dev/console 2>&1
fi
fi
fi
%preun
%ifos Linux
if [ "$1" = 0 ]; then
if [ -x %{_initrddir}/conserver ]; then
%{_initrddir}/conserver stop
/sbin/chkconfig --del conserver
fi
fi
%endif
# Only if we're the last package
#
if [[ "$1" = 0 ]]; then
# Remove the existing entry
#
rmitab "conserver" > /dev/null 2>&1
fi
%postun
# Only if we're the last package
#
if [[ "$1" = 0 ]]; then
# Remove conserver-specific directories
#
rm -fr /var/log/consoles
# If the pid file exists, the daemon may be running
#
if [[ -s /var/run/conserver.pid ]]; then
# kill the daemon
#
kill -15 `cat /var/run/conserver.pid` > /dev/null 2>&1
# Now remove the pid file
#
rm -f /var/run/conserver.pid
fi
fi
%files
%defattr(-,root,root)
%doc CHANGES FAQ INSTALL README conserver.cf
%config(noreplace) %{_sysconfdir}/conserver.cf
%config(noreplace) %{_sysconfdir}/conserver.passwd
# %attr(555,root,root) /%{_initrddir}/conserver
%{prefix}/bin/console
# %{prefix}/lib64/conserver/convert
%{prefix}/man/man1/console.1
%{prefix}/man/man8/conserver.8
%{prefix}/man/man5/conserver.cf.5
%{prefix}/man/man5/conserver.passwd.5
%{prefix}/share/examples/conserver/conserver.cf
%{prefix}/share/examples/conserver/conserver.passwd
%{prefix}/sbin/conserver