/usr/bin/clc-register-user-package is in common-lisp-controller 7.10.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | #!/bin/sh
# Registers a user package
# Author: Kevin Rosenberg <kmr@debian.org > GPL-2 license
set -e
LANG=C
LC_ALL=C
export HOME LANG LC_ALL
progname=$(basename $0)
if [ ! -d "$HOME" ]; then
echo "User home directory $HOME does not exist as a directory" >&2
exit 3
fi
clc_user_dir=$HOME/.clc
if [ ! -d "$clc_user_dir" ]; then
mkdir "$clc_user_dir" ||
(echo "Unable to create CLC user directory $clc_user_dir" >&2; exit 3)
fi
clc_user_db=$HOME/.clc/user-packages.db
clc_user_systems=$HOME/.clc/systems
if [ ! -f "$clc_user_db" ]; then
touch "$clc_user_db" ||
(echo "Unable to create CLC user package file $clc_user_db" >&2; exit 3)
fi
if [ -z "$1" ] ; then
cat <<EOF
usage: $progname package-asd-file
registers a Common Lisp package to the Common Lisp Controller system.
EOF
exit 1
fi
asdf_file=$(realpath -s "$1" 2>/dev/null || true)
if [ ! -f "$asdf_file" ] ; then
echo "The user package file $1 does not exist."
exit 3
fi
# now store user directory into database file
output=$(grep "^$asdf_file\$" $clc_user_db || true)
if [ "$output" ]; then
echo "User package $asdf_file already exists in CLC database, ignoring"
exit 1;
fi
echo $asdf_file >> $clc_user_db
# create symbolic link from systems directory
if [ ! -d $clc_user_systems ]; then
mkdir -p $clc_user_systems
fi
ln -sf $asdf_file $clc_user_systems
echo "User package $asdf_file installed"
|