summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorMichael Brown2009-08-02 12:17:02 +0200
committerMichael Brown2009-08-02 12:17:02 +0200
commitf42b2932f8cd55583a9e024ad4cf7484f17fb7fa (patch)
tree9cc43cb79abbbdf70b8bd6ab7f7b2599997e1a54 /src/util
parent[build] Make .liso image generation silent unless errors occur (diff)
downloadipxe-f42b2932f8cd55583a9e024ad4cf7484f17fb7fa.tar.gz
ipxe-f42b2932f8cd55583a9e024ad4cf7484f17fb7fa.tar.xz
ipxe-f42b2932f8cd55583a9e024ad4cf7484f17fb7fa.zip
[build] Allow safe concurrent builds of .iso, .liso and .sdsk targets
The geniso, genliso and gensdsk scripts contain hard-coded temporary directory names, and so could potentially collide with each other when run as part of a concurrent build (e.g. "make -j 4"). Fix by using mktemp to generate suitable temporary directory names.
Diffstat (limited to 'src/util')
-rwxr-xr-xsrc/util/geniso3
-rwxr-xr-xsrc/util/genliso5
-rw-r--r--src/util/gensdsk5
3 files changed, 5 insertions, 8 deletions
diff --git a/src/util/geniso b/src/util/geniso
index d7ddbd2b..57e47471 100755
--- a/src/util/geniso
+++ b/src/util/geniso
@@ -22,8 +22,7 @@ then
fi
out=$1
shift
-dir=bin/iso.dir
-mkdir -p $dir
+dir=`mktemp -d bin/iso.dir.XXXXXX`
cfg=$dir/isolinux.cfg
cp -p $isolinux_bin $dir
cat > $cfg <<EOF
diff --git a/src/util/genliso b/src/util/genliso
index ac9924a6..aa517852 100755
--- a/src/util/genliso
+++ b/src/util/genliso
@@ -26,13 +26,12 @@ esac
out=$1
shift
-dir=bin/liso.dir
-mkdir -p $dir
+dir=`mktemp -d bin/liso.dir.XXXXXX`
img=$dir/boot.img
mformat -f 1440 -C -i $img ::
-cfg=bin/syslinux.cfg
+cfg=$dir/syslinux.cfg
cat > $cfg <<EOF
# These default options can be changed in the genliso script
SAY gPXE ISO boot image generated by genliso
diff --git a/src/util/gensdsk b/src/util/gensdsk
index 68c339c2..787dfa25 100644
--- a/src/util/gensdsk
+++ b/src/util/gensdsk
@@ -24,11 +24,10 @@ Mtools\ version\ 3.9.9*|Mtools\ version\ 3.9.1[0-9]*|Mtools\ version\ 4.*)
esac
img=$1
shift
-dir=bin/sdsk.dir
-mkdir -p $dir
+dir=`mktemp -d bin/sdsk.dir.XXXXXX`
mformat -f 1440 -C -i $img ::
-cfg=bin/syslinux.cfg
+cfg=$dir/syslinux.cfg
cat > $cfg <<EOF
# These default options can be changed in the gensdsk script