]> git.pld-linux.org Git - packages/cobbler.git/blame_incremental - cobbler.spec
automatic change: use py_build/py_install macros
[packages/cobbler.git] / cobbler.spec
... / ...
CommitLineData
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
9Summary: Boot server configurator
10Summary(pl.UTF-8): Konfiguracja serwera startującego
11Name: cobbler
12Version: 2.4.0
13Release: 0.%{subver}.%{rel}
14License: GPL v2+
15Group: Applications/System
16Source0: https://github.com/cobbler/cobbler/archive/%{name}-%{version}-%{subver}.tar.gz
17# Source0-md5: f0b63f64d679e3ee547de2d97b74e681
18Source1: %{name}-apache.conf
19URL: http://www.cobblerd.org/
20BuildRequires: python-PyYAML
21BuildRequires: python-cheetah
22BuildRequires: python-devel
23BuildRequires: python-setuptools
24Requires: apache-mod_wsgi
25Requires: createrepo
26#Requires: genisoimage
27Requires: python-PyYAML
28Requires: python-augeas
29Requires: python-cheetah
30Requires: python-netaddr
31Requires: python-simplejson
32Requires: python-urlgrabber
33Requires: rsync
34Requires: tftpdaemon
35Requires: yum-utils
36Requires(post,preun): /sbin/chkconfig
37BuildArch: noarch
38BuildRoot: %{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
49Cobbler is a network boot and update server. Cobbler supports PXE,
50provisioning virtualized images, and reinstalling existing Linux
51machines. The last two modes require a helper tool called 'koan' that
52integrates with Cobbler. Cobbler's advanced features include importing
53distributions from DVDs and rsync mirrors, kickstart templating,
54integrated yum mirroring, and built-in DHCP Management. Cobbler has a
55Python API for integration with other GPL systems management
56applications.
57
58%description -l pl.UTF-8
59Cobbler to sieciowy serwer do uruchamiania i uaktualniania komputerów.
60Obsługuje PXE, udostępnianie wirtualizowanych obrazów i reinstalowanie
61istniejących maszyn linuksowych. Dwa ostatnie tryby wymagają pakietu
62pomocniczego o nazwie "koan", integrującego się z Cobblerem.
63Zaawansowane możliwości Cobblera obejmują importowanie dystrybucji z
64płyt DVD i mirrorów rsynca, szablony uruchamiania, zintegrowane
65mirrorowanie repozytoriów yuma oraz wbudowane zarządzanie DHCP.
66Cobbler ma API w Pythonie do integracji z innymi aplikacjami
67zarządzającymi na licencji GPL.
68
69%package web
70Summary: Web interface for Cobbler
71Group: Applications/System
72Requires: %{name} = %{version}-%{release}
73Requires: apache-mod_ssl
74Requires: apache-mod_wsgi
75Requires: python-django >= 1.1.2
76
77%description web
78Web interface for Cobbler that allows visiting
79<http://server/cobbler_web> to configure the install server.
80
81%package -n koan
82Summary: Helper tool that performs cobbler orders on remote machines
83Group: Applications/System
84Requires: python-simplejson
85Requires: python-virtinst
86
87%description -n koan
88Koan stands for kickstart-over-a-network and allows for both network
89installation of new virtualized guests and reinstallation of an
90existing system. For use with a boot-server configured with Cobbler
91
92%prep
93%setup -q -n %{name}-%{name}-%{version}-%{subver}
94
95mv config/cobbler{,_web}.conf .
96mv config/{cobblerd,cobblerd_rotate,cobblerd.service,cobbler_bash} .
97
98%build
99%py_build
100
101%install
102rm -rf $RPM_BUILD_ROOT
103install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
104%py_install
105
106%py_postclean
107
108install -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
111cp -p cobbler.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
112cat cobbler_web.conf >> $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
113cp -p $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/{apache,httpd}.conf
114
115install -d $RPM_BUILD_ROOT/var/lib/tftpboot/images
116install -d $RPM_BUILD_ROOT/var/spool/koan
117install -p cobblerd $RPM_BUILD_ROOT/etc/rc.d/init.d/cobblerd
118
119%clean
120rm -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
130if [ $1 = 0 ]; then
131 /sbin/chkconfig --del cobblerd
132 %service cobblerd stop
133fi
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
153RAND_SECRET=$(openssl rand -base64 40 | sed 's/\//\\\//g')
154sed -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.079362 seconds and 4 git commands to generate.