build nodemanager doc only if present
[myplc.git] / myplc-docs.spec
1 %define name myplc-docs
2 %define version 7.1
3 %define taglevel 0
4
5 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
6
7 Summary: PlanetLab Central (PLC) online documentation
8 Name: %{name}
9 Version: %{version}
10 Release: %{release}
11 License: PlanetLab
12 Group: Applications/Systems
13 Source0: %{name}-%{version}.tar.gz
14 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
15 BuildArch: noarch
16
17 Vendor: PlanetLab
18 Packager: PlanetLab Central <support@planet-lab.org>
19 Distribution: PlanetLab %{plrelease}
20 URL: %{SCMURL}
21
22 BuildRequires: docbook-dtds, docbook-utils-pdf
23
24 %define debug_package %{nil}
25
26 %description
27 This package contains the online documentation for MyPLC, i.e. the
28 reference manuals for the two APIs provided: PLCAPI and NMAPI. A
29 more general introduction to the MyPLC system can be found at
30 http://svn.planet-lab.org/wiki/MyPLCUserGuide
31
32 %prep
33 %setup -q
34
35 %build
36 rm -rf $RPM_BUILD_ROOT
37
38 # using the new lowercase names, and handling legacy
39 [ -d myplc ] || ln -s MyPLC myplc
40 [ -d plcapi ] || ln -s PLCAPI plcapi
41 [ -d nodemanager ] || ln -s NodeManager nodemanager
42 [ -d monitor ] || ln -s Monitor monitor 
43
44 pushd plcapi
45 # june2011 & f12, latex issues weird warnings, might need to try twice
46 make -C doc PLCAPI.pdf || make -C doc PLCAPI.pdf 
47 # beware that making the pdf file somehow overwrites the html
48 rm -f doc/PLCAPI.html
49 make -C doc PLCAPI.html || make -C doc PLCAPI.html 
50 popd
51
52 # nodemanager is now optional
53 if [ -d nodemanager]; then
54 pushd nodemanager
55 # beware that making the pdf file somehow overwrites the html
56 make -C doc NMAPI.pdf || make -C doc NMAPI.pdf
57 rm -f doc/NMAPI.html
58 make -C doc NMAPI.html || make -C doc NMAPI.html 
59 popd
60 fi
61
62 # not everyone rebuilds monitor, so make it optional
63 if [ -d monitor ] ; then
64 pushd monitor
65 # beware that making the pdf file somehow overwrites the html
66 make -C docs Monitor.pdf || make -C docs Monitor.pdf 
67 rm -f docs/Monitor.html
68 make -C docs Monitor.html || make -C docs Monitor.html 
69 popd
70 fi
71
72 %install
73
74 for ext in pdf html; do
75     install -D -m 444 plcapi/doc/PLCAPI.$ext $RPM_BUILD_ROOT/var/www/html/planetlab/doc/PLCAPI.$ext
76     install -D -m 444 nodemanager/doc/NMAPI.$ext $RPM_BUILD_ROOT/var/www/html/planetlab/doc/NMAPI.$ext
77     if [ -d monitor ] ; then
78     install -D -m 444 monitor/docs/Monitor.$ext $RPM_BUILD_ROOT/var/www/html/planetlab/doc/Monitor.$ext
79     fi
80 done
81
82 ./myplc/docbook2drupal.sh "PLC API Documentation (%{pldistro})" \
83     $RPM_BUILD_ROOT/var/www/html/planetlab/doc/PLCAPI.html \
84     $RPM_BUILD_ROOT/var/www/html/planetlab/doc/PLCAPI.php 
85 ./myplc/docbook2drupal.sh "Node Manager API Documentation (%{pldistro})" \
86     $RPM_BUILD_ROOT/var/www/html/planetlab/doc/NMAPI.html \
87     $RPM_BUILD_ROOT/var/www/html/planetlab/doc/NMAPI.php 
88 if [ -d monitor ] ; then
89 ./myplc/docbook2drupal.sh "Monitor API Documentation (%{pldistro})" \
90     $RPM_BUILD_ROOT/var/www/html/planetlab/doc/Monitor.html \
91     $RPM_BUILD_ROOT/var/www/html/planetlab/doc/Monitor.php 
92 fi
93
94 %clean
95 rm -rf $RPM_BUILD_ROOT
96
97 %files
98 %defattr(-,root,root,-)
99 /var/www/html/planetlab/doc/
100
101 %changelog
102 * Sat Apr 30 2022 Thierry Parmentelat <thierry.parmentelat@inria.fr> - myplc-7.1-0
103 - ready on f35
104
105 * Mon Jan 07 2019 Thierry Parmentelat <thierry.parmentelat@inria.fr> - myplc-7.0-0
106 - suitable for python3 on both f27 and f29
107
108 * Sun Jul 16 2017 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.3-4
109 - takes care of creating plcapi log file
110
111 * Wed Feb 18 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.3-3
112 - tweaked renew_reminder for federation
113
114 * Fri Mar 21 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.3-2
115 - tweaks in check-hrns.py
116 - do not require PyXML any more
117
118 * Tue Dec 10 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.3-1
119 - review check-hrns for plcapi-5.3
120 - add PLC_HRN_ROOT in usual plc-config-tty's settings
121
122 * Thu Oct 10 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.2-5
123 - reduce the scope of check-hrns.py script, now that the SFA layer handles this natively
124 - add an rpm-sign dependency on feedora>=16
125
126 * Fri Jun 28 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.2-4
127 - drop PLC_OMF_XMPP_{USER,PASSWORD} from config
128
129 * Tue Apr 23 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.2-3
130 - plc.d/gpg now does not rm /dev/random but preserves it
131 - this is because libvirt won't let us run mknod
132
133 * Wed Apr 10 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.2-2
134 - fix typo in check-hrns - used to print 'host' while dealing with persons
135
136 * Thu Mar 07 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.2-1
137 - supports httpd config for either mod_python (preferred) or mod_wsgi
138 - requires mod_wsgi on f18 only, otherwise mod_python
139 - supports httpd config for apache 2.4 (f18)
140 - new config variable PLC_FLAVOUR_VIRT_MAP to set 'virt' from fcdistro
141
142 * Wed Dec 19 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.1-6
143 - bugfix in check-vsys-defaults.py
144
145 * Wed Dec 19 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.1-5
146 - define open_basedir in php.ini to stop confidentiality leak
147 - new utility slice_ssh_keys.py for showing sliver keys (OMF interop)
148 - new config setting PLC_VSYS_DEFAULTS for vsys tags granted to all
149 - new utilities check-hrns.py and check-vsys-defaults.py
150
151 * Fri Aug 31 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.1-4
152 - set TimeoutSec to 300 in plc.service
153 - remove ref to deprecated svn $URL$ in db-config usage
154
155 * Mon Jul 09 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.1-3
156 - expose mtail.py as simply mtail
157
158 * Mon May 07 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.1-2
159 - plc-kml.py now has support for nodegroups
160
161 * Mon Apr 16 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.1-1
162 - use nodeimage package instead of deprecated bootstrapfs
163 - has systemd-friendly startup script
164 - plc_reload moved to functions/ - no more service plc reload
165 - no svn keywords anymore
166
167 * Mon Sep 26 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-19
168 - new maintenance/monitoring script spot-aliens to look for glitches in refreshpeer+sfa
169
170 * Tue Jun 07 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-18
171 - new settings for myslice (comon&tophat) and monitor (db)
172 - removed mentions of chroot in description
173 - can redo myplc-docs on broken f12-latex
174 - set short_open_tag in php.ini
175 - fixes in gen-sites-xml (is that still used ?)
176 - partial-repo.sh has moved to 'build' where it more belongs
177 - tweaks in convenience tool 'mtail'
178
179 * Tue Mar 22 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-17
180 - fixed changelog, no change from 5.0-16
181
182 * Mon Mar 21 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-16
183 - requires ed for the plc.d/packages step
184 - sirius initscript to handle stop and restart
185
186 * Fri Feb 04 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-15
187 - ignore steps in db-config.d if they have a '.' or '~' in their name
188
189 * Wed Jan 26 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-14
190 - can redo myplc-docs without the doc for monitor
191
192 * Mon Jan 24 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-13
193 - no semantic change - just fixed specfile for git URL
194
195 * Wed Dec 01 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-12
196 - needed for plcapi-5.0-19, i.e. tag permissions based on roles
197
198 * Mon Oct 04 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - myplc-5.0-11
199 - add missing files to rpm package
200
201 * Mon Oct 04 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-10
202 - mtail.py -s for SFA
203 - spot-aliesm.py is a utility script for sanity checks of the PLC db when running refreshpeer+sfa
204
205 * Thu Jul 15 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-9
206 - avoid duplication of the plc-config binary in both myplc and myplc-config rpms
207
208 * Mon Jul 12 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.0-8
209 - plc-config-tty now has a validator on booleans
210 - e.g. entering 'True' now is rejected rather than silently recording 'false'
211
212 * Tue Jul 06 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - MyPLC-5.0-7
213 - disable mod_wsgi
214
215 * Mon Jul 05 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - MyPLC-5.0-6
216 - module name changes
217 - start wsgi support
218
219 * Tue Jun 22 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-5.0-5
220 - new setting PLC_RESERVATION_GRANULARITY
221
222 * Wed May 12 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - MyPLC-5.0-4
223 - * partial-repo.sh script
224 - * preserve key along with certificates
225
226 * Fri Apr 02 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-5.0-3
227 - set date.timezone to GMT if not set in php.ini for php-5.3 / fedora12
228
229 * Fri Mar 12 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-5.0-2
230 - legacy scripts gen-sites-xml & gen-static-content back in (sigh)
231 - new OMF category in the config
232 - create the drl system slice
233
234 * Fri Jan 29 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-5.0-1
235 - first working version of 5.0:
236 - pld.c/, db-config.d/ and nodeconfig/ scripts should now sit in the module they belong to
237 - nodefamily is 3-fold with pldistro-fcdistro-arch
238 - new PLC_FLAVOUR config category
239 - reviewed module layout
240 - cleaned up old chroot-related build stuff (does not need the build module when building anymore)
241
242 * Sat Jan 09 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-37
243 - support for fedora 12
244 - new package myplc-config for use by sfa
245 - drupal user registration turned off
246
247 * Thu Dec 31 2009 Marc Fiuczynski <mef@cs.princeton.edu> - MyPLC-4.3-36
248 - - fix to make sure when API, BOOT, MONITOR are on the same
249 - machine as WWW that the SSL key,cert for WWW takes precedence.
250 - - Do proper setup for SSL CA certficate to be used as the server
251 - chain.
252
253 * Wed Dec 23 2009 Marc Fiuczynski <mef@cs.princeton.edu> - MyPLC-4.3-35
254 - - Change sysctl.conf source to be PlanetLabConfsysctl.con rather than the php script.
255
256 * Tue Dec 22 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - MyPLC-4.3-34
257 - depend on pcucontrol
258
259 * Fri Dec 18 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - MyPLC-4.3-33
260 - * validate input according to type in plc_config
261 - * added the _genicw system slice
262 - * add tag types for sites and persons
263 - * add new tags for nodes and slices for exemption from myops
264
265 * Thu Nov 26 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-32
266 - turn off drupal on a box that acts as BOOT server but not as WWW server
267 - cleanup some obsolete code for old chroot-jail packaging in the process
268 - new bootcd-kernel script for keeping bootcd variants up2date
269
270 * Mon Nov 09 2009 Daniel Hokka Zakrisson <daniel@hozac.com> - MyPLC-4.3-31
271 - Make the /etc/hosts manipulation optional.
272
273 * Thu Nov 05 2009 Daniel Hokka Zakrisson <daniel@hozac.com> - MyPLC-4.3-30
274 - Fix SetRole.
275
276 * Tue Nov 03 2009 Marc Fiuczynski <mef@cs.princeton.edu> - MyPLC-4.3-29
277 - - Added "SetRole()" so that db-config.d/ scriplets can insert roles
278 - into the DB.
279 - - Added the root ssh key handling support back into plc.d/ssh and the
280 - default xml file.  This should be identical to the way it was in
281 - rc12.
282 - - Added support in the db-config.d/01-init script to register the root
283 - ssh public key with the default administrator.  In this way the root
284 - ssh key will make it into the root account on the nodes by means of
285 - NodeManager's specialaccounts plugin.
286
287 * Tue Oct 20 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-28
288 - db-config ignores sliver tags
289 - sirius's db-config script renamed (was sirious)
290
291 * Tue Oct 13 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-27
292 - fix for silverauth - missing tag types now created at plc startup time
293
294 * Fri Oct 09 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-26
295 - plc.d/ssl preserves SSL certificates when it thinkfs they're obsolete
296
297 * Wed Oct 07 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-25
298 - companion to NM's specialaccounts plugin
299 - do not generate /etc/planetlab/root_ssh_key* anymore
300 - remove related config. variables and conf_files
301
302 * Sun Sep 20 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - MyPLC-4.3-24
303 - clarified description text to refer only to plcrt and not other optional
304 - packages.
305
306 * Sat Sep 19 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - MyPLC-4.3-23
307 - fixed a bug setting slice multiple attributes with the same tag name
308
309 * Mon Sep 07 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-22
310 - SSL setup for monitor box, and related new config variables
311 - new conf_file for /etc/planetlab/extensions
312 - various tweaks in db-config internals, about initscripts among others
313 - also more messages defined in the db
314
315 * Tue Jul 07 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-21
316 - create node tags, like e.g. 'arch', that were not handled with 4.3-20
317
318 * Tue Jul 07 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-20
319 - bugfix in db-config, tag 4.3-19 would not fly
320
321 * Mon Jul 06 2009 Marc Fiuczynski <mef@cs.princeton.edu> - MyPLC-4.3-19
322 - Refactored db-config into snippets in db-config.d/.
323
324 * Thu Jul 02 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-18
325 - oops, tag 4.3-17 was broken and would not work
326
327 * Wed Jul 01 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-17
328 - bugfix - escape sequences inserted in xml configs
329
330 * Fri Jun 26 2009 Marc Fiuczynski <mef@cs.princeton.edu> - MyPLC-4.3-16
331 - Handle db-config.d files properly.
332
333 * Tue Jun 23 2009 Marc Fiuczynski <mef@cs.princeton.edu> - MyPLC-4.3-15
334 - - Fix /etc/init.d/plc to have command usage show up on the tty rather
335 - than the log file
336 - - Fix db-config to be a bit more cautious when
337 - /etc/planetlab/db-config.d doesn't exist
338 - - Clean up db-config approach to ignore .bak, *~, .rpm{save,new}, and
339 - .orig files.
340 - - Refactor generic plc-config-tty code into plc_config.py.
341 - plc-config-tty now contains MyPLC specific paths, "usual" variables,
342 - and the list of validated variables and the corresponding
343 - validator() function. This refactoring lets one reuse plc_config.py
344 - as a generic cmdline configuration tool for highly customer MyPLC
345 - like software.
346
347 * Mon Jun 15 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - MyPLC-4.3-14
348 - update PCU Type descriptions.
349 - updates to init scripts
350
351 * Wed Jun 03 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-13
352 - requires monitor-pcucontrol so register-wizard can work
353
354 * Tue May 26 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-12
355 - cleaned up plc-config-tty, no more need to configure plc-devel
356
357 * Tue May 19 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-11
358 - first draft of plc-orpha-accounts.py, and rename check-ssl-peering into plc-<>
359
360 * Fri May 15 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-10
361 - tighter right permissions on site_admin's authorized keys for more robustness
362
363 * Wed May 06 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-9
364 - fix issue in db-config that prevented correct operation
365
366 * Wed May 06 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-8
367 - remove support for chroot-based packaging - no crond nor syslog step anymore
368 - plc init script now named plc.init instead of former guest.init
369
370 * Mon May 04 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - MyPLC-4.3-7
371 - add Monitor to docs build
372
373 * Wed Apr 29 2009 Marc Fiuczynski <mef@cs.princeton.edu> - MyPLC-4.3-6
374 - plc_config.py and plc-config-tty: generalized to work for more diverse
375 - MyPLC configurations.
376 - plc.d/httpd: only update httpd_conf with /data for chroot'ed MyPLC
377 - deployments and increase the memory limits in php.ini
378 - plc.d/crond: add --full option to vacuumdb
379
380 * Tue Apr 07 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-5
381 - avoid generating ssl certificates for disabled services among www api boot
382
383 * Mon Mar 30 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-4
384 - cleaned up old entries in db-config
385 - mtail more robust
386
387 * Tue Mar 24 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-3
388 - php include path tweaked for plekit includes
389 - reviewed myplc (fka native) packaging dependencies
390 - renumbered 4.3
391
392 * Thu Jan 29 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-2
393 - rename myplc into myplc-chroot and myplc-native into myplc
394 - new settings (shortname & hrn_root) for local peer
395
396 * Wed Sep 10 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.3-1
397 - First iteration of new data model
398 - Bunch of various fixes
399
400 * Tue May 20 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - MyPLC-4.2-15
401 - Removed proper ops from planetflow slice.
402
403 * Wed May 14 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.2-14
404 - myplc-native requires myplc-docs
405 - fixed doc build by locating locally installed DTDs at build-time
406
407 * Sun May 11 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.2-13
408 - turn myplc-docs off for now
409
410 * Sat May 10 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.2-12
411 - figures in doc package
412
413 * Fri May 09 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - MyPLC-4.2-11
414 - no more doc packaged outside of myplc-docs - doc/ cleaned up 
415 - chroot packaging does not have docs anymore
416 - 'cvs' and 'dev' not required from myplc-native anymore
417 - cosmetic change in kml output
418
419
420 %define module_current_branch 4.3