Skip to content

Commit 02f2af3

Browse files
committed
protect against use of unset ${HOME}
1 parent 5bfc077 commit 02f2af3

File tree

2 files changed

+48
-32
lines changed

2 files changed

+48
-32
lines changed

scripts/package-darwin.sh

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,12 @@ for bindir in bin py3bin super_prove/bin share/verilator/bin lib/ivl; do
7878
export LC_ALL="C"
7979
export XDG_DATA_DIRS="\$release_topdir_abs"/share
8080
export XDG_CONFIG_DIRS="\$release_topdir_abs"
81-
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
82-
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
83-
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
84-
mkdir -p "\$HOME/.config/yosyshq" "\$HOME/.local/share/yosyshq"
81+
if [ ! -z ${HOME:+x} ]; then
82+
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
83+
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
84+
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
85+
mkdir -p "\$HOME/.config/yosyshq" "\$HOME/.local/share/yosyshq"
86+
fi
8587
EOT
8688
fi
8789
if [ ! -z "$(otool -L libexec/$(basename $binfile) | grep libgtk)" ]; then
@@ -105,11 +107,13 @@ for bindir in bin py3bin super_prove/bin share/verilator/bin lib/ivl; do
105107
export LC_ALL="C"
106108
export XDG_DATA_DIRS="\$release_topdir_abs"/share
107109
export XDG_CONFIG_DIRS="\$release_topdir_abs"
108-
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
109-
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
110-
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
111-
export GDK_PIXBUF_MODULE_FILE="\$XDG_CACHE_HOME/loaders.cache"
112-
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
110+
if [ ! -z ${HOME:+x} ]; then
111+
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
112+
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
113+
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
114+
export GDK_PIXBUF_MODULE_FILE="\$XDG_CACHE_HOME/loaders.cache"
115+
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
116+
fi
113117
"\$release_topdir_abs"/libexec/gdk-pixbuf-query-loaders --update-cache
114118
EOT
115119
fi
@@ -179,11 +183,13 @@ for script in bin/* py3bin/*; do
179183
export LD_LIBRARY_PATH="\$release_topdir_abs/lib"
180184
export XDG_DATA_DIRS="\$release_topdir_abs"/share
181185
export XDG_CONFIG_DIRS="\$release_topdir_abs"
182-
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
183-
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
184-
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
185-
export GDK_PIXBUF_MODULE_FILE="\$XDG_CACHE_HOME/loaders.cache"
186-
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
186+
if [ ! -z ${HOME:+x} ]; then
187+
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
188+
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
189+
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
190+
export GDK_PIXBUF_MODULE_FILE="\$XDG_CACHE_HOME/loaders.cache"
191+
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
192+
fi
187193
"\$release_topdir_abs"/libexec/gdk-pixbuf-query-loaders --update-cache
188194
exec "\$release_topdir_abs"/libexec/python3.8 "\$release_topdir_abs"/libexec/$(basename $script) "\$@"
189195
EOT

scripts/package-linux.sh

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,12 @@ for bindir in bin py2bin py3bin super_prove/bin share/verilator/bin lib/ivl; do
9595
export XDG_CURRENT_DESKTOP="KDE"
9696
export XDG_DATA_DIRS="\$release_topdir_abs"/share
9797
export XDG_CONFIG_DIRS="\$release_topdir_abs"
98-
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
99-
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
100-
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
101-
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
98+
if [ ! -z ${HOME:+x} ]; then
99+
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
100+
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
101+
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
102+
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
103+
fi
102104
EOT
103105
fi
104106
if [ ! -z "$(lddtree -l libexec/$(basename $binfile) | grep gtk)" ]; then
@@ -120,20 +122,24 @@ for bindir in bin py2bin py3bin super_prove/bin share/verilator/bin lib/ivl; do
120122
export XDG_CURRENT_DESKTOP="KDE"
121123
export XDG_DATA_DIRS="\$release_topdir_abs"/share
122124
export XDG_CONFIG_DIRS="\$release_topdir_abs"
123-
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
124-
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
125-
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
126-
export GDK_PIXBUF_MODULE_FILE="\$XDG_CACHE_HOME/loaders.cache"
127-
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
125+
if [ ! -z ${HOME:+x} ]; then
126+
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
127+
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
128+
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
129+
export GDK_PIXBUF_MODULE_FILE="\$XDG_CACHE_HOME/loaders.cache"
130+
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
131+
fi
128132
"\$release_topdir_abs"/lib/$ldlinuxname --inhibit-cache --inhibit-rpath "" --library-path "\$release_topdir_abs"/lib "\$release_topdir_abs"/libexec/gdk-pixbuf-query-loaders --update-cache
129133
EOT
130134
fi
131135
132136
if $is_using_fonts; then
133137
cat >> $binfile <<-EOT
134138
export FONTCONFIG_PATH="\$release_topdir_abs/etc/fonts"
135-
export FONTCONFIG_FILE="\$XDG_CONFIG_HOME/fonts.conf"
136-
sed "s|TARGET_DIR|\$release_topdir_abs|g" "\$release_topdir_abs/etc/fonts/fonts.conf.template" > "\$FONTCONFIG_FILE"
139+
if [ ! -z ${HOME:+x} ]; then
140+
export FONTCONFIG_FILE="\$XDG_CONFIG_HOME/fonts.conf"
141+
sed "s|TARGET_DIR|\$release_topdir_abs|g" "\$release_topdir_abs/etc/fonts/fonts.conf.template" > "\$FONTCONFIG_FILE"
142+
fi
137143
EOT
138144
fi
139145
@@ -194,11 +200,13 @@ for script in bin/* py3bin/*; do
194200
export XDG_CURRENT_DESKTOP="KDE"
195201
export XDG_DATA_DIRS="\$release_topdir_abs"/share
196202
export XDG_CONFIG_DIRS="\$release_topdir_abs"
197-
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
198-
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
199-
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
200-
export GDK_PIXBUF_MODULE_FILE="\$XDG_CACHE_HOME/loaders.cache"
201-
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
203+
if [ ! -z ${HOME:+x} ]; then
204+
export XDG_CONFIG_HOME="\$HOME/.config/yosyshq"
205+
export XDG_CACHE_HOME="\$HOME/.cache/yosyshq"
206+
export XDG_DATA_HOME="\$HOME/.local/share/yosyshq"
207+
export GDK_PIXBUF_MODULE_FILE="\$XDG_CACHE_HOME/loaders.cache"
208+
mkdir -p "\$XDG_CONFIG_HOME" "\$XDG_CACHE_HOME" "\$XDG_DATA_HOME"
209+
fi
202210
"\$release_topdir_abs"/lib/$ldlinuxname --inhibit-cache --inhibit-rpath "" --library-path "\$release_topdir_abs"/lib "\$release_topdir_abs"/libexec/gdk-pixbuf-query-loaders --update-cache
203211
export LC_ALL="C"
204212
export GI_TYPELIB_PATH="\$release_topdir_abs/lib/girepository-1.0"
@@ -207,8 +215,10 @@ for script in bin/* py3bin/*; do
207215
if $is_using_fonts; then
208216
cat >> "${script}" <<-EOT
209217
export FONTCONFIG_PATH="\$release_topdir_abs/etc/fonts"
210-
export FONTCONFIG_FILE="\$XDG_CONFIG_HOME/fonts.conf"
211-
sed "s|TARGET_DIR|\$release_topdir_abs|g" "\$release_topdir_abs/etc/fonts/fonts.conf.template" > "\$FONTCONFIG_FILE"
218+
if [ ! -z ${HOME:+x} ]; then
219+
export FONTCONFIG_FILE="\$XDG_CONFIG_HOME/fonts.conf"
220+
sed "s|TARGET_DIR|\$release_topdir_abs|g" "\$release_topdir_abs/etc/fonts/fonts.conf.template" > "\$FONTCONFIG_FILE"
221+
fi
212222
EOT
213223
fi
214224
cat >> "${script}" <<-EOT

0 commit comments

Comments
 (0)