Browse Source

[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.
tags/v0.9.8
Michael Brown 15 years ago
parent
commit
f42b2932f8
3 changed files with 5 additions and 8 deletions
  1. 1
    2
      src/util/geniso
  2. 2
    3
      src/util/genliso
  3. 2
    3
      src/util/gensdsk

+ 1
- 2
src/util/geniso View File

22
 fi
22
 fi
23
 out=$1
23
 out=$1
24
 shift
24
 shift
25
-dir=bin/iso.dir
26
-mkdir -p $dir
25
+dir=`mktemp -d bin/iso.dir.XXXXXX`
27
 cfg=$dir/isolinux.cfg
26
 cfg=$dir/isolinux.cfg
28
 cp -p $isolinux_bin $dir
27
 cp -p $isolinux_bin $dir
29
 cat > $cfg <<EOF
28
 cat > $cfg <<EOF

+ 2
- 3
src/util/genliso View File

26
 out=$1
26
 out=$1
27
 shift
27
 shift
28
 
28
 
29
-dir=bin/liso.dir
30
-mkdir -p $dir
29
+dir=`mktemp -d bin/liso.dir.XXXXXX`
31
 
30
 
32
 img=$dir/boot.img
31
 img=$dir/boot.img
33
 mformat -f 1440 -C -i $img ::
32
 mformat -f 1440 -C -i $img ::
34
 
33
 
35
-cfg=bin/syslinux.cfg
34
+cfg=$dir/syslinux.cfg
36
 cat > $cfg <<EOF
35
 cat > $cfg <<EOF
37
 # These default options can be changed in the genliso script
36
 # These default options can be changed in the genliso script
38
 SAY gPXE ISO boot image generated by genliso
37
 SAY gPXE ISO boot image generated by genliso

+ 2
- 3
src/util/gensdsk View File

24
 esac
24
 esac
25
 img=$1
25
 img=$1
26
 shift
26
 shift
27
-dir=bin/sdsk.dir
28
-mkdir -p $dir
27
+dir=`mktemp -d bin/sdsk.dir.XXXXXX`
29
 
28
 
30
 mformat -f 1440 -C -i $img ::
29
 mformat -f 1440 -C -i $img ::
31
-cfg=bin/syslinux.cfg
30
+cfg=$dir/syslinux.cfg
32
 cat > $cfg <<EOF
31
 cat > $cfg <<EOF
33
 
32
 
34
 # These default options can be changed in the gensdsk script
33
 # These default options can be changed in the gensdsk script

Loading…
Cancel
Save