Descrição da tag Lintian:
The Filesystem Hierarchy Standard forbids the installation of new directories in /usr/bin other than /usr/bin/mh.
No entanto, tudo o que posso encontrar no documento vinculado é
This is the primary directory of executable commands on the system.
Este permite que os comandos executáveis cheguem até lá, mas não proíbe nada. A que parágrafo os doees Lintian se referem?
O motivo pelo qual gosto de colocar um subdiretório é que tenho um script wrapper, que o usuário usa em vez do binário, e quero que o script wrapper funcione sem alterações ao "instalar" o programa. Em suma, o script parece
options=()
debug=0
mode="rel"
for option in "$@"; do
if [ "$option" == "--debug" ]; then
debug=1
mode="dbg"
else
options+=("$option")
fi
done
current_dir=$(dirname "'readlink -f "${BASH_SOURCE[0]}"'")
binary="$current_dir"/__anja_"$mode"_"$arch"/anja
if [ $debug -eq 1 ]; then
gdb --args "$binary" "${options[@]}"
else
exec "$binary" "${options[@]}"
fi
onde arch
é deduzido de /proc/cpuinfo
. O sistema de compilação emite o binário no diretório __anja_"$mode"_"$arch"
, no diretório raiz do projeto.
Sim, o local correto para os binários reais é /usr/libexec
, mas o script deve ser alterado durante o procedimento de instalação.