mktemp: behaviour is too different between mac and linux, factored out workarounds to a separate .sh

This commit is contained in:
Georges Dupéron 2018-07-20 15:41:09 +02:00
parent f16410b718
commit cea641936a
8 changed files with 55 additions and 19 deletions

View File

@ -6,14 +6,14 @@ if test $# -ne 1 || test "$1" = '-h' -o "$1" = '--help'; then
fi
os_filename="$1"
bochsrc="$(mktemp)"
bochsrc="$(./utils/mktemp.sh)"
cat > "$bochsrc" <<EOF
floppya: 1_44=${os_filename}, status=inserted
boot: floppy
display_library: sdl
EOF
bochscontinue="$(mktemp)"
bochscontinue="$(./utils/mktemp.sh)"
echo "continue" > "$bochscontinue"
bochs -qf "$bochsrc" < "$bochscontinue" &

View File

@ -6,8 +6,8 @@ if test $# -ne 1 || test "$1" = '-h' -o "$1" = '--help'; then
fi
os_filename="$1"
img_file="$(mktemp tmp.XXXXXXXXXX.img)"
vbox_dir="$(mktemp -d tmp.XXXXXXXXXX_vbox)"
img_file="$(./utils/mktemp.sh .img)"
vbox_dir="$(./utils/mktemp.sh -d .vbox)"
vmname="automatic-os-test-$(date +%s)-$$"
ln -sf "$(readlink -f "$os_filename")" "$img_file"

View File

@ -2,7 +2,7 @@
set -e
screenshot="$(mktemp tmp.XXXXXXXXXX.png)"
screenshot="$("$(dirname "$0")/../mktemp.sh" .png)"
scrot "$screenshot"
"$(dirname "$0")/to_ansi.sh" "$screenshot" 128

View File

@ -5,14 +5,14 @@ set -e
file="$1"
width="$2"
mini_png="$(mktemp tmp.XXXXXXXXXX.png)"
colors_gif="$(mktemp tmp.XXXXXXXXXX.gif)"
indexed_gif="$(mktemp tmp.XXXXXXXXXX.gif)"
indexed_pgm="$(mktemp tmp.XXXXXXXXXX.pgm)"
odd_lines="$(mktemp tmp.XXXXXXXXXX.odd)"
even_lines="$(mktemp tmp.XXXXXXXXXX.even)"
odd_lines_px="$(mktemp tmp.XXXXXXXXXX.odd.px)"
even_lines_px="$(mktemp tmp.XXXXXXXXXX.even.px)"
mini_png="$("$(dirname "$0")/../mktemp.sh" .png)"
colors_gif="$("$(dirname "$0")/../mktemp.sh" .gif)"
indexed_gif="$("$(dirname "$0")/../mktemp.sh" .gif)"
indexed_pgm="$("$(dirname "$0")/../mktemp.sh" .pgm)"
odd_lines="$("$(dirname "$0")/../mktemp.sh" .odd)"
even_lines="$("$(dirname "$0")/../mktemp.sh" .even)"
odd_lines_px="$("$(dirname "$0")/../mktemp.sh" .odd.px)"
even_lines_px="$("$(dirname "$0")/../mktemp.sh" .even.px)"
colors=(78,78,78 255,108,96 0,170,0 288,288,182 150,203,254 255,115,253 85,255,255 238,238,238 124,124,124 255,155,147 177,253,121 255,255,145 181,220,254 255,156,254 85,255,255 255,255,255)
args=()

View File

@ -65,7 +65,7 @@ else
ssh-add ~/.ssh/travis-deploy-key-id_rsa
# TODO: all the config should be in a separate folder, instead of using ~/.ssh for the id_rsa.
known_hosts_d="$(UMASK=077 mktemp -d)"
known_hosts_d="$(UMASK=077 "$(dirname "$0")/mktemp.sh" -d)"
touch ${known_hosts_d}/known_hosts
chmod 600 ${known_hosts_d}/known_hosts
echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> "${known_hosts_d}/known_hosts"

View File

@ -5,10 +5,10 @@ set -e
resolution="$1" # e.g. 800x600x24 (width x height x bits_per_pixel)
shift # the following arguments are the program to execute and its arguments
bg="$(mktemp tmp.XXXXXXXXXX.xbm)"
twm_cfg="$(mktemp tmp.XXXXXXXXXX_twm.cfg)"
twm_session_dir="$(mktemp -d)"
anim="$(mktemp -d)"
bg="$(./utils/mktemp.sh .xbm)"
twm_cfg="$(./utils/mktemp.sh .twm.cfg)"
twm_session_dir="$(./utils/mktemp.sh -d)"
anim="$(./utils/mktemp.sh -d)"
# Create checkerboard background
# Use +level-colors 'gray(192),gray(128)' to choose directly the colors.

View File

@ -36,7 +36,7 @@ if ! which travis > /dev/null; then
gem install travis || echo "Notice: you need the following packages or their equivalent: ruby ruby-dev"
fi
ssh_dir="$(mktemp -d tmp.XXXXXXXXXX_travis-deploy-ssh-keygen)"
ssh_dir="$("$(dirname "$0")/mktemp.sh" -d tmp.XXXXXXXXXX_travis-deploy-ssh-keygen)"
mkdir -m 700 "${ssh_dir}/permissions/"
ssh-keygen -N '' -f "${ssh_dir}/permissions/travis-deploy-key-id_rsa"

36
utils/mktemp.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/sh
set -e
the_tmp_dir="${_CS_DARWIN_USER_TEMP_DIR:-"${TMPDIR:-"/tmp"}"}/"
if test $# -ge 1 && test "$1" = "-d"; then
shift
mkdir_opt='-d'
else
mkdir_opt=''
fi
if test $# -gt 1; then
echo "Usage: $0 [-d] .suffix" >&2
exit 1
elif test $# -eq 1; then
suffix="$1"
else
suffix=''
fi
result="$(mktemp $mkdir_opt "${the_tmp_dir}tmp.XXXXXXXXXX$suffix")"
# Sanity checks:
# Something went wrong while creating the file or directory:
if ! test -e "$result"; then echo "MKTEMP_SH_ERROR"; exit 1; fi
# This could result in a very bad rm invocation:
if ! test "$result" != "/"; then echo "MKTEMP_SH_ERROR"; exit 1; fi
# Something went wrong while creating the file:
if test "x$mkdir_opt" = "x" && ! test -f "$result"; then echo "MKTEMP_SH_ERROR"; exit 1; fi
# Something went wrong while creating the directory:
if test "x$mkdir_opt" = "x-d" && ! test -d "$result"; then echo "MKTEMP_SH_ERROR"; exit 1; fi
echo "$result"