-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbootcd.spec
285 lines (213 loc) · 10.7 KB
/
bootcd.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
#
%define nodefamily %{pldistro}-%{distroname}-%{_arch}
%define name bootcd-%{nodefamily}
%define version 5.3
%define taglevel 1
# pldistro already in the rpm name
%define release %{taglevel}%{?date:.%{date}}
# structure - this results in 2 packages
# bootcd-initscripts - has the plc.d/ scripts
# bootcd-<nodefamily> - has the actual stuff for a given nodefamily
Vendor: PlanetLab
Packager: PlanetLab Central <[email protected]>
Distribution: PlanetLab %{plrelease}
URL: %{SCMURL}
Summary: Boot CD material for %{nodefamily}
Name: %{name}
Version: %{version}
Release: %{release}
License: BSD
Group: System Environment/Base
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
# other archs must be able to install this
BuildArch: noarch
Requires: dosfstools, mkisofs, gzip, mtools, syslinux
# yumdownloader is needed in bootcd-kernel
Requires: yum-utils
# mkdiskimage is used for USB-partitioned mode
# but it now comes in a separate rpm
%if "%{distro}" == "Fedora" && %{distrorelease} >= 14
Requires: syslinux-perl
%endif
Requires: pyplnet
# 5.0 now has 3-fold nodefamily
%define obsolete_nodefamily %{pldistro}-%{_arch}
Obsoletes: bootcd-%{obsolete_nodefamily}
AutoReqProv: no
%define debug_package %{nil}
%description
The Boot CD securely boots PlanetLab nodes into an immutable
environment. This package is designed to be installed on a MyPLC
installation and provide the basics for the PLC to able to compute
BootCDs for its attached nodes.
See http://svn.planet-lab.org/wiki/NodeFamily
%package -n bootcd-initscripts
Summary: initscripts for the MyPLC installation
Group: System Environment/Base
%description -n bootcd-initscripts
This package contains the init scripts that get fired when the PLC is
restarted.
### avoid having yum complain about updates, as stuff is moving around
# plc.d/bootcd*
Conflicts: MyPLC <= 4.3
%prep
%setup -q
%build
[ -d bootcd ] || ln -s BootCD bootcd
pushd bootcd
# Build the reference image - pass 3-fold version number to go in version.txt
./prep.sh %{pldistro} %{nodefamily} %{version}
popd
%install
rm -rf $RPM_BUILD_ROOT
pushd bootcd
# Install the reference image and build scripts
install -d -m 755 $RPM_BUILD_ROOT/%{_datadir}/%{name}
install -m 755 build.sh $RPM_BUILD_ROOT/%{_datadir}/%{name}/
install -m 755 kvariant.sh $RPM_BUILD_ROOT/%{_datadir}/%{name}/
tar cpf - \
build/isofs/bootcd.img \
build/isofs/kernel \
build/passwd \
build/version.txt \
build/nodefamily \
configurations | \
tar -C $RPM_BUILD_ROOT/%{_datadir}/%{name}/ -xpf -
for script in bootcd bootcd-kernel; do
install -D -m 755 plc.d/$script $RPM_BUILD_ROOT/etc/plc.d/$script
done
popd
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%{_datadir}/%{name}
%files -n bootcd-initscripts
%defattr(-,root,root,-)
/etc/plc.d
%changelog
* Fri Jun 26 2015 Thierry Parmentelat <[email protected]> - bootcd-5.3-1
- use TLSv1 instead of SSLv3
- on systemd distros, do not try to replace the whole boot sequence
- as older bootCDs did; pl_boot is now just one more service, not the single
- service to run; this solves f21 bootCDs not starting up properly
* Fri Apr 24 2015 Thierry Parmentelat <[email protected]> - bootcd-5.2-6
- remove default kargs systemd.log_target=console console=ttyS0,115200
- simpler bootcd layout (no memdisk nor isolinux-debug.bin)
- keep track of actual kargs in log file for build.sh
* Fri Apr 03 2015 Thierry Parmentelat <[email protected]> - bootcd-5.2-5
- changes for fedora 21 and its new release of syslinux
* Fri Mar 21 2014 Thierry Parmentelat <[email protected]> - bootcd-5.2-4
- no change, only some internal comments were changed
* Wed Jun 26 2013 Thierry Parmentelat <[email protected]> - bootcd-5.2-3
- attempt to make node take off more reliable with pl_wrapper
* Wed Apr 24 2013 Thierry Parmentelat <[email protected]> - bootcd-5.2-2
- fix version number as it shows up in version.txt (was empty)
* Thu Mar 07 2013 Thierry Parmentelat <[email protected]> - bootcd-5.2-1
- turn off systemd traces at boot-time
* Tue Feb 26 2013 Thierry Parmentelat <[email protected]> - bootcd-5.1-5
- fix console on tty2: this broke the build on fedora14
- even though f14 doesn't use systemd by defaults there is /etc/systemd in there
* Fri Feb 22 2013 Thierry Parmentelat <[email protected]> - bootcd-5.1-4
- turn on getty/console on tty2
* Thu Feb 21 2013 Thierry Parmentelat <[email protected]> - bootcd-5.1-3
- reviewed for systemd & f18
* Mon May 07 2012 Thierry Parmentelat <[email protected]> - bootcd-5.1-2
- turn off selinux, turns out needed with some combinations like lxc/f14
* Wed Apr 11 2012 Thierry Parmentelat <[email protected]> - bootcd-5.1-1
- compatible with pre- and post- f16
- add systemd friendlyness to bootcd
- also add biosdevname=0 tp kernel args so ethernet devices are still named in eth<x>
* Mon Nov 07 2011 Thierry Parmentelat <[email protected]> - bootcd-5.0-11
- add requires: to syslinux-perl on fedora14
* Mon Mar 21 2011 Thierry Parmentelat <[email protected]> - bootcd-5.0-10
- blacklisted mdules
- requires yum-utils for yumdownloader in bootcd-kernel
* Mon Feb 21 2011 S.Çağlar Onur <[email protected]> - bootcd-5.0-9
- Handle /dev/rtc name change for newer kernels
* Tue Jan 25 2011 S.Çağlar Onur <[email protected]> - bootcd-5.0-8
- Revert hacky solution for 2.6.32 based kernels as they are no longer required
* Sun Jan 23 2011 Thierry Parmentelat <[email protected]> - bootcd-5.0-7
- changes for booting off fedora14
- displays some sanity checks in case bm can's get downloaded
- virtio devices in /dev/vd* also considered
- start service rsyslog if found
- hack for kernel-firmware with 2.6.32
- use $() instead of ``
* Wed Dec 01 2010 Thierry Parmentelat <[email protected]> - bootcd-5.0-6
- use /usr/lib/syslinux/mkdiskimage or installed mkdiskimage
* Wed Sep 01 2010 Thierry Parmentelat <[email protected]> - bootcd-5.0-5
- remove remainging reference to planet-lab.org
* Mon Jul 05 2010 Baris Metin <[email protected]> - BootCD-5.0-4
- module name changes
* Wed Jun 23 2010 Thierry Parmentelat <[email protected]> - BootCD-5.0-3
- nicer initscript now uses 'action' from /etc/init.d/functions
* Tue Apr 20 2010 Talip Baris Metin <[email protected]> - BootCD-5.0-2
- obsolete old bootcd versions
* Fri Jan 29 2010 Thierry Parmentelat <[email protected]> - BootCD-5.0-1
- First working version of 5.0:
- pld.c/, db-config.d/ and nodeconfig/ scripts should now sit in the module they belong to
- nodefamily is 3-fold with pldistro-fcdistro-arch
- new module bootcd-inistscripts
* Sat Jan 09 2010 Thierry Parmentelat <[email protected]> - BootCD-4.2-17
- support for fedora 12
* Sun Dec 27 2009 Thierry Parmentelat <[email protected]> - BootCD-4.2-16
- fix build on fedora12
* Fri Sep 04 2009 Stephen Soltesz <[email protected]> - BootCD-4.2-15
- record the ntp time to the hwclock. this is a bootcd operation, but it is
- repeated in the bootmanager to handle all CDs without this operation
* Mon Jun 29 2009 Marc Fiuczynski <[email protected]> - BootCD-4.2-14
- Daniel''s update to generalize the kvariant support.
* Wed Apr 08 2009 Thierry Parmentelat <[email protected]> - BootCD-4.2-13
- robust to node config file specified with a relative path
* Tue Apr 07 2009 Thierry Parmentelat <[email protected]> - BootCD-4.2-12
- fix specfile - 4.2-11 would not build
* Tue Apr 07 2009 Thierry Parmentelat <[email protected]> - BootCD-4.2-11
- Added support for handling kernel variants
- http://svn.planet-lab.org/wiki/BootcdVariant
* Tue Mar 24 2009 Thierry Parmentelat <[email protected]> - BootCD-4.2-10
- mkfs.vfat output removed prior to invokation - fix needed on fedora 10
* Tue Dec 30 2008 Marc Fiuczynski <[email protected]> - BootCD-4.2-9
- Added kupdate.sh
* Sat Dec 13 2008 Daniel Hokka Zakrisson <[email protected]> - BootCD-4.2-8
- Use pyplnet.
- Add a site_admin account to the BootCD.
- Add some explanations for common errors.
* Tue Dec 02 2008 Daniel Hokka Zakrisson <[email protected]> - BootCD-4.2-7
- Allow multiple -k options to the build.sh script.
- Probe devices in PCI bus order.
* Fri Nov 14 2008 Thierry Parmentelat <[email protected]> - BootCD-4.2-6
- add support for fedora9 images - compliant with upstart
- formerly monolythic dir 'conf_files/' split into 'etc/' and 'initscripts/'
* Tue Sep 23 2008 Thierry Parmentelat <[email protected]> - BootCD-4.2-5
- cosmetic - pl_boot to display timestamps
* Mon Aug 04 2008 Stephen Soltesz <[email protected]> - BootCD-4.2-4
- adds -k as an argument to build.sh to pass additional kernel parameters to the
- bootcd and kexec kernel.
* Mon May 05 2008 Thierry Parmentelat <[email protected]> - BootCD-4.2-3
- rpm release tag does not need pldistro as it is already part of the rpm name
* Thu Apr 24 2008 Thierry Parmentelat <[email protected]> - BootCD-4.2-2
- change location of nodefamily in /etc/planetlab/
* Wed Apr 23 2008 Thierry Parmentelat <[email protected]> - BootCD-4.2-1
- new name for the rpm, to allow simultaneous rpm-installs for several nodefamily (pldistro+arch)
- now installs in /usr/share/bootcd-<nodefamily> with a legacy symlink (requires MyPLC-4.2-7)
- nodefamily exported under bootcd.img in /etc/nodefamily (for bm) and under build/nodefamily (for build.sh)
* Wed Mar 26 2008 Thierry Parmentelat <[email protected]> - BootCD-3.4-4 BootCD-3.4-5
- kargs.txt for serial boot fixed: now properly exposed to bootmanager through the overlay image
- build.sh cleaned up in the process
- actual location of selected node config file displayed
- import pypci rather than pypciscan
* Thu Feb 14 2008 Thierry Parmentelat <[email protected]> - bootcd-3.4-3 bootcd-3.4-4
- build.sh support for -s <console_spec> (recommended vs using type)
- build.sh cleanup - usage clearer wrt types - removed old code
- fixed modprobe with args in pl_hwinit
* Thu Jan 31 2008 Thierry Parmentelat <[email protected]> - bootcd-3.4-2 bootcd-3.4-3
- load floppy with modprobe flags
- support for creating a usb partition
- removed obsolete files newbuild.sh, bootcustom.sh and cdcustom.sh
* Mon Jan 29 2006 Marc E. Fiuczynski <[email protected]> -
- added biginitrd usb image
* Fri Sep 2 2005 Mark Huang <[email protected]> -
- Initial build.
%define module_current_branch 4.2