]> git.pld-linux.org Git - packages/ganeti.git/blame - ganeti.spec
- python-ipaddr is required
[packages/ganeti.git] / ganeti.spec
CommitLineData
7e1fcc70
JR
1Summary: Cluster-based virtualization management software
2Name: ganeti
2b0c5c25 3Version: 2.8.1
666a3f96 4Release: 0.2
7e1fcc70
JR
5License: GPL v2
6Group: Applications/System
7Source0: https://ganeti.googlecode.com/files/%{name}-%{version}.tar.gz
2b0c5c25 8# Source0-md5: ade147740c2f630e0cdbb14a70e9c3ef
7adb0d04 9Source1: %{name}.tmpfiles
a24e1f94
ER
10Source2: %{name}-confd.init
11Source3: %{name}-masterd.init
12Source4: %{name}-noded.init
13Source5: %{name}-rapi.init
2b0c5c25
JR
14Source6: %{name}-luxid.init
15Source7: %{name}-mond.init
554d0f8c 16Patch0: fix-no-kvm.patch
bc935a7a 17Patch1: systemd.patch
4a9e23c9 18Patch2: daemon-util-use-service.patch
7e1fcc70 19URL: https://code.google.com/p/ganeti/
bc935a7a
JR
20BuildRequires: autoconf
21BuildRequires: automake
22BuildRequires: curl-devel
7e1fcc70
JR
23BuildRequires: fakeroot
24BuildRequires: gawk
25BuildRequires: ghc
86f7b894 26BuildRequires: ghc-Crypto
7e1fcc70
JR
27BuildRequires: ghc-QuickCheck
28BuildRequires: ghc-curl
29BuildRequires: ghc-haskell-platform
86f7b894 30BuildRequires: ghc-hinotify
2b0c5c25 31BuildRequires: ghc-hslogger >= 1.2.3
7e1fcc70 32BuildRequires: ghc-json
2b0c5c25 33BuildRequires: ghc-snap-server
86f7b894
JR
34BuildRequires: ghc-regex-pcre
35BuildRequires: ghc-utf8-string
bc935a7a 36BuildRequires: gmp-devel
7e1fcc70
JR
37BuildRequires: hlint
38BuildRequires: hscolour
39BuildRequires: python
40BuildRequires: python-affinity
86f7b894 41BuildRequires: python-bitarray
a24e1f94 42BuildRequires: python-devel
a24e1f94 43BuildRequires: python-distribute
86f7b894 44BuildRequires: python-ipaddr
7e1fcc70
JR
45BuildRequires: python-modules
46BuildRequires: python-paramiko
bc935a7a 47BuildRequires: python-pyOpenSSL
7e1fcc70
JR
48BuildRequires: python-pycurl
49BuildRequires: python-pyinotify
50BuildRequires: python-pyparsing
51BuildRequires: python-simplejson
43241b14 52BuildRequires: rpm-pythonprov
7e1fcc70 53BuildRequires: rpmbuild(macros) >= 1.647
43241b14 54Requires(post,preun): /sbin/chkconfig
7e1fcc70 55Requires(post,preun,postun): systemd-units >= 38
adaac8ef
JR
56Requires: bridge-utils
57Requires: drbdsetup >= 8.0.12
58Requires: drbd-udev
59Requires: iproute2
60Requires: iputils-arping
61Requires: lvm2
62Requires: openssh-clients
63Requires: openssh-server
64Requires: python
65Requires: python-affinity
66Requires: python-devel
67Requires: python-distribute
3a27219c 68Requires: python-ipaddr
adaac8ef
JR
69Requires: python-modules
70Requires: python-paramiko
71Requires: python-pycurl
72Requires: python-pyinotify
73Requires: python-pyOpenSSL
74Requires: python-pyparsing
75Requires: python-simplejson
43241b14 76Requires: rc-scripts
adaac8ef 77Requires: socat
7e1fcc70 78Requires: systemd-units >= 0.38
adaac8ef
JR
79#Suggests: ganeti-instance-debootstrap
80Suggests: qemu-kvm
81Suggests: xen
7e1fcc70
JR
82BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83
84%description
85Ganeti is a cluster virtual server management software tool built on
86top of existing virtualization technologies such as Xen or KVM and
87other Open Source software.
88
554d0f8c
JR
89%package htools
90Summary: Cluster allocation tools for Ganeti
91Group: Applications/System
92Requires: %{name} = %{version}-%{release}
7e1fcc70 93
554d0f8c
JR
94%description htools
95These are additional tools used for enhanced allocation and capacity
96calculation on Ganeti clusters.
7e1fcc70 97
554d0f8c
JR
98The tools provided are:
99 - hail, an iallocator script for ganeti
100 - hbal, used to redistribute instances on the cluster
101 - hspace, used for capacity calculation
102 - hscan, used to gather cluster files for offline use in hbal/hspace
7e1fcc70 103
bc935a7a
JR
104%package -n bash-completion-ganeti
105Summary: bash-completion for ganeti
106Group: Applications/Shells
107Requires: %{name} = %{version}
108
109%description -n bash-completion-ganeti
110bash-completion for ganeti.
111
7e1fcc70
JR
112%prep
113%setup -q
554d0f8c 114%patch0 -p1
bc935a7a 115%patch1 -p1
4a9e23c9 116%patch2 -p1
7e1fcc70
JR
117
118%build
bc935a7a
JR
119%{__aclocal} -I autotools
120%{__autoconf}
121%{__automake}
7e1fcc70
JR
122# DON'T use full path to xl binary, just 'xl' (see lib/hypervisor/hv_xen.py for a reason)
123%configure \
124 IP_PATH=/sbin/ip \
125 DOT=/usr/bin/dot \
126 PYLINT=/usr/bin/pylint \
127 SOCAT=/usr/bin/socat \
128 QEMUIMG_PATH=/usr/bin/qemu-img \
129 --enable-syslog \
7e1fcc70
JR
130 --enable-htools-rapi \
131 --enable-confd=python \
132 --enable-socat-escape \
133 --with-ssh-initscript=/etc/rc.d/init.d/sshd \
134 --with-ssh-config-dir=/stc/ssh \
135 --with-xen-cmd=xl \
136 --with-kvm-path=/usr/bin/qemu-kvm
137
138%{__make}
139
140%install
141rm -rf $RPM_BUILD_ROOT
43241b14 142install -d $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdtmpfilesdir}} \
bc935a7a 143 $RPM_BUILD_ROOT/etc/{ganeti,cron.d,bash_completion.d,sysconfig,rc.d/init.d}
7e1fcc70
JR
144
145%{__make} install \
146 DESTDIR=$RPM_BUILD_ROOT
147
3926baa3
JR
148install -d $RPM_BUILD_ROOT%{_datadir}/ganeti/os
149
a24e1f94
ER
150cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ganeti.conf
151install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-confd
152install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-masterd
153install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-noded
154install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-rapi
2b0c5c25
JR
155install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-luxid
156install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-mond
bc935a7a 157
4a9e23c9
JR
158%{__sed} -i -e 's|@LIBDIR@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/rc.d/init.d/ganeti-*
159
a24e1f94
ER
160cp -p doc/examples/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/ganeti
161cp -p doc/examples/ganeti.cron $RPM_BUILD_ROOT/etc/cron.d/ganeti
162cp -p doc/examples/ganeti.default $RPM_BUILD_ROOT/etc/sysconfig/ganeti
163cp -p doc/examples/ganeti.target $RPM_BUILD_ROOT%{systemdunitdir}
164cp -p doc/examples/ganeti.target $RPM_BUILD_ROOT%{systemdunitdir}
2b0c5c25 165cp -p doc/examples/ganeti-{noded,masterd,rapi,confd,luxid,mond}.service $RPM_BUILD_ROOT%{systemdunitdir}
7adb0d04 166
43241b14
JR
167%py_postclean
168
7e1fcc70
JR
169%clean
170rm -rf $RPM_BUILD_ROOT
171
7e1fcc70 172%post
da74baa0
JR
173/sbin/chkconfig --add ganeti-noded
174%service ganeti-noded restart
175/sbin/chkconfig --add ganeti-masterd
176%service ganeti-masterd restart
177/sbin/chkconfig --add ganeti-rapi
178%service ganeti-rapi restart
179/sbin/chkconfig --add ganeti-confd
180%service ganeti-confd restart
2b0c5c25
JR
181/sbin/chkconfig --add ganeti-luxid
182%service ganeti-luxid restart
183/sbin/chkconfig --add ganeti-mond
184%service ganeti-mond restart
185%systemd_post ganeti.target ganeti-noded.service ganeti-masterd.service ganeti-rapi.service ganeti-confd.service ganeti-luxid.service ganeti-mond.service
7e1fcc70
JR
186
187%preun
188if [ "$1" = "0" ]; then
da74baa0
JR
189 %service -q ganeti-confd stop
190 /sbin/chkconfig --del ganeti-confd
191 %service -q ganeti-rapi stop
192 /sbin/chkconfig --del ganeti-rapi
193 %service -q ganeti-masterd stop
194 /sbin/chkconfig --del ganeti-masterd
195 %service -q ganeti-noded stop
196 /sbin/chkconfig --del ganeti-noded
2b0c5c25
JR
197 %service -q ganeti-luxid stop
198 /sbin/chkconfig --del ganeti-luxid
199 %service -q ganeti-mond stop
200 /sbin/chkconfig --del ganeti-mond
7e1fcc70 201fi
2b0c5c25 202%systemd_preun ganeti.target ganeti-noded.service ganeti-masterd.service ganeti-rapi.service ganeti-confd.service ganeti-luxid.service ganeti-mond.service
7e1fcc70
JR
203
204%postun
205%systemd_reload
7e1fcc70
JR
206
207%files
208%defattr(644,root,root,755)
7adb0d04 209%doc NEWS README UPGRADE
bc935a7a 210%attr(754,root,root) /etc/rc.d/init.d/ganeti-confd
2b0c5c25 211%attr(754,root,root) /etc/rc.d/init.d/ganeti-luxid
bc935a7a 212%attr(754,root,root) /etc/rc.d/init.d/ganeti-masterd
2b0c5c25 213%attr(754,root,root) /etc/rc.d/init.d/ganeti-mond
bc935a7a
JR
214%attr(754,root,root) /etc/rc.d/init.d/ganeti-noded
215%attr(754,root,root) /etc/rc.d/init.d/ganeti-rapi
216%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ganeti
217%dir %{_sysconfdir}/ganeti
218%{systemdunitdir}/ganeti.target
219%{systemdunitdir}/ganeti-confd.service
2b0c5c25 220%{systemdunitdir}/ganeti-luxid.service
bc935a7a 221%{systemdunitdir}/ganeti-masterd.service
2b0c5c25 222%{systemdunitdir}/ganeti-mond.service
bc935a7a
JR
223%{systemdunitdir}/ganeti-noded.service
224%{systemdunitdir}/ganeti-rapi.service
7adb0d04 225%{systemdtmpfilesdir}/ganeti.conf
bc935a7a 226/etc/cron.d/ganeti
3926baa3
JR
227%dir %{_datadir}/ganeti
228%dir %{_datadir}/ganeti/os
7adb0d04 229%dir %{_libdir}/ganeti
666a3f96
JR
230%attr(755,root,root) %{_libdir}/ganeti/check-cert-expired
231%attr(755,root,root) %{_libdir}/ganeti/daemon-util
232%attr(755,root,root) %{_libdir}/ganeti/ensure-dirs
233%attr(755,root,root) %{_libdir}/ganeti/import-export
234%attr(755,root,root) %{_libdir}/ganeti/kvm-ifup
235%attr(755,root,root) %{_libdir}/ganeti/mon-collector
236%attr(755,root,root) %{_libdir}/ganeti/node-daemon-setup
237%attr(755,root,root) %{_libdir}/ganeti/prepare-node-join
43241b14 238%dir %{_libdir}/ganeti/iallocators
7adb0d04 239%dir %{_libdir}/ganeti/tools
666a3f96
JR
240%attr(755,root,root) %{_libdir}/ganeti/tools/burnin
241%attr(755,root,root) %{_libdir}/ganeti/tools/cfgshell
242%attr(755,root,root) %{_libdir}/ganeti/tools/cfgupgrade
243%attr(755,root,root) %{_libdir}/ganeti/tools/cfgupgrade12
244%attr(755,root,root) %{_libdir}/ganeti/tools/cluster-merge
245%attr(755,root,root) %{_libdir}/ganeti/tools/confd-client
246%attr(755,root,root) %{_libdir}/ganeti/tools/fmtjson
247%attr(755,root,root) %{_libdir}/ganeti/tools/kvm-console-wrapper
248%attr(755,root,root) %{_libdir}/ganeti/tools/lvmstrap
249%attr(755,root,root) %{_libdir}/ganeti/tools/master-ip-setup
250%attr(755,root,root) %{_libdir}/ganeti/tools/move-instance
251%attr(755,root,root) %{_libdir}/ganeti/tools/node-cleanup
252%attr(755,root,root) %{_libdir}/ganeti/tools/ovfconverter
253%attr(755,root,root) %{_libdir}/ganeti/tools/sanitize-config
254%attr(755,root,root) %{_libdir}/ganeti/tools/users-setup
255%attr(755,root,root) %{_libdir}/ganeti/tools/vcluster-setup
256%attr(755,root,root) %{_libdir}/ganeti/tools/xen-console-wrapper
7adb0d04
JR
257%attr(755,root,root) %{_sbindir}/ganeti-cleaner
258%attr(755,root,root) %{_sbindir}/ganeti-confd
259%attr(755,root,root) %{_sbindir}/ganeti-listrunner
2b0c5c25 260%attr(755,root,root) %{_sbindir}/ganeti-luxid
7adb0d04 261%attr(755,root,root) %{_sbindir}/ganeti-masterd
2b0c5c25 262%attr(755,root,root) %{_sbindir}/ganeti-mond
7adb0d04
JR
263%attr(755,root,root) %{_sbindir}/ganeti-noded
264%attr(755,root,root) %{_sbindir}/ganeti-rapi
265%attr(755,root,root) %{_sbindir}/ganeti-watcher
266%attr(755,root,root) %{_sbindir}/gnt-backup
267%attr(755,root,root) %{_sbindir}/gnt-cluster
268%attr(755,root,root) %{_sbindir}/gnt-debug
269%attr(755,root,root) %{_sbindir}/gnt-group
270%attr(755,root,root) %{_sbindir}/gnt-instance
271%attr(755,root,root) %{_sbindir}/gnt-job
b327c64e 272%attr(755,root,root) %{_sbindir}/gnt-network
7adb0d04
JR
273%attr(755,root,root) %{_sbindir}/gnt-node
274%attr(755,root,root) %{_sbindir}/gnt-os
b327c64e 275%attr(755,root,root) %{_sbindir}/gnt-storage
2b0c5c25 276%{_mandir}/man7/ganeti.7*
b327c64e 277%{_mandir}/man7/ganeti-extstorage-interface.7*
7adb0d04 278%{_mandir}/man7/ganeti-os-interface.7*
b327c64e 279%{_mandir}/man7/mon-collector.7*
7adb0d04
JR
280%{_mandir}/man8/ganeti-cleaner.8*
281%{_mandir}/man8/ganeti-confd.8*
282%{_mandir}/man8/ganeti-listrunner.8*
2b0c5c25 283%{_mandir}/man8/ganeti-luxid.8*
7adb0d04 284%{_mandir}/man8/ganeti-masterd.8*
2b0c5c25 285%{_mandir}/man8/ganeti-mond.8*
7adb0d04
JR
286%{_mandir}/man8/ganeti-noded.8*
287%{_mandir}/man8/ganeti-rapi.8*
288%{_mandir}/man8/ganeti-watcher.8*
289%{_mandir}/man8/gnt-backup.8*
290%{_mandir}/man8/gnt-cluster.8*
291%{_mandir}/man8/gnt-debug.8*
292%{_mandir}/man8/gnt-group.8*
293%{_mandir}/man8/gnt-instance.8*
294%{_mandir}/man8/gnt-job.8*
b327c64e 295%{_mandir}/man8/gnt-network.8*
7adb0d04
JR
296%{_mandir}/man8/gnt-node.8*
297%{_mandir}/man8/gnt-os.8*
b327c64e 298%{_mandir}/man8/gnt-storage.8*
7adb0d04
JR
299%dir %{py_sitescriptdir}/ganeti
300%{py_sitescriptdir}/ganeti/*.py*
301%dir %{py_sitescriptdir}/ganeti/client
302%{py_sitescriptdir}/ganeti/client/*.py*
2b0c5c25
JR
303%dir %{py_sitescriptdir}/ganeti/cmdlib
304%{py_sitescriptdir}/ganeti/cmdlib/*.py*
7adb0d04
JR
305%dir %{py_sitescriptdir}/ganeti/confd
306%{py_sitescriptdir}/ganeti/confd/*.py*
307%dir %{py_sitescriptdir}/ganeti/http
308%{py_sitescriptdir}/ganeti/http/*.py*
309%dir %{py_sitescriptdir}/ganeti/hypervisor
310%{py_sitescriptdir}/ganeti/hypervisor/*.py*
311%dir %{py_sitescriptdir}/ganeti/impexpd
312%{py_sitescriptdir}/ganeti/impexpd/*.py*
313%dir %{py_sitescriptdir}/ganeti/masterd
314%{py_sitescriptdir}/ganeti/masterd/*.py*
315%dir %{py_sitescriptdir}/ganeti/rapi
316%{py_sitescriptdir}/ganeti/rapi/*.py*
317%dir %{py_sitescriptdir}/ganeti/server
318%{py_sitescriptdir}/ganeti/server/*.py*
319%dir %{py_sitescriptdir}/ganeti/tools
320%{py_sitescriptdir}/ganeti/tools/*.py*
321%dir %{py_sitescriptdir}/ganeti/utils
322%{py_sitescriptdir}/ganeti/utils/*.py*
323%dir %{py_sitescriptdir}/ganeti/watcher
324%{py_sitescriptdir}/ganeti/watcher/*.py*
7e1fcc70 325
554d0f8c 326%files htools
7e1fcc70 327%defattr(644,root,root,755)
2b0c5c25 328%attr(755,root,root) %{_bindir}/harep
a24e1f94
ER
329%attr(755,root,root) %{_bindir}/hbal
330%attr(755,root,root) %{_bindir}/hcheck
331%attr(755,root,root) %{_bindir}/hinfo
b327c64e 332%attr(755,root,root) %{_bindir}/hroller
a24e1f94
ER
333%attr(755,root,root) %{_bindir}/hscan
334%attr(755,root,root) %{_bindir}/hspace
335%attr(755,root,root) %{_bindir}/htools
666a3f96 336%attr(755,root,root) %{_libdir}/ganeti/iallocators/hail
554d0f8c 337%{_mandir}/man1/hail.1*
2b0c5c25 338%{_mandir}/man1/harep.1*
554d0f8c
JR
339%{_mandir}/man1/hbal.1*
340%{_mandir}/man1/hcheck.1*
341%{_mandir}/man1/hinfo.1*
b327c64e 342%{_mandir}/man1/hroller.1*
554d0f8c
JR
343%{_mandir}/man1/hscan.1*
344%{_mandir}/man1/hspace.1*
345%{_mandir}/man1/htools.1*
bc935a7a
JR
346
347%files -n bash-completion-ganeti
348%defattr(644,root,root,755)
349/etc/bash_completion.d/ganeti
This page took 0.169066 seconds and 4 git commands to generate.