If $USER is not set when running checkupdates, the temporary directory's
name will be "checkup-db-". This will cause issues if multiple users run
checkupdates. A common situation where $USER is not set is when a command
is executed with systemd-run, e.g. from a systemd unit.
See https://github.com/systemd/systemd/pull/8227 for details.
Fall back to $UID so that the temporary directory is isolated per-user.
Signed-off-by: nl6720 <nl6720(a)gmail.com>
---
src/checkupdates.sh.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/checkupdates.sh.in b/src/checkupdates.sh.in
index 52f8899..f2c468c 100644
--- a/src/checkupdates.sh.in
+++ b/src/checkupdates.sh.in
@@ -85,7 +85,7 @@ if ! type -P fakeroot >/dev/null; then
fi
if [[ -z $CHECKUPDATES_DB ]]; then
- CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/"
+ CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER:-$UID}/"
fi
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT
--
2.24.0