|
@@ -0,0 +1,344 @@
+%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+%define _binaries_in_noarch_packages_terminate_build 0
+Summary: Boot server configurator
+Name: cobbler
+AutoReq: no
+Version: 2.0.4
+Release: 1%{?dist}
+Source0: %{name}-%{version}.tar.gz
+License: GPLv2+
+Group: Applications/System
+Requires: python >= 2.3
+%if 0%{?suse_version} >= 1000
+Requires: apache2
+Requires: apache2-mod_python
+Requires: tftp
+%else
+Requires: httpd
+Requires: tftp-server
+Requires: mod_python
+%endif
+Requires: python-devel
+Requires: createrepo
+Requires: python-cheetah
+Requires: rsync
+Requires: python-netaddr
+Requires: PyYAML
+Requires: python-simplejson
+BuildRequires: PyYAML
+Requires: libyaml
+%if 0%{?fedora_version} >= 11 || 0%{?rhel_version} >= 6
+Requires: genisoimage
+%else
+Requires: mkisofs
+%endif
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/chkconfig
+Requires(preun): /sbin/service
+%if 0%{?fedora_version} >= 11 || 0%{?rhel_version} >= 6
+%{!?pyver: %define pyver %(%{__python} -c "import sys ; print sys.version[:3]" || echo 0)}
+Requires: python(abi) = %{pyver}
+%endif
+%if 0%{?suse_version} < 0
+BuildRequires: redhat-rpm-config
+%endif
+BuildRequires: python-devel
+BuildRequires: python-cheetah
+%if 0%{?fedora_version} >= 8
+BuildRequires: python-setuptools-devel
+%else
+BuildRequires: python-setuptools
+%endif
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+BuildArch: noarch
+ExcludeArch: ppc
+ExcludeArch: ppc64
+Url: http://cobbler.et.redhat.com
+
+%description
+
+Cobbler is a network install server. Cobbler
+supports PXE, virtualized installs, and
+reinstalling existing Linux machines. The last two
+modes use a helper tool, 'koan', that
+integrates with cobbler. Cobbler's advanced features
+include importing distributions from DVDs and rsync
+mirrors, kickstart templating, integrated yum
+mirroring, and built-in DHCP/DNS/power Management. Cobbler has
+a Python and XMLRPC API for integration with other
+applications. There is also a web interface.
+
+%prep
+%setup -q
+
+%build
+%{__python} setup.py build
+
+%install
+test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
+%if 0%{?suse_version} >= 1000
+PREFIX="--prefix=/usr"
+%endif
+%{__python} setup.py install --optimize=1 --root=$RPM_BUILD_ROOT $PREFIX
+
+%post
+
+# backup config
+if [ -e /var/lib/cobbler/distros ]; then
+ cp /var/lib/cobbler/distros* /var/lib/cobbler/backup 2>/dev/null
+ cp /var/lib/cobbler/profiles* /var/lib/cobbler/backup 2>/dev/null
+ cp /var/lib/cobbler/systems* /var/lib/cobbler/backup 2>/dev/null
+ cp /var/lib/cobbler/repos* /var/lib/cobbler/backup 2>/dev/null
+fi
+if [ -e /var/lib/cobbler/config ]; then
+ cp -a /var/lib/cobbler/config /var/lib/cobbler/backup 2>/dev/null
+fi
+# upgrade older installs
+# move power and pxe-templates from /etc/cobbler, backup new templates to *.rpmnew
+for n in power pxe; do
+ rm -f /etc/cobbler/$n*.rpmnew
+ find /etc/cobbler -maxdepth 1 -name "$n*" -type f | while read f; do
+ newf=/etc/cobbler/$n/`basename $f`
+ [ -e $newf ] && mv $newf $newf.rpmnew
+ mv $f $newf
+ done
+done
+# upgrade older installs
+# copy kickstarts from /etc/cobbler to /var/lib/cobbler/kickstarts
+rm -f /etc/cobbler/*.ks.rpmnew
+find /etc/cobbler -maxdepth 1 -name "*.ks" -type f | while read f; do
+ newf=/var/lib/cobbler/kickstarts/`basename $f`
+ [ -e $newf ] && mv $newf $newf.rpmnew
+ cp $f $newf
+done
+# reserialize and restart
+/usr/bin/cobbler reserialize
+/sbin/chkconfig --add cobblerd
+/sbin/service cobblerd condrestart
+
+%preun
+if [ $1 = 0 ]; then
+ /sbin/service cobblerd stop >/dev/null 2>&1 || :
+ chkconfig --del cobblerd || :
+fi
+
+%postun
+if [ "$1" -ge "1" ]; then
+ /sbin/service cobblerd condrestart >/dev/null 2>&1 || :
+ /sbin/service httpd condrestart >/dev/null 2>&1 || :
+fi
+
+
+%clean
+test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
+
+%files
+
+%defattr(755,apache,apache)
+%dir /var/www/cobbler/web/
+/var/www/cobbler/web/*.py*
+%dir /var/www/cobbler/svc/
+/var/www/cobbler/svc/*.py*
+
+%defattr(755,root,root)
+%dir /usr/share/cobbler/installer_templates
+%defattr(744,root,root)
+/usr/share/cobbler/installer_templates/*.template
+%defattr(744,root,root)
+/usr/share/cobbler/installer_templates/defaults
+%defattr(755,apache,apache)
+%dir /usr/share/cobbler/webui_templates
+%defattr(444,apache,apache)
+/usr/share/cobbler/webui_templates/*.tmpl
+
+%defattr(755,apache,apache)
+%dir /var/log/cobbler
+%dir /var/log/cobbler/kicklog
+%dir /var/www/cobbler/
+%dir /var/www/cobbler/localmirror
+%dir /var/www/cobbler/repo_mirror
+%dir /var/www/cobbler/ks_mirror
+%dir /var/www/cobbler/ks_mirror/config
+%dir /var/www/cobbler/images
+%dir /var/www/cobbler/links
+%defattr(755,apache,apache)
+%dir /var/www/cobbler/webui
+%dir /var/www/cobbler/aux
+%defattr(444,apache,apache)
+/var/www/cobbler/webui/*
+/var/www/cobbler/aux/anamon
+/var/www/cobbler/aux/anamon.init
+
+%defattr(755,root,root)
+%{_bindir}/cobbler
+%{_bindir}/cobbler-ext-nodes
+%{_bindir}/cobblerd
+
+%defattr(-,root,root)
+%dir /etc/cobbler
+%dir /etc/cobbler/pxe
+%dir /etc/cobbler/reporting
+%dir /etc/cobbler/power
+%config(noreplace) /var/lib/cobbler/kickstarts/*.ks
+%config(noreplace) /var/lib/cobbler/kickstarts/*.seed
+%config(noreplace) /etc/cobbler/*.template
+%config(noreplace) /etc/cobbler/pxe/*.template
+%config(noreplace) /etc/cobbler/reporting/*.template
+%config(noreplace) /etc/cobbler/power/*.template
+%config(noreplace) /etc/cobbler/rsync.exclude
+%config(noreplace) /etc/logrotate.d/cobblerd_rotate
+%config(noreplace) /etc/cobbler/modules.conf
+%config(noreplace) /etc/cobbler/users.conf
+%config(noreplace) /etc/cobbler/acls.conf
+%config(noreplace) /etc/cobbler/cheetah_macros
+%dir %{python_sitelib}/cobbler
+%dir %{python_sitelib}/cobbler/modules
+%dir %{python_sitelib}/cobbler/webui
+%{python_sitelib}/cobbler/*.py*
+##%{python_sitelib}/cobbler/server/*.py*
+%{python_sitelib}/cobbler/modules/*.py*
|