[cobbler] Cleanup and align spec with upstream
Orion Poplawski
orion at fedoraproject.org
Wed Jul 16 21:22:13 UTC 2014
commit 881845edfe91217d22a1dc2608631f18492c3207
Author: Orion Poplawski <orion at cora.nwra.com>
Date: Wed Jul 16 15:21:55 2014 -0600
Cleanup and align spec with upstream
cobbler.spec | 219 +++++++++++++++++++++++++---------------------------------
1 files changed, 95 insertions(+), 124 deletions(-)
---
diff --git a/cobbler.spec b/cobbler.spec
index 3bd96b5..6fc8ff6 100644
--- a/cobbler.spec
+++ b/cobbler.spec
@@ -1,11 +1,16 @@
-%if 0%{?rhel} && 0%{?rhel} <= 6
%{!?__python2: %global __python2 /usr/bin/python2}
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
-%endif
-%define _binaries_in_noarch_packages_terminate_build 0
%global debug_package %{nil}
+%define _binaries_in_noarch_packages_terminate_build 0
+
+%if 0%{?fedora} || 0%{?rhel} >= 6
+%global tftp_dir /var/lib/tftpboot/
+%else
+%global tftp_dir /tftpboot/
+%endif
+
Summary: Boot server configurator
Name: cobbler
License: GPLv2+
@@ -18,7 +23,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildArch: noarch
Url: http://www.cobblerd.org/
-BuildRequires: redhat-rpm-config
BuildRequires: git
BuildRequires: python2-devel
BuildRequires: PyYAML
@@ -61,10 +65,9 @@ Requires(preun): /sbin/service
%endif
%description
-
-Cobbler is a network install server. Cobbler supports PXE,
-virtualized installs, and re-installing existing Linux machines. The
-last two modes use a helper tool, 'koan', that integrates with
+Cobbler is a network install server. Cobbler supports PXE, ISO
+virtualized installs, and re-installing existing Linux machines.
+The last two modes use a helper tool, 'koan', that integrates with
cobbler. There is also a web interface 'cobbler-web'. Cobbler's
advanced features include importing distributions from DVDs and rsync
mirrors, kickstart templating, integrated yum mirroring, and built-in
@@ -80,161 +83,125 @@ other applications.
%install
test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
%{__python2} setup.py install --skip-build --root=$RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/etc/httpd/conf.d
-mv config/cobbler.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/
-mv config/cobbler_web.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/
-mkdir -p $RPM_BUILD_ROOT/var/spool/koan
+# cobbler
+rm $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobbler.conf
+
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
+mv $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd_rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/cobblerd
-%if 0%{?fedora} || 0%{?rhel} > 5
-mkdir -p $RPM_BUILD_ROOT/var/lib/tftpboot/images
+mkdir -p $RPM_BUILD_ROOT%{tftp_dir}/images
+
+%if 0%{?rhel} == 6
+# sysvinit
+mkdir -p %{_sysconfdir}/init.d
+mv $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd $RPM_BUILD_ROOT%{_sysconfdir}/init.d/cobblerd
+rm $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd.service
%else
-mkdir -p $RPM_BUILD_ROOT/tftpboot/images
+# systemd
+rm $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd
+rm $RPM_BUILD_ROOT%{_sysconfdir}/init.d/cobblerd
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+mv $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd.service $RPM_BUILD_ROOT%{_unitdir}
%endif
-rm -f $RPM_BUILD_ROOT/etc/cobbler/cobblerd
+# cobbler-web
+rm $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobbler_web.conf
-%if 0%{?fedora} || 0%{?rhel} >= 7
-rm -rf $RPM_BUILD_ROOT/etc/init.d
-mkdir -p $RPM_BUILD_ROOT%{_unitdir}
-install -m0644 config/cobblerd.service $RPM_BUILD_ROOT%{_unitdir}
+# koan
+mkdir -p $RPM_BUILD_ROOT/var/spool/koan
-%post
-%systemd_post cobblerd.service
-if [ "$1" -ge "2" ]; then
- # 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
- cp /var/lib/cobbler/networks* /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
+
+%pre
+if (( $1 >= 2 )); then
+ # package upgrade: backup configuration
+ DATE=$(date "+%Y%m%d-%H%M%S")
+ if [[ ! -d /var/lib/cobbler/backup/upgrade-${DATE} ]]; then
+ mkdir -p /var/lib/cobbler/backup/upgrade-${DATE}
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
+ for i in "config" "snippets" "kickstarts" "triggers" "scripts"; do
+ if [[ -d /var/lib/cobbler/${i} ]]; then
+ cp -r /var/lib/cobbler/${i} /var/lib/cobbler/backup/upgrade-${DATE}
+ fi
done
+ if [[ -d /etc/cobbler ]]; then
+ cp -r /etc/cobbler /var/lib/cobbler/backup/upgrade-${DATE}
+ fi
fi
-%preun
-%systemd_preun cobblerd.service
+%if 0%{?rhel} == 6
+%post
+# package install
+if (( $1 == 1 )); then
+ /sbin/chkconfig --add cobblerd > /dev/null 2>&1
+ /etc/init.d/cobblerd start > /dev/null 2>&1
+ /etc/init.d/httpd restart > /dev/null 2>&1
+fi
+%preun
+# before last package is removed
+if (( $1 == 0 )); then
+ /sbin/chkconfig --del cobblerd > /dev/null 2>&1
+ /etc/init.d/cobblerd stop > /dev/null 2>&1
+fi
%postun
-%systemd_postun_with_restart cobblerd.service
+# after last package is removed
+if (( $1 == 0 )); then
+ /etc/init.d/httpd condrestart > /dev/null 2>&1
+fi
+%endif
-%else
+%if 0%{?fedora} || 0%{?rhel} >= 7
%post
-if [ "$1" = "1" ];
-then
- # This happens upon initial install. Upgrades will follow the next else
- /sbin/chkconfig --add cobblerd
-elif [ "$1" -ge "2" ];
-then
- # 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
- cp /var/lib/cobbler/networks* /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
- # FIXIT: ?????
- #/usr/bin/cobbler reserialize
- /sbin/service cobblerd condrestart
-fi
+%systemd_post cobblerd.service
%preun
-if [ $1 = 0 ]; then
- /sbin/service cobblerd stop >/dev/null 2>&1 || :
- chkconfig --del cobblerd || :
-fi
+%systemd_preun cobblerd.service
%postun
-if [ "$1" -ge "1" ]; then
- /sbin/service cobblerd condrestart >/dev/null 2>&1 || :
- /sbin/service httpd condrestart >/dev/null 2>&1 || :
-fi
-
+%systemd_postun_with_restart cobblerd.service
%endif
+
%clean
test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
%files
-
+# binaries
%{_bindir}/cobbler
%{_bindir}/cobbler-ext-nodes
%{_bindir}/cobblerd
-%{_sbindir}/tftpd.py*
+%{_sbindir}/tftpd.py
+# python
+%{python2_sitelib}/cobbler
+%{python2_sitelib}/cobbler*.egg-info
+
+# configuration
%config(noreplace) %{_sysconfdir}/cobbler
+%config(noreplace) %{_sysconfdir}/logrotate.d/cobblerd
+%config(noreplace) /etc/httpd/conf.d/cobbler.conf
%if 0%{?fedora} || 0%{?rhel} >= 7
%{_unitdir}/cobblerd.service
%else
/etc/init.d/cobblerd
%endif
-%{python2_sitelib}/cobbler
-
+# data
+%{tftp_dir}/images
+/var/www/cobbler
+%exclude /var/www/cobbler/cobbler_webui_content
%config(noreplace) /var/lib/cobbler
%exclude /var/lib/cobbler/webui_sessions
+# log
/var/log/cobbler
-/var/www/cobbler
+# documentation
+%doc AUTHORS README COPYING docs/README.openvz docs/README.mysql
%{_mandir}/man1/cobbler.1.gz
-%config(noreplace) /etc/httpd/conf.d/cobbler.conf
-
-%exclude %{python2_sitelib}/cobbler/sub_process.py*
-%if 0%{?fedora} || 0%{?rhel} > 5
-%{python2_sitelib}/cobbler*.egg-info
-/var/lib/tftpboot/images
-%else
-/tftpboot/images
-%endif
-
-%doc AUTHORS README COPYING
%package -n koan
@@ -245,14 +212,14 @@ Requires: virt-install
%description -n koan
-
Koan stands for kickstart-over-a-network and allows for both
network installation of new virtualized guests and reinstallation
of an existing system. For use with a boot-server configured with Cobbler
+
%files -n koan
-%dir /var/spool/koan
-%dir /var/lib/koan/config
+/var/spool/koan
+/var/lib/koan
%{_bindir}/koan
%{_bindir}/ovz-install
%{_bindir}/cobbler-register
@@ -264,7 +231,7 @@ of an existing system. For use with a boot-server configured with Cobbler
%{_mandir}/man1/koan.1.gz
%{_mandir}/man1/cobbler-register.1.gz
-%dir /var/log/koan
+/var/log/koan
%doc AUTHORS COPYING README
@@ -280,12 +247,14 @@ Requires: Django
%endif
Requires: mod_wsgi
Requires: mod_ssl
+Requires(post): openssl
-%description -n cobbler-web
+%description -n cobbler-web
Web interface for Cobbler that allows visiting
http://server/cobbler_web to configure the install server.
+
%post -n cobbler-web
# Change the SECRET_KEY option in the Django settings.py file
# required for security reasons, should be unique on all systems
@@ -299,9 +268,11 @@ sed -i -e "s/SECRET_KEY = ''/SECRET_KEY = \'$RAND_SECRET\'/" /usr/share/cobbler/
%dir %attr(700,apache,root) /var/lib/cobbler/webui_sessions
%attr(-,apache,apache) /var/www/cobbler_webui_content/
+
%changelog
* Wed Jul 16 2014 Orion Poplawski <orion at cora.nwra.com> - 2.6.2-1
- Update to 2.6.2
+- Spec cleanup
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
More information about the scm-commits
mailing list