diff --git a/src/bee-install.sh.in b/src/bee-install.sh.in index 84bc63a..5699ccb 100644 --- a/src/bee-install.sh.in +++ b/src/bee-install.sh.in @@ -347,7 +347,12 @@ function do_install_file() { vv="vv" fi + if [ -n "${BEE_BEEDESTDIR}" ] ; then + changedir="--transform=s,^/,${BEE_BEEDESTDIR}/," + fi + start_cmd tar -x --dereference -${vv}Pf ${file} \ + ${changedir} \ --transform="s,^FILES$,${BEE_METADIR}/${pkg}/FILES," \ --transform="s,^BUILD$,${BEE_METADIR}/${pkg}/${beefile}," \ --transform="s,^META$,${BEE_METADIR}/${pkg}/META," \ diff --git a/src/bee.sh.in b/src/bee.sh.in index 856f3fd..3027b37 100644 --- a/src/bee.sh.in +++ b/src/bee.sh.in @@ -59,6 +59,7 @@ function print_usage() { bee --print-config bee --help bee --version + bee --destdir=/path/to/destdir EOF } @@ -83,6 +84,23 @@ function search_tool_cmd { done } +options=$(${BEE_BINDIR}/beegetopt --name=bee \ + --option=destdir/d= \ + -- "${@}") + +eval set -- ${options} + +while true ; do + case "${1}" in + --destdir) + BEE_BEEDESTDIR=${2} + shift 2 + ;; + --) + shift + break; + esac +done options=$(${BEE_BINDIR}/beegetopt --name=bee \ --stop-on-no-option \ @@ -136,6 +154,9 @@ if [ "${TOOL}" = "init" ] ; then config_export_prefix_variables fi +BEE_METADIR=${BEE_BEEDESTDIR}${BEE_METADIR} +BEE_CACHEDIR=${BEE_BEEDESTDIR}${BEE_CACHEDIR} + if [ "${OPT_PRINTCONFIG}" = "1" ] ; then config_print exit 0 diff --git a/src/beelib.config.sh.in b/src/beelib.config.sh.in index cd06b25..b153eb9 100644 --- a/src/beelib.config.sh.in +++ b/src/beelib.config.sh.in @@ -352,6 +352,8 @@ function config_export() { export BEE_DATADIR export BEE_LIBEXECDIR + export BEE_BEEDESTDIR + export BEE_VERSION export XDG_CONFIG_HOME