1 %define product_family oVirt Node
3 %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
6 Summary: The oVirt Node daemons
/scripts
9 Release: 0%{?dist}%{?extra_release}
10 Source0: %{name}-%{version}.tar.gz
12 Group: Applications
/System
14 %define selinux_variants mls strict targeted minimum
15 %define selinux_policyver %
(sed
-n 's
,.
*selinux
-policy
-\
([^
/]*\
)/.
*,\
1,p'
/usr
/share
/selinux
/devel
/policyhelp
)
16 %define modulename
%{name}-selinux
17 Source1: %{modulename}.te
18 Source2: %{modulename}.
fc
20 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
21 URL: http
://www.ovirt.org
/
22 Requires(post
): /sbin
/chkconfig
23 Requires(preun
): /sbin
/chkconfig
24 BuildRequires
: libvirt
-devel
>= 0.5.1
25 BuildRequires
: dbus
-devel hal
-devel
26 BuildRequires
: python
-devel
27 BuildRequires
: python
-setuptools
28 Requires: libvirt
>= 0.6.3
29 Requires: augeas
>= 0.3.5
30 Requires: libvirt
-qpid
>= 0.2.14-3
32 Requires: collectd
-virt
34 Requires: cyrus
-sasl
-gssapi cyrus
-sasl cyrus
-sasl
-lib
35 Requires: iscsi
-initiator
-utils
38 Requires: glusterfs
-client
>= 2.0.1
39 Requires: krb5
-workstation
43 # Stupid yum dep solver pulls in older 'qemu' to resolve
44 # /usr/bin/qemu-img dep. This forces it to pick the new
49 Requires: /usr
/sbin
/crond
52 Requires: libuser
-python
56 ExclusiveArch: %{ix86} x86_64
58 %define app_root
%{_datadir}/%{name}
61 Provides a series of daemons and support utilities to allow an
62 oVirt Node to interact with the oVirt Server.
65 Summary: oVirt Node
for running as embedded hypervisor
66 Group: Applications
/System
67 Requires: %{name} = %{version}-%{release}
68 Conflicts: %{name}-stateful
69 ExclusiveArch: %{ix86} x86_64
71 %description stateless
72 Provides the oVirt Node functionality needed as part of the
73 ovirt
-node
-image creation. This provides a stateless oVirt Node
74 that runs as a livecd.
77 Summary: oVirt Node
for running on Fedora Hosts
78 Group: Applications
/System
79 Requires: %{name} = %{version}-%{release}
80 Conflicts: %{name}-stateless
81 ExclusiveArch: %{ix86} x86_64
84 Provides the oVirt Node functionality needed to convert an existing
85 host into a Node
in a stateful manner. Presently intended
for use on
86 the host running the oVirt Appliance.
89 Summary: oVirt Node Logos
90 Group: System Environment
/Base
92 Obsoletes
: redhat
-logos
93 Provides: redhat
-logos
= 10.0.1-1
94 Provides: system
-logos
= 10.0.1-1
95 Conflicts: fedora
-logos
96 Conflicts: generic
-logos
97 Conflicts: fedora
-logos
98 Conflicts: anaconda
-images
<= 10
99 Conflicts: redhat
-artwork
<= 5.0.5
102 The ovirt
-logos package contains various image files which can be
103 used by the bootloader
, anaconda
, and other related tools.
106 Summary: %{product_family} release file
107 Group: System Environment
/Base
108 Obsoletes
: redhat
-release
109 Provides: redhat
-release
111 %{product_family} release files.
114 Summary: SELinux policy module supporting ovirt
-node
115 Group: System Environment
/Base
116 BuildRequires
: checkpolicy
, selinux
-policy
-devel
, hardlink
117 %if "
%{selinux_policyver}"
!= ""
118 Requires: selinux
-policy
>= %{selinux_policyver}
120 Requires: %{name} = %{version}-%{release}
121 Requires(post
): /usr
/sbin
/semodule
, /sbin
/restorecon
122 Requires(postun
): /usr
/sbin
/semodule
, /sbin
/restorecon
125 SELinux policy module supporting ovirt
-node
131 cp
-p
%{SOURCE1} %{SOURCE2} SELinux
138 for selinuxvariant
in %{selinux_variants}; do
139 make NAME
=$
{selinuxvariant
} -f
/usr
/share
/selinux
/devel
/Makefile
140 mv
%{modulename}.pp %{modulename}.pp.${selinuxvariant}
141 make NAME
=$
{selinuxvariant
} -f
/usr
/share
/selinux
/devel
/Makefile clean
146 %{__rm} -rf %{buildroot}
147 # FIXME move installs into makefile
148 %{__install} -d -m0755 %{buildroot}%{_sbindir}
149 %{__install} -d -m0755 %{buildroot}%{_sysconfdir}
150 %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/chkconfig.d
151 %{__install} -d -m0755 %{buildroot}%{_initrddir}
152 %{__install} -d -m0755 %{buildroot}%{app_root}
153 %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/cron.d
154 %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/cron.hourly
155 %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/logrotate.d
156 %{__install} -d -m0755 %{buildroot}%{python_sitelib}/nodeadmin
158 %{__install} -p -m0755 scripts/ovirt-awake %{buildroot}%{_sbindir}
159 %{__install} -p -m0755 scripts/ovirt-config-boot %{buildroot}%{_sbindir}
160 %{__install} -p -m0755 scripts/ovirt-config-boot-wrapper %{buildroot}%{_sbindir}
161 %{__install} -p -m0755 scripts/ovirt-config-collectd %{buildroot}%{_sbindir}
162 %{__install} -p -m0755 scripts/ovirt-config-hostname %{buildroot}%{_sbindir}
163 %{__install} -p -m0755 scripts/ovirt-config-iscsi %{buildroot}%{_sbindir}
164 %{__install} -p -m0755 scripts/ovirt-config-logging %{buildroot}%{_sbindir}
165 %{__install} -p -m0755 scripts/ovirt-config-networking %{buildroot}%{_sbindir}
166 %{__install} -p -m0755 scripts/ovirt-config-password %{buildroot}%{_sbindir}
167 %{__install} -p -m0755 scripts/ovirt-config-setup %{buildroot}%{_sbindir}
168 %{__install} -p -m0755 scripts/ovirt-config-storage %{buildroot}%{_sbindir}
169 %{__install} -p -m0755 scripts/ovirt-config-uninstall %{buildroot}%{_sbindir}
170 %{__install} -p -m0755 scripts/ovirt-process-config %{buildroot}%{_sbindir}
171 %{__install} -D -m0755 scripts/ovirt-install-node-stateful %{buildroot}%{_sbindir}
172 %{__install} -D -m0755 scripts/ovirt-install-node-stateless %{buildroot}%{_sbindir}
173 %{__install} -D -m0755 scripts/ovirt-uninstall-node-stateful %{buildroot}%{_sbindir}
174 %{__install} -D -m0755 scripts/ovirt-config-view-logs %{buildroot}%{_sbindir}
175 %{__install} -p -m0755 scripts/persist %{buildroot}%{_sbindir}
176 %{__install} -p -m0755 scripts/unpersist %{buildroot}%{_sbindir}
178 %{__install} -p -m0644 nodeadmin/__init__.py %{buildroot}%{python_sitelib}/nodeadmin
179 %{__install} -p -m0644 nodeadmin/configscreen.py %{buildroot}%{python_sitelib}/nodeadmin
180 %{__install} -p -m0644 nodeadmin/menuscreen.py %{buildroot}%{python_sitelib}/nodeadmin
181 %{__install} -p -m0755 nodeadmin/utils.py %{buildroot}%{python_sitelib}/nodeadmin
183 %{__install} -p -m0755 nodeadmin/nodeadmin.py %{buildroot}%{python_sitelib}/nodeadmin
184 %{__install} -p -m0644 nodeadmin/mainmenu.py %{buildroot}%{python_sitelib}/nodeadmin
186 %{__install} -p -m0644 nodeadmin/nodemenu.py %{buildroot}%{python_sitelib}/nodeadmin
187 %{__install} -p -m0755 nodeadmin/adddomain.py %{buildroot}%{python_sitelib}/nodeadmin
188 %{__install} -p -m0644 nodeadmin/domainconfig.py %{buildroot}%{python_sitelib}/nodeadmin
189 %{__install} -p -m0755 nodeadmin/listdomains.py %{buildroot}%{python_sitelib}/nodeadmin
190 %{__install} -p -m0755 nodeadmin/removedomain.py %{buildroot}%{python_sitelib}/nodeadmin
191 %{__install} -p -m0755 nodeadmin/startdomain.py %{buildroot}%{python_sitelib}/nodeadmin
192 %{__install} -p -m0755 nodeadmin/stopdomain.py %{buildroot}%{python_sitelib}/nodeadmin
194 %{__install} -p -m0644 nodeadmin/netmenu.py %{buildroot}%{python_sitelib}/nodeadmin
195 %{__install} -p -m0644 nodeadmin/networkconfig.py %{buildroot}%{python_sitelib}/nodeadmin
196 %{__install} -p -m0755 nodeadmin/definenet.py %{buildroot}%{python_sitelib}/nodeadmin
197 %{__install} -p -m0755 nodeadmin/createnetwork.py %{buildroot}%{python_sitelib}/nodeadmin
198 %{__install} -p -m0755 nodeadmin/destroynetwork.py %{buildroot}%{python_sitelib}/nodeadmin
199 %{__install} -p -m0755 nodeadmin/undefinenetwork.py %{buildroot}%{python_sitelib}/nodeadmin
201 %{__install} -p -m0755 nodeadmin/addhost.py %{buildroot}%{python_sitelib}/nodeadmin
202 %{__install} -p -m0644 nodeadmin/changehost.py %{buildroot}%{python_sitelib}/nodeadmin
203 %{__install} -p -m0755 nodeadmin/hostmenu.py %{buildroot}%{python_sitelib}/nodeadmin
204 %{__install} -p -m0755 nodeadmin/removehost.py %{buildroot}%{python_sitelib}/nodeadmin
206 %{__install} -p -m0755 nodeadmin/createuser.py %{buildroot}%{python_sitelib}/nodeadmin
208 %{__install} -p -m0644 nodeadmin/halworker.py %{buildroot}%{python_sitelib}/nodeadmin
209 %{__install} -p -m0644 nodeadmin/libvirtworker.py %{buildroot}%{python_sitelib}/nodeadmin
210 %{__install} -p -m0644 nodeadmin/userworker.py %{buildroot}%{python_sitelib}/nodeadmin
213 %{__install} -p -m0755 gptsync/gptsync %{buildroot}%{_sbindir}
214 %{__install} -p -m0755 gptsync/showpart %{buildroot}%{_sbindir}
217 %{__install} -p -m0755 scripts/ovirt-functions %{buildroot}%{_initrddir}
218 %{__install} -p -m0755 scripts/ovirt-early %{buildroot}%{_initrddir}
219 %{__install} -p -m0755 scripts/ovirt-firstboot %{buildroot}%{_initrddir}
220 %{__install} -p -m0755 scripts/ovirt %{buildroot}%{_initrddir}
221 %{__install} -p -m0755 scripts/ovirt-post %{buildroot}%{_initrddir}
223 %{__install} -p -m0644 scripts/collectd.conf.in %{buildroot}%{_sysconfdir}
225 %{__install} -p -m0755 kinit/ovirt-kinit %{buildroot}%{_sysconfdir}/cron.hourly
227 %{__install} -p -m0644 logrotate/ovirt-logrotate %{buildroot}%{_sysconfdir}/cron.d
228 %{__install} -p -m0644 logrotate/ovirt-logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d
230 # install the admin tools
231 python nodeadmin
/setup.py
install --root
%{buildroot}
232 # rm -rf %{buildroot}%{python_sitelib}/nodeadmin-@VERSION@*
234 echo "oVirt Node release
%{version}-%{release}" > %{buildroot}%{_sysconfdir}/ovirt
-release
235 mkdir -p
%{buildroot}/%{_sysconfdir}/default
236 touch
%{buildroot}/%{_sysconfdir}/default
/ovirt
239 for selinuxvariant
in %{selinux_variants}; do
240 install -d
%{buildroot}%{_datadir}/selinux/${selinuxvariant}
241 install -p
-m
644 %{modulename}.pp.${selinuxvariant} \
242 %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp
246 /usr
/sbin
/hardlink
-cv
%{buildroot}%{_datadir}/selinux
249 # should be ifarch i386
250 mkdir -p
%{buildroot}/boot
/grub
251 install -p
-m
644 images
/grub
-splash.xpm.gz
%{buildroot}/boot
/grub
/splash.xpm.gz
253 mkdir -p
%{buildroot}/usr
/lib
/anaconda
-runtime
254 install -p
-m
644 images
/syslinux
-vesa
-splash.jpg
%{buildroot}/usr
/lib
/anaconda
-runtime
258 echo "
%{product_family} release %{version}%{?beta: %{beta}} (%{release})" > %{buildroot}/etc
/ovirt
-release
259 cp
%{buildroot}/etc/ovirt-release %{buildroot}/etc
/issue
260 echo "Kernel \r on an \m
(\l
)"
>> %{buildroot}/etc
/issue
261 cp
%{buildroot}/etc/issue %{buildroot}/etc
/issue.net
262 echo >> %{buildroot}/etc
/issue
263 ln
-s ovirt
-release
%{buildroot}/etc
/redhat
-release
264 ln
-s ovirt
-release
%{buildroot}/etc
/system
-release
266 # ovirt-config-boot post-install hooks
267 %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/ovirt
-config
-boot.d
269 # default ovirt-config-setup menu options
270 %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
271 %{__ln_s} ../..%{_sbindir}/ovirt-config-storage %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
00_Disk Partitioning"
272 %{__ln_s} ../..%{_sbindir}/ovirt-config-password %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
05_Administrator Password"
273 %{__ln_s} ../..%{_sbindir}/ovirt-config-hostname %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
10_Set Hostname"
274 %{__ln_s} ../..%{_sbindir}/ovirt-config-iscsi %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
12_iSCSI Initiator Setup"
275 %{__ln_s} ../..%{_sbindir}/ovirt-config-networking %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
15_Networking Setup"
276 %{__ln_s} ../..%{_sbindir}/ovirt-config-logging %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
30_Logging Setup"
277 %{__ln_s} ../..%{_sbindir}/ovirt-config-collectd %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
35_Collectd Setup"
278 %{__ln_s} ../..%{_sbindir}/ovirt-config-view-logs %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
90_View logs"
279 %{__ln_s} ../..%{_sbindir}/ovirt-config-boot-wrapper %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
98_Local
install and reboot"
280 %{__ln_s} ../..%{_sbindir}/ovirt-config-uninstall %{buildroot}%{_sysconfdir}/ovirt
-config
-setup.d
/"
99_Uninstall node"
284 %{__rm} -rf %{buildroot}
287 # Setup basic collectd configuration
288 sed '
/<Plugin network
>/,/<\
/Plugin
>/d'
/etc
/collectd.conf.
in > /etc
/collectd.conf
291 /sbin
/chkconfig
--add ovirt
-early
292 /sbin
/chkconfig
--add ovirt
-firstboot
293 /sbin
/chkconfig
--add ovirt
294 /sbin
/chkconfig
--add ovirt
-post
297 if [ "$
1"
= 0 ] ; then
298 /sbin
/chkconfig
--del ovirt
-early
299 /sbin
/chkconfig
--del ovirt
-firstboot
300 /sbin
/chkconfig
--del ovirt
301 /sbin
/chkconfig
--del ovirt
-post
305 for selinuxvariant
in %{selinux_variants}; do
306 /usr
/sbin
/semodule
-s $
{selinuxvariant
} -i \
307 %{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp
&> /dev
/null ||
:
311 if [ $
1 -eq
0 ] ; then
312 for selinuxvariant
in %{selinux_variants}; do
313 /usr
/sbin
/semodule
-s $
{selinuxvariant
} -r
%{modulename} &> /dev
/null ||
:
318 %defattr(-,root
,root
)
319 %attr(0644,root
,root
) /etc
/ovirt
-release
322 %config(noreplace
) %attr(0644,root
,root
) /etc
/issue
323 %config(noreplace
) %attr(0644,root
,root
) /etc
/issue.net
326 %defattr(-,root
,root
,0755)
328 %{_datadir}/selinux/*/%{modulename}.pp
331 %defattr(-, root
, root
)
333 # should be ifarch i386
334 /boot
/grub
/splash.xpm.gz
336 /usr
/lib
/anaconda
-runtime
/*.jpg
339 %defattr(-,root
,root
,0755)
340 %{_sbindir}/ovirt
-awake
341 %{_sbindir}/ovirt
-config
-boot
342 %{_sbindir}/ovirt
-config
-boot
-wrapper
343 %{_sbindir}/ovirt
-config
-collectd
344 %{_sbindir}/ovirt
-config
-iscsi
345 %{_sbindir}/ovirt
-config
-hostname
346 %{_sbindir}/ovirt
-config
-logging
347 %{_sbindir}/ovirt
-config
-networking
348 %{_sbindir}/ovirt
-config
-password
349 %{_sbindir}/ovirt
-config
-setup
350 %{_sbindir}/ovirt
-config
-storage
351 %{_sbindir}/ovirt
-config
-uninstall
352 %{_sbindir}/ovirt
-config
-view
-logs
353 %{_sbindir}/ovirt
-process
-config
354 %{_sbindir}/ovirt
-install-node
-stateless
358 %{_sbindir}/unpersist
359 %{_initrddir}/ovirt
-early
360 %{_initrddir}/ovirt
-firstboot
362 %{_initrddir}/ovirt
-post
363 %config %{_sysconfdir}/cron.hourly
/ovirt
-kinit
364 %config %{_sysconfdir}/logrotate.d
/ovirt
-logrotate.conf
365 %config %{_sysconfdir}/cron.d
/ovirt
-logrotate
366 %{_sysconfdir}/ovirt
-config
-boot.d
367 %{_sysconfdir}/ovirt
-config
-setup.d
370 %defattr(-,root
,root
,0755)
371 %{_sbindir}/ovirt
-install-node
-stateful
372 %{_sbindir}/ovirt
-uninstall
-node
-stateful
375 %defattr(-,root
,root
,0755)
376 %{_sbindir}/ovirt
-awake
377 %{_initrddir}/ovirt
-functions
378 %defattr(-,root
,root
,0644)
394 %{_bindir}/destroynet
395 %{_bindir}/undefinenet
397 %{_bindir}/createuser
398 %{_sysconfdir}/collectd.conf.
in
399 %{python_sitelib}/nodeadmin
400 %{python_sitelib}/nodeadmin
-@VERSION@
-py2.6.egg
-info
401 %config %attr(0644,root
,root
) %{_sysconfdir}/ovirt
-release
402 %config %attr(0644,root
,root
) %{_sysconfdir}/default
/ovirt
405 * Thu Dec
11 2008 Perry Myers
<pmyers@redhat.com
> - 0.96
406 - Subpackage stateful
/stateless to separate out functionality
for
407 embedded Node and Node running as part of already installed OS
408 - ovirt
-config
-* setup scripts
for standalone mode
410 * Thu Sep
11 2008 Chris Lalancette
<clalance@redhat.com
> - 0.92 0.7
411 - Add the ovirt
-install- and ovirt
-uninstall
-node scripts
, and refactor
414 * Mon Sep
8 2008 Jim Meyering
<meyering@redhat.com
> - 0.92 0.6
415 - Update ovirt
-identify
-node's build rule.
417 * Fri Aug
22 2008 Chris Lalancette
<clalance@redhat.com
> - 0.92 0.5
418 - Add the ovirt
-listen
-awake daemon to the RPM
420 * Fri Aug
22 2008 Chris Lalancette
<clalance@redhat.com
> - 0.92 0.4
421 - Re
-arrange the directory layout
, in preparation
for ovirt
-listen
-awake
423 * Tue Jul
29 2008 Perry Myers
<pmyers@redhat.com
> - 0.92 0.2
424 - Added
/etc
/ovirt
-release and merged ovirt
-setup into spec file
426 * Wed Jul
02 2008 Darryl Pierce
<dpierce@redhat.com
> - 0.92 0.2
427 - Added log rotation to limit file system writes.
429 * Mon Jun
30 2008 Perry Myers
<pmyers@redhat.com
> - 0.92 0.1
430 - Add
in sections of kickstart post
, general cleanup