############################################################################### ############################################################################### ## ## Copyright (C) 2006 Red Hat, Inc. All rights reserved. ## ## This copyrighted material is made available to anyone wishing to use, ## modify, copy, or redistribute it subject to the terms and conditions ## of the GNU General Public License v.2. ## ############################################################################### ############################################################################### %define vers 0.8 %define rel 7%{?dist} %define PEGASUS_PROVIDERS_DIR %{_libdir}/Pegasus/providers ############ SRPM ################### Name: conga Version: %vers Release: %rel License: GPL URL: http://sources.redhat.com/cluster/conga Group: System Environment/Base Summary: Conga Remote Management System - source code Source: %{name}-%{version}.tar.gz Buildroot: %{_tmppath}/%{name}-%{version}-buildroot BuildRequires: glibc-devel gcc-c++ libxml2-devel make BuildRequires: openssl-devel dbus-devel pam-devel BuildRequires: net-snmp-devel tog-pegasus-devel %description Conga is a project developing management system for remote stations. It consists of luci, https frontend, and ricci, secure daemon that dispatches incoming messages to underlying management modules. This package contains source code of Conga and Red Hat Enterprise Linux Cluster Suite ricci/SNMP/CIM module/agent/provider. %prep %setup -q %build #./autogen.sh #./configure --arch=%{_arch} --sbindir=%{_sbindir} --libdir=%{_libdir} --docdir=%{_docdir} %configure --arch=%{_arch} --docdir=%{_docdir} --pegasus_providers_dir=%{PEGASUS_PROVIDERS_DIR} #make %{?_smp_mflags} make %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install %clean rm -rf $RPM_BUILD_ROOT ####### luci ####### %package -n luci Group: System Environment/Base Summary: Conga Remote Management System - Management Station URL: http://sources.redhat.com/cluster/conga Requires: chkconfig initscripts Requires: python zope plone Requires: openssl mailcap stunnel Requires: sed util-linux Requires: ricci = %{version}-%{release} %description -n luci Conga is a project developing management system for remote stations. It consists of luci, https frontend, and ricci, secure daemon that dispatches incoming messages to underlying management modules. This package contains Luci website. %files -n luci %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/rc.d/init.d/luci %config(noreplace) %{_sysconfdir}/sysconfig/luci %{_sbindir}/luci_admin %{_docdir}/luci-%{version}/ %defattr(-,luci,root) %{_localstatedir}/lib/luci %pre -n luci /usr/sbin/groupadd -r -f luci >/dev/null 2>&1 /usr/sbin/useradd -r -M -s /sbin/nologin -d /var/lib/luci -g luci luci >/dev/null 2>&1 exit 0 %post -n luci /sbin/chkconfig --add luci if [ -e /var/lib/luci/var/luci_backup.xml ]; then /sbin/service luci status >/dev/null 2>$1 LUCI_RUNNING=$? if [ "$LUCI_RUNNING" = "0" ]; then /sbin/service luci stop >/dev/null 2>$1 fi /usr/sbin/luci_admin restore >/dev/null 2>$1 if [ "$LUCI_RUNNING" = "0" ]; then /sbin/service luci start >/dev/null 2>$1 fi fi if [ ! -e /var/lib/luci/var/certs/privkey.pem ]; then # no privkey.pem -> luci not initialized # set initial random admin password T_PASS=`dd if=/dev/urandom bs=5M count=1 2> /dev/null | sha1sum` for i in $T_PASS; do if [ "-" != $i ] ; then echo -n "admin:{SHA}$i" > /var/lib/luci/inituser fi done /bin/chmod 600 /var/lib/luci/inituser /bin/chown luci /var/lib/luci/inituser fi %preun -n luci /sbin/service luci status >/dev/null 2>$1 LUCI_RUNNING=$? if [ "$LUCI_RUNNING" = "0" ]; then /sbin/service luci stop >/dev/null 2>$1 fi /usr/sbin/luci_admin backup >/dev/null 2>$1 if [ "$LUCI_RUNNING" = "0" ]; then /sbin/service luci start >/dev/null 2>$1 fi if [ "$1" = "0" ]; then /sbin/service luci stop >/dev/null 2>$1 /sbin/chkconfig --del luci fi %postun -n luci if [ "$1" -ge "1" ]; then /sbin/service luci condrestart > /dev/null 2>&1 fi exit 0 ### ricci daemon & basic modules ### %package -n ricci Group: System Environment/Base Summary: Conga Remote Management System - Managed Station URL: http://sources.redhat.com/cluster/conga Requires: chkconfig initscripts Requires: oddjob dbus openssl pam Requires: sed util-linux Requires: ricci-modcluster = %{version}-%{release} # modreboot Provides: ricci-modreboot = %{version}-%{release} # modrpm Provides: ricci-modrpm = %{version}-%{release} # modstorage Requires: parted Provides: ricci-modstorage = %{version}-%{release} # modservice Requires: chkconfig initscripts Provides: ricci-modservice = %{version}-%{release} # modlog Provides: ricci-modlog = %{version}-%{release} %description -n ricci Conga is a project developing management system for remote stations. It consists of luci, https frontend, and ricci, secure daemon that dispatches incoming messages to underlying management modules. This package contains listening daemon (dispatcher), as well as reboot, rpm, storage, service and log management modules. %files -n ricci %defattr(-,root,root) # ricci %config(noreplace) %{_sysconfdir}/rc.d/init.d/ricci %config(noreplace) %{_sysconfdir}/pam.d/ricci %config(noreplace) %{_sysconfdir}/oddjobd.conf.d/ricci.oddjob.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/ricci.systembus.conf %attr(-,ricci,root) %{_localstatedir}/lib/ricci %{_sbindir}/ricci %attr(4755,root,root) %{_sbindir}/ricci-auth %{_sbindir}/ricci-worker %{_docdir}/ricci-%{version}/ # modrpm %config(noreplace) %{_sysconfdir}/oddjobd.conf.d/ricci-modrpm.oddjob.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/ricci-modrpm.systembus.conf %{_sbindir}/ricci-modrpm %{_sbindir}/ricci-modrpm.exe # modstorage %config(noreplace) %{_sysconfdir}/oddjobd.conf.d/ricci-modstorage.oddjob.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/ricci-modstorage.systembus.conf %{_sbindir}/ricci-modstorage %{_sbindir}/ricci-modstorage.exe # modservice %config(noreplace) %{_sysconfdir}/oddjobd.conf.d/ricci-modservice.oddjob.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/ricci-modservice.systembus.conf %{_sbindir}/ricci-modservice %{_sbindir}/ricci-modservice.exe # modlog %config(noreplace) %{_sysconfdir}/oddjobd.conf.d/ricci-modlog.oddjob.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/ricci-modlog.systembus.conf %{_sbindir}/ricci-modlog %{_sbindir}/ricci-modlog.exe %pre -n ricci /usr/sbin/groupadd -r -f ricci >/dev/null 2>&1 /usr/sbin/useradd -r -M -s /sbin/nologin -d /var/lib/ricci -g ricci ricci >/dev/null 2>&1 exit 0 %post -n ricci /sbin/chkconfig --add ricci if [ ! -e /var/lib/ricci/certs/privkey.pem ]; then /usr/bin/openssl genrsa -out /var/lib/ricci/certs/privkey.pem 2048 > /dev/null 2>&1 /usr/bin/openssl req -new -x509 -key /var/lib/ricci/certs/privkey.pem \ -out /var/lib/ricci/certs/cacert.pem -days 1095 -config /var/lib/ricci/certs/cacert.config /bin/chown ricci:root /var/lib/ricci/certs/*.pem /bin/chmod 644 /var/lib/ricci/certs/cacert.pem /bin/chmod 600 /var/lib/ricci/certs/privkey.pem fi /bin/kill -s SIGHUP `cat /var/run/messagebus.pid` /sbin/service oddjobd reload > /dev/null 2>&1 RUNS=(`/sbin/runlevel`) RUNLEVEL=${RUNS[1]} STATE=`/sbin/chkconfig --list ricci | sed -e s,.*\\\t$RUNLEVEL:\\\\\(o[nf]f\\\?\\\\\).*,\\\1,` if [ $STATE = "on" ]; then /sbin/service ricci restart > /dev/null 2>&1 fi %preun -n ricci if [ "$1" = "0" ]; then /sbin/service ricci stop > /dev/null 2>&1 /sbin/chkconfig --del ricci fi %postun -n ricci /bin/kill -s SIGHUP `cat /var/run/messagebus.pid` /sbin/service oddjobd reload > /dev/null 2>&1 if [ "$1" -ge "1" ]; then RUNS=(`/sbin/runlevel`) RUNLEVEL=${RUNS[1]} STATE=`/sbin/chkconfig --list ricci | sed -e s,.*\\\t$RUNLEVEL:\\\\\(o[nf]f\\\?\\\\\).*,\\\1,` if [ $STATE = "on" ]; then /sbin/service ricci restart > /dev/null 2>&1 fi fi exit 0 ### cluster module ### %package -n ricci-modcluster Group: System Environment/Base Summary: Conga Remote Management System - Managed Clustered Station URL: http://sources.redhat.com/cluster/conga Requires: chkconfig initscripts Requires: oddjob openssl Requires: sed util-linux Conflicts: clumon %description -n ricci-modcluster Conga is a project developing management system for remote stations. It consists of luci, https frontend, and ricci, secure daemon that dispatches incoming messages to underlying management modules. This package contains Red Hat Enterprise Linux Cluster Suite ricci management module. %files -n ricci-modcluster %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/rc.d/init.d/ricci-modclusterd %config(noreplace) %{_sysconfdir}/oddjobd.conf.d/ricci-modcluster.oddjob.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/ricci-modcluster.systembus.conf %{_sbindir}/ricci-modcluster %{_sbindir}/ricci-modcluster.exe %{_sbindir}/ricci-modclusterd %{_docdir}/ricci-modcluster-%{version}/ %post -n ricci-modcluster /sbin/chkconfig --add ricci-modclusterd /bin/kill -s SIGHUP `cat /var/run/messagebus.pid` /sbin/service oddjobd reload > /dev/null 2>&1 RUNS=(`/sbin/runlevel`) RUNLEVEL=${RUNS[1]} STATE=`/sbin/chkconfig --list ricci-modclusterd | sed -e s,.*\\\t$RUNLEVEL:\\\\\(o[nf]f\\\?\\\\\).*,\\\1,` if [ "$STATE" = "on" ]; then /sbin/service ricci-modclusterd restart > /dev/null 2>&1 fi %preun -n ricci-modcluster if [ "$1" = "0" ]; then /sbin/service ricci-modclusterd stop > /dev/null 2>&1 /sbin/chkconfig --del ricci-modclusterd fi %postun -n ricci-modcluster /bin/kill -s SIGHUP `cat /var/run/messagebus.pid` /sbin/service oddjobd reload > /dev/null 2>&1 if [ "$1" -ge "1" ]; then /sbin/service ricci-modclusterd condrestart > /dev/null 2>&1 fi exit 0 ### cluster-snmp ### %package -n cluster-snmp Group: System Environment/Base Summary: Red Hat Enterprise Linux Cluster Suite - SNMP agent URL: http://sources.redhat.com/cluster/conga Requires: ricci-modcluster = %{version}-%{release} Requires: net-snmp Requires: oddjob openssl Conflicts: clumon-snmp %description -n cluster-snmp SNMP agent for Red Hat Enterprise Linux Cluster Suite. %files -n cluster-snmp %defattr(-,root,root) %{_libdir}/cluster-snmp/ %{_datadir}/snmp/mibs/REDHAT-MIB %{_datadir}/snmp/mibs/REDHAT-CLUSTER-MIB %{_docdir}/cluster-snmp-%{version}/ %pre -n cluster-snmp exit 0 %post -n cluster-snmp #/bin/kill -s SIGHUP `cat /var/run/messagebus.pid` #/sbin/service oddjobd reload > /dev/null 2>&1 /sbin/service snmpd condrestart > /dev/null 2>&1 exit 0 %preun -n cluster-snmp exit 0 %postun -n cluster-snmp #/bin/kill -s SIGHUP `cat /var/run/messagebus.pid` #/sbin/service oddjobd reload > /dev/null 2>&1 /sbin/service snmpd condrestart > /dev/null 2>&1 exit 0 ### cluster-cim ### %package -n cluster-cim Group: System Environment/Base Summary: Red Hat Enterprise Linux Cluster Suite - CIM provider URL: http://sources.redhat.com/cluster/conga Requires: ricci-modcluster = %{version}-%{release} Requires: tog-pegasus Requires: oddjob openssl Conflicts: clumon-cim %description -n cluster-cim CIM provider for Red Hat Enterprise Linux Cluster Suite. %files -n cluster-cim %defattr(-,root,root) %{PEGASUS_PROVIDERS_DIR}/libRedHatClusterProvider.so %{_docdir}/cluster-cim-%{version}/ %pre -n cluster-cim exit 0 %post -n cluster-cim #/bin/kill -s SIGHUP `cat /var/run/messagebus.pid` #/sbin/service oddjobd reload > /dev/null 2>&1 /sbin/service tog-pegasus condrestart > /dev/null 2>&1 exit 0 %preun -n cluster-cim exit 0 %postun -n cluster-cim #/bin/kill -s SIGHUP `cat /var/run/messagebus.pid` #/sbin/service oddjobd reload > /dev/null 2>&1 /sbin/service tog-pegasus condrestart > /dev/null 2>&1 exit 0 ### changelog ### %changelog * Thu Jul 06 2006 Stanko Kupcevic 0.8-7 - More compliant specfile, minor fixes * Tue Jun 27 2006 Stanko Kupcevic 0.8-6 - Luci persists users/clusters/systems/permissions across upgrades * Fri Jun 16 2006 Stanko Kupcevic 0.8-4 - Moved storage, service, log and rpm modules into main ricci.rpm. * Wed Jun 14 2006 Stanko Kupcevic 0.8-1 - Packaged cluster-snmp (cluster snmp agent) - Packaged cluster-cim (cluster CIM provider) * Mon Jun 06 2006 Stanko Kupcevic 0.7-5 - Disable non-https access to Luci, enable https on port 8084 * Mon Jun 02 2006 Stanko Kupcevic 0.7-1 - Packaged Luci - ricci's www frontend - Added logging module * Mon May 26 2006 Stanko Kupcevic 0.6-1 - Multitude of fixes and new features * Mon Apr 10 2006 Stanko Kupcevic 0.5-1 - First official build of ricci project