[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RPMS or RPM Spec file for cfengine?
From: |
Alexander Mattausch |
Subject: |
Re: RPMS or RPM Spec file for cfengine? |
Date: |
Fri, 18 Apr 2003 17:51:33 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.3) Gecko/20030312 |
Villalovos, John L schrieb:
I was wondering if the http://www.cfengine.org/ site will ever have
"official" or even "unofficial" RPMS of the cfengine package posted? Or
even adding a SPEC file into the tarball.
For myself I know that would be handy rather than reinventing the wheel
since I am sure it has been done dozens if not hundreds of times by
people already :)
We use a special SPEC file for our site generating RPMs for Debian (may
be converted into .deb with alien -c), SuSE and OSF1. The Source package
cfengine-local.tar.gz contains our init-scripts and the initial
configuration files.
HTH,
Alex
Summary: cfengine - A cluster configuration tool
Name: cfengine
Version: 2.0.5
Release: 2
Group: Productivity/Networking/Administration
Copyright: GNU Public License
Source0: %{name}-%{version}.tar.gz
Source1: %{name}-local.tar.gz
Patch: %{name}-%{version}.dif
Packager: Alexander Mattausch <Alexander.Mattausch@physik.uni-erlangen.de>
Distribution: TFKP Custom
BuildRoot: /tmp/%{name}-%{version}
%description
cfengine is an abstract programming language for system administrators of
huge heterogeneous networks. With cfengine, system administrators have an
easy and elegant way to maintain complicated networks.
#########################################################################
# Auspacken
%prep
%setup -n %{name}-%{version} -a 1
%ifos osf1
%patch
%endif
#########################################################################
# Bauen
%build
%ifos Linux
CFLAGS="%{optflags}" ./configure --prefix=%{_prefix} \
--infodir=%{_infodir} --mandir=%{_mandir} \
--with-berkeleydb=/usr
%else
CC=cc YACC=yacc LEX=lex CFLAGS="-O4" ./configure --prefix=%{_prefix} \
--infodir=%{_infodir} --mandir=%{_mandir} \
--with-berkeleydb=/usr/local
%endif
make
#########################################################################
# Installation
%install
if [ -e /etc/debian_version ]; then
LDIST=Debian
fi
rm -rf $RPM_BUILD_ROOT
mkdir $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
test -e $RPM_BUILD_ROOT/%{_infodir}/dir && rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
gzip ${RPM_BUILD_ROOT}/%{_infodir}/*
gzip ${RPM_BUILD_ROOT}/%{_mandir}/man8/*
# soll ins %default_docdir
rm -r $RPM_BUILD_ROOT/%{_prefix}/share/cfengine/doc
rm -r $RPM_BUILD_ROOT/%{_prefix}/share/cfengine/html
%ifos Linux
mkdir -p $RPM_BUILD_ROOT/etc/init.d
if [ "$LDIST" == "Debian" ]; then
install cfengine.debian $RPM_BUILD_ROOT/etc/init.d/cfengine
else
install cfengine.suse $RPM_BUILD_ROOT/etc/init.d/cfengine
ln -s ../../etc/init.d/cfengine $RPM_BUILD_ROOT/usr/sbin/rccfengine
fi
%endif
%ifos osf1
mkdir -p $RPM_BUILD_ROOT/sbin/init.d
cp cfengine.osf $RPM_BUILD_ROOT/sbin/init.d/cfengine
chmod 755 $RPM_BUILD_ROOT/sbin/init.d/cfengine
mkdir -p $RPM_BUILD_ROOT/sbin/rc2.d
ln -s ../init.d/cfengine $RPM_BUILD_ROOT/sbin/rc2.d/S20cfengine
ln -s ../init.d/cfengine $RPM_BUILD_ROOT/sbin/rc2.d/K20cfengine
mkdir -p $RPM_BUILD_ROOT/sbin/rc3.d
ln -s ../init.d/cfengine $RPM_BUILD_ROOT/sbin/rc3.d/S20cfengine
ln -s ../init.d/cfengine $RPM_BUILD_ROOT/sbin/rc3.d/K20cfengine
%endif
test -d ${RPM_BUILD_ROOT}/var/cfengine/bin || mkdir -p
${RPM_BUILD_ROOT}/var/cfengine
test -d ${RPM_BUILD_ROOT}/var/cfengine/inputs || mkdir -p
${RPM_BUILD_ROOT}/var/cfengine/inputs
# install update.conf
cp update.conf ${RPM_BUILD_ROOT}/var/cfengine/inputs/update.conf
cp cfservd.conf ${RPM_BUILD_ROOT}/var/cfengine/inputs/cfservd.conf
#########################################################################
# Clean
%clean
rm -rf $RPM_BUILD_ROOT
%post
if [ -e /etc/debian_version ]; then
LDIST=Debian
fi
# /etc/services anpassen
svc="`grep 5308 /etc/services`"
if [ "$svc" = "" ]; then
cp /etc/services /etc/services.cfeng
cat >>/etc/services<<EOF
cfengine 5308/tcp
EOF
echo "/etc/services updated."
echo "Saved old /etc/services as /etc/services.cfeng."
fi
if [ ! -e /var/cfengine/ppkeys/localhost.pub ]; then
%{_prefix}/sbin/cfkey
fi
%ifos Linux
if [ "$LDIST" == "Debian" ]; then
update-rc.d cfengine defaults
else
insserv cfengine
fi
%endif
exit 0
%preun
%ifos Linux
if [ -e /etc/debian_version ]; then
LDIST=Debian
fi
if [ "$LDIST" != "Debian" ]; then
insserv -r cfengine
fi
%endif
%postun
%ifos Linux
if [ -e /etc/debian_version ]; then
LDIST=Debian
fi
if [ "$LDIST" == "Debian" ]; then
update-rc.d cfengine remove
fi
%endif
%files
%ifos osf1
%defattr(-,root,system)
%config(missingok) /sbin/rc2.d/*
%config(missingok) /sbin/rc3.d/*
/sbin/init.d/cfengine
%else
%defattr(-,root,root)
/etc/init.d/cfengine
%endif
%{_prefix}/sbin/*
%{_prefix}/share/cfengine
%doc %{_mandir}/man8/*
%doc %{_infodir}/*
%doc doc/*.html README DOCUMENTATION NEWS TODO COPYING AUTHORS ChangeLog
%dir /var/cfengine
%config(noreplace) /var/cfengine/inputs
RE: RPMS or RPM Spec file for cfengine?, Villalovos, John L, 2003/04/23