use build/build.common to use common build operations
[bootmanager.git] / bootmanager.spec
1 %define name bootmanager
2 %define version 3.1.16
3 %define release 1%{?pldistro:.%{pldistro}}%{?date:.%{date}}
4
5 Vendor: PlanetLab
6 Packager: PlanetLab Central <support@planet-lab.org>
7 Distribution: PlanetLab 4.1
8 URL: http://cvs.planet-lab.org/cvs/bootmanager
9
10 Summary: The PlanetLab Boot Manager
11 Name: bootmanager
12 Version: %{version}
13 Release: %{release}
14 License: BSD
15 Group: System Environment/Base
16 Source0: %{name}-%{version}.tar.gz
17 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
18
19 Requires: tar, gnupg, sharutils, bzip2
20
21 AutoReqProv: no
22 %define debug_package %{nil}
23
24 %description
25 The PlanetLab Boot Manager securely authenticates and boots PlanetLab
26 nodes.
27
28 %prep
29 %setup -q
30
31 %build
32 pushd bootmanager
33
34 ./build.sh
35 pushd support-files
36 ./buildnode.sh -r $([ -f "/etc/fedora-release" ] && awk ' { if ($2=="Core") print $4; else print $3 } ' /etc/fedora-release || echo 4)
37 popd
38
39 popd
40
41 %install
42 rm -rf $RPM_BUILD_ROOT
43
44 pushd bootmanager
45
46 # Install source so that it can be rebuilt
47 find build.sh source | cpio -p -d -u $RPM_BUILD_ROOT/%{_datadir}/%{name}/
48
49 install -D -m 755 bootmanager.sh $RPM_BUILD_ROOT/var/www/html/boot/bootmanager.sh
50 for file in \
51     uudecode.gz \
52     PlanetLab-Bootstrap.tar.bz2 ; do
53   install -D -m 644 support-files/$file $RPM_BUILD_ROOT/var/www/html/boot/$file
54 done
55
56 popd
57
58 %clean
59 rm -rf $RPM_BUILD_ROOT
60
61 # If run under sudo
62 if [ -n "$SUDO_USER" ] ; then
63     # Allow user to delete the build directory
64     chown -h -R $SUDO_USER .
65     # Some temporary cdroot files like /var/empty/sshd and
66     # /usr/bin/sudo get created with non-readable permissions.
67     find . -not -perm +0600 -exec chmod u+rw {} \;
68     # Allow user to delete the built RPM(s)
69     chown -h -R $SUDO_USER %{_rpmdir}/%{_arch}
70 fi
71
72 %post
73 cat <<EOF
74 Remember to GPG sign /var/www/html/boot/bootmanager.sh with the
75 PlanetLab private key.
76 EOF
77
78 %files
79 %defattr(-,root,root,-)
80 %{_datadir}/%{name}
81 /var/www/html/boot/*
82
83 %changelog
84 * Fri Sep  2 2005 Mark Huang <mlhuang@cotton.CS.Princeton.EDU> - 
85 - Initial build.
86