%define product_family oVirt Node %define beta Beta %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} Summary: The oVirt Node daemons/scripts Name: ovirt-node Version: 1.0.3 Release: 4%{?dist}%{?extra_release} Source0: %{name}-%{version}.tar.gz License: GPLv2+ Group: Applications/System BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot URL: http://www.ovirt.org/ Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig BuildRequires: libvirt-devel >= 0.5.1 BuildRequires: dbus-devel hal-devel BuildRequires: python-devel BuildRequires: python-setuptools Requires: libvirt >= 0.6.3 Requires: augeas >= 0.3.5 Requires: libvirt-qpid >= 0.2.14-3 Requires: hal Requires: collectd-virt Requires: wget Requires: cyrus-sasl-gssapi cyrus-sasl Requires: cyrus-sasl-lib >= 2.1.22 Requires: iscsi-initiator-utils Requires: ntp Requires: nfs-utils Requires: glusterfs-client >= 2.0.1 Requires: krb5-workstation Requires: bash Requires: chkconfig Requires: bind-utils # Stupid yum dep solver pulls in older 'qemu' to resolve # /usr/bin/qemu-img dep. This forces it to pick the new # qemu-img RPM. Requires: qemu-img Requires: nc Requires: grub Requires: /usr/sbin/crond Requires: anyterm Requires: newt-python Requires: libuser-python >= 0.56.10 Requires: dbus-python ExclusiveArch: %{ix86} x86_64 %define app_root %{_datadir}/%{name} %description Provides a series of daemons and support utilities to allow an oVirt Node to interact with the oVirt Server. This package should only be installed on the oVirt Node machine. %package tools Summary: oVirt Node tools for building and running an oVirt Node image Group: Applications/System BuildArch: noarch BuildRequires: pykickstart >= 1.54 Requires: livecd-tools >= 020-2 %description tools The oVirt-node-tools package provides recipe (ks files), client tools, documentation for building and running an oVirt Node image. This package is not to be installed on the oVirt-Node, however on a development machine to help in deployment on the node. %prep %setup -q %build %configure make %install %{__rm} -rf %{buildroot} # FIXME move installs into makefile %{__install} -d -m0755 %{buildroot}%{_sbindir} %{__install} -d -m0755 %{buildroot}%{_sysconfdir} %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/chkconfig.d %{__install} -d -m0755 %{buildroot}%{_initrddir} %{__install} -d -m0755 %{buildroot}%{app_root} %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/cron.d %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/cron.hourly %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/logrotate.d %{__install} -d -m0755 %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 scripts/ovirt-awake %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-boot %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-boot-wrapper %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-collectd %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-hostname %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-logging %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-networking %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-password %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-setup %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-storage %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-config-uninstall %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/ovirt-process-config %{buildroot}%{_sbindir} %{__install} -D -m0755 scripts/ovirt-install-node-stateless %{buildroot}%{_sbindir} %{__install} -D -m0755 scripts/ovirt-config-view-logs %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/persist %{buildroot}%{_sbindir} %{__install} -p -m0755 scripts/unpersist %{buildroot}%{_sbindir} %{__install} -p -m0644 nodeadmin/__init__.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/configscreen.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/menuscreen.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/utils.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/nodeadmin.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/mainmenu.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/nodemenu.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/definedomain.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/createdomain.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/destroydomain.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/undefinedomain.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/listdomains.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/domainconfig.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/netmenu.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/networkconfig.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/definenet.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/createnetwork.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/destroynetwork.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/undefinenetwork.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0755 nodeadmin/createuser.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/halworker.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/libvirtworker.py %{buildroot}%{python_sitelib}/nodeadmin %{__install} -p -m0644 nodeadmin/userworker.py %{buildroot}%{python_sitelib}/nodeadmin # gptsync %{__install} -p -m0755 gptsync/gptsync %{buildroot}%{_sbindir} %{__install} -p -m0755 gptsync/showpart %{buildroot}%{_sbindir} # %{__install} -p -m0755 scripts/ovirt-functions %{buildroot}%{_initrddir} %{__install} -p -m0755 scripts/ovirt-early %{buildroot}%{_initrddir} %{__install} -p -m0755 scripts/ovirt-firstboot %{buildroot}%{_initrddir} %{__install} -p -m0755 scripts/ovirt %{buildroot}%{_initrddir} %{__install} -p -m0755 scripts/ovirt-post %{buildroot}%{_initrddir} %{__install} -p -m0644 scripts/collectd.conf.in %{buildroot}%{_sysconfdir} %{__install} -p -m0755 kinit/ovirt-kinit %{buildroot}%{_sysconfdir}/cron.hourly %{__install} -p -m0644 logrotate/ovirt-logrotate %{buildroot}%{_sysconfdir}/cron.d %{__install} -p -m0644 logrotate/ovirt-logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ovirt-node # install the admin tools python nodeadmin/setup.py install --root %{buildroot} # rm -rf %{buildroot}%{python_sitelib}/nodeadmin-1.0.3* echo "oVirt Node release %{version}-%{release}" > %{buildroot}%{_sysconfdir}/ovirt-release mkdir -p %{buildroot}/%{_sysconfdir}/default echo "# File where default partitioning info is kept" > %{buildroot}/%{_sysconfdir}/default/ovirt # ovirt-logos # should be ifarch i386 mkdir -p %{buildroot}/boot/grub install -p -m 644 images/grub-splash.xpm.gz %{buildroot}%{app_root} # end i386 bits mkdir -p %{buildroot}/usr/lib/anaconda-runtime install -p -m 644 images/syslinux-vesa-splash.jpg %{buildroot}%{app_root} # ovirt-logos # release files echo "%{product_family} release %{version}%{?beta: %{beta}} (%{release})" > %{buildroot}/etc/ovirt-release cp %{buildroot}/etc/ovirt-release %{buildroot}/etc/issue echo "Kernel \r on an \m (\l)" >> %{buildroot}/etc/issue cp %{buildroot}/etc/issue %{buildroot}/etc/issue.net echo >> %{buildroot}/etc/issue ln -s ovirt-release %{buildroot}/etc/redhat-release ln -s ovirt-release %{buildroot}/etc/system-release # ovirt-config-boot post-install hooks %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/ovirt-config-boot.d # default ovirt-config-setup menu options %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/ovirt-config-setup.d %{__ln_s} ../..%{_sbindir}/ovirt-config-storage %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"00_Disk Partitioning" %{__ln_s} ../..%{_sbindir}/ovirt-config-password %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"05_Administrator Password" %{__ln_s} ../..%{_sbindir}/ovirt-config-hostname %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"10_Set Hostname" %{__ln_s} ../..%{_sbindir}/ovirt-config-networking %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"15_Networking Setup" %{__ln_s} ../..%{_sbindir}/ovirt-config-logging %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"30_Logging Setup" %{__ln_s} ../..%{_sbindir}/ovirt-config-collectd %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"35_Collectd Setup" %{__ln_s} ../..%{_sbindir}/ovirt-config-view-logs %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"90_View logs" %{__ln_s} ../..%{_sbindir}/ovirt-config-boot-wrapper %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"98_Local install and reboot" %{__ln_s} ../..%{_sbindir}/ovirt-config-uninstall %{buildroot}%{_sysconfdir}/ovirt-config-setup.d/"99_Uninstall node" # ovirt-node-tools %{__install} -p -m0644 recipe/ovirt-node-recipe.ks %{buildroot}%{app_root} %{__install} -p -m0755 tools/create-ovirt-iso-nodes %{buildroot}%{_sbindir} %{__install} -p -m0755 tools/edit-livecd %{buildroot}%{_sbindir} %{__install} -p -m0755 tools/livecd-setauth %{buildroot}%{_sbindir} %{__install} -p -m0755 tools/livecd-rpms %{buildroot}%{_sbindir} #%{__install} -p -m0755 tools/get-ovirt-node-image %{buildroot}%{_sbindir} #%{__install} -p -m0755 tools/generate-ovirt-node-pxe-tree %{buildroot}%{_sbindir} %clean %{__rm} -rf %{buildroot} %post # Setup basic collectd configuration sed '//,/<\/Plugin>/d' /etc/collectd.conf.in > /etc/collectd.conf /sbin/chkconfig --add ovirt-early /sbin/chkconfig --add ovirt-firstboot /sbin/chkconfig --add ovirt /sbin/chkconfig --add ovirt-post %preun if [ $1 = 0 ] ; then /sbin/service ovirt-early stop >/dev/null 2>&1 /sbin/service ovirt-firstboor stop >/dev/null 2>&1 /sbin/service ovirt stop >/dev/null 2>&1 /sbin/service ovirt-post stop >/dev/null 2>&1 /sbin/chkconfig --del ovirt-early /sbin/chkconfig --del ovirt-firstboot /sbin/chkconfig --del ovirt /sbin/chkconfig --del ovirt-post fi %files tools %defattr(0644,root,root,0755) %doc README COPYING %{app_root}/ovirt-node-recipe.ks %defattr(0755,root,root,0755) %{_sbindir}/create-ovirt-iso-nodes %{_sbindir}/edit-livecd %{_sbindir}/livecd-setauth %{_sbindir}/livecd-rpms #%{_sbindir}/get-ovirt-node-image #%{_sbindir}/generate-ovirt-node-pxe-tree %files %defattr(-,root,root) %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/ovirt-release %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/default/ovirt %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/redhat-release %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/system-release %config(noreplace) %attr(0644,root,root) /etc/issue %config(noreplace) %attr(0644,root,root) /etc/issue.net %config(noreplace) %{_sysconfdir}/logrotate.d/ovirt-node %config(noreplace) %{_sysconfdir}/cron.d/ovirt-logrotate %{_sysconfdir}/ovirt-config-boot.d %{_sysconfdir}/ovirt-config-setup.d %config(noreplace) %{_sysconfdir}/collectd.conf.in %{_sysconfdir}/cron.hourly/ovirt-kinit %doc COPYING # should be ifarch i386 %{app_root}/grub-splash.xpm.gz # end i386 bits %{app_root}/syslinux-vesa-splash.jpg %defattr(-,root,root,0755) %{_sbindir}/ovirt-awake %{_sbindir}/ovirt-config-boot %{_sbindir}/ovirt-config-boot-wrapper %{_sbindir}/ovirt-config-collectd %{_sbindir}/ovirt-config-hostname %{_sbindir}/ovirt-config-logging %{_sbindir}/ovirt-config-networking %{_sbindir}/ovirt-config-password %{_sbindir}/ovirt-config-setup %{_sbindir}/ovirt-config-storage %{_sbindir}/ovirt-config-uninstall %{_sbindir}/ovirt-config-view-logs %{_sbindir}/ovirt-process-config %{_sbindir}/ovirt-install-node-stateless %{_sbindir}/gptsync %{_sbindir}/showpart %{_sbindir}/persist %{_sbindir}/unpersist %{_initrddir}/ovirt-early %{_initrddir}/ovirt-firstboot %{_initrddir}/ovirt %{_initrddir}/ovirt-post %attr(0644,root,root) /etc/rc.d/init.d/ovirt-functions %defattr(-,root,root,0644) %{_bindir}/nodeadmin %{_bindir}/definedom %{_bindir}/createdom %{_bindir}/destroydom %{_bindir}/undefinedom %{_bindir}/listdoms %{_bindir}/definenet %{_bindir}/createnet %{_bindir}/destroynet %{_bindir}/undefinenet %{_bindir}/listnets %{_bindir}/createuser %defattr(-,root,root,-) %{python_sitelib}/nodeadmin %{python_sitelib}/nodeadmin-1.0.3-py2.6.egg-info %changelog * Wed Oct 07 2009 David huff - 1.0.3-4 - Added ovirt-node-tools subpackage * Thu Jun 23 2009 David Huff - 1.0.3 - Clean up spec for inclusion in Fedora - Removed subpackages, stateful, stateless, logos, and selinux * Thu Dec 11 2008 Perry Myers - 0.96 - Subpackage stateful/stateless to separate out functionality for embedded Node and Node running as part of already installed OS - ovirt-config-* setup scripts for standalone mode * Thu Sep 11 2008 Chris Lalancette - 0.92 0.7 - Add the ovirt-install- and ovirt-uninstall-node scripts, and refactor post to accomodate * Mon Sep 8 2008 Jim Meyering - 0.92 0.6 - Update ovirt-identify-node's build rule. * Fri Aug 22 2008 Chris Lalancette - 0.92 0.5 - Add the ovirt-listen-awake daemon to the RPM * Fri Aug 22 2008 Chris Lalancette - 0.92 0.4 - Re-arrange the directory layout, in preparation for ovirt-listen-awake * Tue Jul 29 2008 Perry Myers - 0.92 0.2 - Added /etc/ovirt-release and merged ovirt-setup into spec file * Wed Jul 02 2008 Darryl Pierce - 0.92 0.2 - Added log rotation to limit file system writes. * Mon Jun 30 2008 Perry Myers - 0.92 0.1 - Add in sections of kickstart post, general cleanup