diff options
author | Bryan Drewery <bryan@shatow.net> | 2021-09-02 23:14:14 +0300 |
---|---|---|
committer | Bryan Drewery <bryan@shatow.net> | 2021-09-03 01:36:56 +0300 |
commit | 5372ca020263ec87a44740e0bbe578b58de58095 (patch) | |
tree | 5220842093ce06adea57810b1e559f382a6b8c34 /src | |
parent | f801a841cdd19e6f2dd1617e10d3ee208e097758 (diff) |
ensure_pkg_installed: Base paths on PKG_BIN value
Diffstat (limited to 'src')
-rw-r--r-- | src/share/poudriere/common.sh | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/share/poudriere/common.sh b/src/share/poudriere/common.sh index 6de3f5e5..7805fe52 100644 --- a/src/share/poudriere/common.sh +++ b/src/share/poudriere/common.sh @@ -5425,6 +5425,7 @@ ensure_pkg_installed() { local host_ver injail_ver mnt _my_path mnt + [ -n "${PKG_BIN}" ] || err 1 "ensure_pkg_installed: empty PKG_BIN" if [ -z "${force}" ] && [ -x "${mnt}${PKG_BIN}" ]; then return 0 fi @@ -5438,15 +5439,17 @@ ensure_pkg_installed() { injail_ver=${injail_ver%.*} host_ver=$(/usr/local/sbin/pkg-static -v) if [ "${host_ver}" = "${injail_ver}" ]; then - cp -f /usr/local/sbin/pkg-static "${mnt}/.p/pkg-static" + cp -f /usr/local/sbin/pkg-static "${mnt}/${PKG_BIN}" return 0 fi fi if [ ! -r "${MASTERMNT}/packages/Latest/pkg.${PKG_EXT}" ]; then return 1 fi - injail tar xf "/packages/Latest/pkg.${PKG_EXT}" -C / \ - -s ",/.*/,.p/,g" "*/pkg-static" + mkdir -p "${MASTERMNT}/${PKG_BIN%/*}" || + err 1 "ensure_pkg_installed: mkdir ${MASTERMNT}/${PKG_BIN%/*}" + injail tar xf "/packages/Latest/pkg.${PKG_EXT}" \ + -C "${PKG_BIN%/*}" -s ",.*/,," "*/pkg-static" } delete_pkg() { |