]> git.pld-linux.org Git - packages/cobbler.git/blob - cobbler.spec
automatic change: use py_build/py_install macros
[packages/cobbler.git] / cobbler.spec
1 # TODO
2 # - avoid using defattr() and giving too much dirs/files to http
3 # - webapps
4 # - FHS in web paths
5 # - bash-completions
6 # - logrotate
7 %define subver  beta5
8 %define rel             0.10
9 Summary:        Boot server configurator
10 Summary(pl.UTF-8):      Konfiguracja serwera startującego
11 Name:           cobbler
12 Version:        2.4.0
13 Release:        0.%{subver}.%{rel}
14 License:        GPL v2+
15 Group:          Applications/System
16 Source0:        https://github.com/cobbler/cobbler/archive/%{name}-%{version}-%{subver}.tar.gz
17 # Source0-md5:  f0b63f64d679e3ee547de2d97b74e681
18 Source1:        %{name}-apache.conf
19 URL:            http://www.cobblerd.org/
20 BuildRequires:  python-PyYAML
21 BuildRequires:  python-cheetah
22 BuildRequires:  python-devel
23 BuildRequires:  python-setuptools
24 Requires:       apache-mod_wsgi
25 Requires:       createrepo
26 #Requires:      genisoimage
27 Requires:       python-PyYAML
28 Requires:       python-augeas
29 Requires:       python-cheetah
30 Requires:       python-netaddr
31 Requires:       python-simplejson
32 Requires:       python-urlgrabber
33 Requires:       rsync
34 Requires:       tftpdaemon
35 Requires:       yum-utils
36 Requires(post,preun):   /sbin/chkconfig
37 BuildArch:      noarch
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %define         _webapps        /etc/webapps
41 %define         _webapp         %{name}
42 %define         _appdir         /var/www/cobbler
43 %define         _cgibindir      /var/www/cgi-bin
44
45 #define         _appdir         %{_datadir}/%{name}
46 #define     _cgibindir  %{_prefix}/lib/cgi-bin/%{name}
47
48 %description
49 Cobbler is a network boot and update server. Cobbler supports PXE,
50 provisioning virtualized images, and reinstalling existing Linux
51 machines. The last two modes require a helper tool called 'koan' that
52 integrates with Cobbler. Cobbler's advanced features include importing
53 distributions from DVDs and rsync mirrors, kickstart templating,
54 integrated yum mirroring, and built-in DHCP Management. Cobbler has a
55 Python API for integration with other GPL systems management
56 applications.
57
58 %description -l pl.UTF-8
59 Cobbler to sieciowy serwer do uruchamiania i uaktualniania komputerów.
60 Obsługuje PXE, udostępnianie wirtualizowanych obrazów i reinstalowanie
61 istniejących maszyn linuksowych. Dwa ostatnie tryby wymagają pakietu
62 pomocniczego o nazwie "koan", integrującego się z Cobblerem.
63 Zaawansowane możliwości Cobblera obejmują importowanie dystrybucji z
64 płyt DVD i mirrorów rsynca, szablony uruchamiania, zintegrowane
65 mirrorowanie repozytoriów yuma oraz wbudowane zarządzanie DHCP.
66 Cobbler ma API w Pythonie do integracji z innymi aplikacjami
67 zarządzającymi na licencji GPL.
68
69 %package web
70 Summary:        Web interface for Cobbler
71 Group:          Applications/System
72 Requires:       %{name} = %{version}-%{release}
73 Requires:       apache-mod_ssl
74 Requires:       apache-mod_wsgi
75 Requires:       python-django >= 1.1.2
76
77 %description web
78 Web interface for Cobbler that allows visiting
79 <http://server/cobbler_web> to configure the install server.
80
81 %package -n koan
82 Summary:        Helper tool that performs cobbler orders on remote machines
83 Group:          Applications/System
84 Requires:       python-simplejson
85 Requires:       python-virtinst
86
87 %description -n koan
88 Koan stands for kickstart-over-a-network and allows for both network
89 installation of new virtualized guests and reinstallation of an
90 existing system. For use with a boot-server configured with Cobbler
91
92 %prep
93 %setup -q -n %{name}-%{name}-%{version}-%{subver}
94
95 mv config/cobbler{,_web}.conf .
96 mv config/{cobblerd,cobblerd_rotate,cobblerd.service,cobbler_bash} .
97
98 %build
99 %py_build
100
101 %install
102 rm -rf $RPM_BUILD_ROOT
103 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
104 %py_install
105
106 %py_postclean
107
108 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
109 #cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
110 #cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
111 cp -p cobbler.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
112 cat cobbler_web.conf >> $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
113 cp -p $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/{apache,httpd}.conf
114
115 install -d $RPM_BUILD_ROOT/var/lib/tftpboot/images
116 install -d $RPM_BUILD_ROOT/var/spool/koan
117 install -p cobblerd $RPM_BUILD_ROOT/etc/rc.d/init.d/cobblerd
118
119 %clean
120 rm -rf $RPM_BUILD_ROOT
121
122 %post
123 /sbin/chkconfig --add cobblerd
124 # reserialize and restart
125 # FIXIT: ?????
126 #%{_bindir}/cobbler reserialize
127 %service cobblerd restart
128
129 %preun
130 if [ $1 = 0 ]; then
131         /sbin/chkconfig --del cobblerd
132         %service cobblerd stop
133 fi
134
135 %if 0
136 %triggerin -- apache1 < 1.3.37-3, apache1-base
137 %webapp_register apache %{_webapp}
138
139 %triggerun -- apache1 < 1.3.37-3, apache1-base
140 %webapp_unregister apache %{_webapp}
141
142 %triggerin -- apache < 2.2.0, apache-base
143 %webapp_register httpd %{_webapp}
144
145 %triggerun -- apache < 2.2.0, apache-base
146 %webapp_unregister httpd %{_webapp}
147 %endif
148
149 %post web
150 # FIXME: this changes on each upgrade -glen
151 # Change the SECRET_KEY option in the Django settings.py file
152 # required for security reasons, should be unique on all systems
153 RAND_SECRET=$(openssl rand -base64 40 | sed 's/\//\\\//g')
154 sed -i -e "s/SECRET_KEY = ''/SECRET_KEY = \'$RAND_SECRET\'/" /usr/share/cobbler/web/settings.py
155
156 %files
157 %defattr(644,root,root,755)
158 %doc AUTHORS CHANGELOG README
159 %attr(755,root,root) %{_bindir}/cobbler
160 %attr(755,root,root) %{_bindir}/cobbler-ext-nodes
161 %attr(755,root,root) %{_bindir}/cobblerd
162 %attr(755,root,root) %{_sbindir}/tftpd.py*
163 %{_mandir}/man1/cobbler.1*
164 %attr(754,root,root) /etc/rc.d/init.d/cobblerd
165
166 %dir %{_sysconfdir}/%{name}
167 %dir %{_sysconfdir}/%{name}/iso
168 %dir %{_sysconfdir}/%{name}/ldap
169 %dir %{_sysconfdir}/%{name}/power
170 %dir %{_sysconfdir}/%{name}/pxe
171 %dir %{_sysconfdir}/%{name}/reporting
172 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.conf
173 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.template
174 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*/*.template
175 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cheetah_macros
176 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/completions
177 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/distro_signatures.json
178 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/import_rsync_whitelist
179 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/rsync.exclude
180 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/settings
181 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/users.digest
182 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/version
183
184 %{py_sitescriptdir}/%{name}
185 %{py_sitescriptdir}/%{name}*.egg-info
186
187 %{_datadir}/augeas/lenses/cobblersettings.aug
188
189 %config(noreplace) /var/lib/cobbler
190 %exclude /var/lib/cobbler/webui_sessions
191
192 %{_appdir}
193 /var/log/cobbler
194 /var/lib/tftpboot/images
195
196 # XXX
197 %dir /var/www
198 %dir /var/lib/tftpboot
199
200 %files web
201 %defattr(644,root,root,755)
202 %doc AUTHORS CHANGELOG README
203 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
204 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
205 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
206
207 %dir %{_datadir}/cobbler
208 %{_datadir}/cobbler/web
209 %dir %attr(700,http,root) /var/lib/cobbler/webui_sessions
210 /var/www/cobbler_webui_content
211
212 %files -n koan
213 %defattr(644,root,root,755)
214 %doc AUTHORS CHANGELOG README
215 %attr(755,root,root) %{_bindir}/koan
216 %attr(755,root,root) %{_bindir}/ovz-install
217 %attr(755,root,root) %{_bindir}/cobbler-register
218 %{_mandir}/man1/koan.1*
219 %{_mandir}/man1/cobbler-register.1*
220 %{py_sitescriptdir}/koan
221
222 %dir /var/spool/koan
223 %dir /var/lib/koan
224 %dir /var/lib/koan/config
225 %dir /var/log/koan
This page took 0.088987 seconds and 3 git commands to generate.