git://git.onelab.eu
/
nodeimage.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
for got $
[nodeimage.git]
/
build.sh
diff --git
a/build.sh
b/build.sh
index
29bdff0
..
d1d9caa
100755
(executable)
--- a/
build.sh
+++ b/
build.sh
@@
-10,6
+10,14
@@
# $Id: buildnode.sh,v 1.12.6.1 2007/08/30 20:09:20 mef Exp $
#
# $Id: buildnode.sh,v 1.12.6.1 2007/08/30 20:09:20 mef Exp $
#
+
+#
+# This will build the Planetlab-Bootstrap.tar.bz2, which comprises
+# the base root image on the node, then create the ${NAME} bootstrap image
+# which is made up of just the additional files needed for a ${NAME} nodegroup
+# node.
+#
+
PATH=/sbin:/bin:/usr/sbin:/usr/bin
# In both a normal CVS environment and a PlanetLab RPM
PATH=/sbin:/bin:/usr/sbin:/usr/bin
# In both a normal CVS environment and a PlanetLab RPM
@@
-54,7
+62,10
@@
pkgsfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs.pkgs)
# -k = exclude kernel* packages
pl_root_mkfedora -k -f $pkgsfile ${vref}
# -k = exclude kernel* packages
pl_root_mkfedora -k -f $pkgsfile ${vref}
-for pkgs in ../build/config.${pldistro}/bootstrapfs-*.pkgs ; do
+# for distros that do not define bootstrapfs variants
+shopt -s nullglob
+pkgs_count=$(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc -l)
+[ $pkgs_count -gt 0 ] && for pkgs in $(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs); do
NAME=$(basename $pkgs .pkgs | sed -e s,bootstrapfs-,,)
echo "--------START BUILDING PlanetLab-Bootstrap-${NAME}: $(date)"
NAME=$(basename $pkgs .pkgs | sed -e s,bootstrapfs-,,)
echo "--------START BUILDING PlanetLab-Bootstrap-${NAME}: $(date)"
@@
-86,7
+97,11
@@
for pkgs in ../build/config.${pldistro}/bootstrapfs-*.pkgs ; do
for service in util-vserver vprocunhide vservers-default; do
chroot ${vdir} /sbin/chkconfig $service off
done
for service in util-vserver vprocunhide vservers-default; do
chroot ${vdir} /sbin/chkconfig $service off
done
-
+
+ # Disable splaying of cron.
+ # At this step, vdir is base, and vref is the set of changes that end up in the nodegroup
+ echo > ${vdir}/etc/sysconfig/crontab
+
# Add site_admin account
chroot ${vdir} /usr/sbin/useradd -p "" -u 502 -m site_admin
# Add site_admin account
chroot ${vdir} /usr/sbin/useradd -p "" -u 502 -m site_admin
@@
-117,7
+132,7
@@
for pkgs in ../build/config.${pldistro}/bootstrapfs-*.pkgs ; do
rm -rf ${vdir}
rm -f ${vdir}.changes
mv ${vdir}-tmp ${vdir}
rm -rf ${vdir}
rm -f ${vdir}.changes
mv ${vdir}-tmp ${vdir}
-
+
echo "--------STARTING tar'ing PlanetLab-Bootstrap-${NAME}.tar.bz2: $(date)"
tar -cpjf ${pldistro}-filesystems/PlanetLab-Bootstrap-${NAME}.tar.bz2 -C ${vdir} .
echo "--------FINISHED tar'ing PlanetLab-Bootstrap-${NAME}.tar.bz2: $(date)"
echo "--------STARTING tar'ing PlanetLab-Bootstrap-${NAME}.tar.bz2: $(date)"
tar -cpjf ${pldistro}-filesystems/PlanetLab-Bootstrap-${NAME}.tar.bz2 -C ${vdir} .
echo "--------FINISHED tar'ing PlanetLab-Bootstrap-${NAME}.tar.bz2: $(date)"