diff options
author | Bryan Drewery <bryan@shatow.net> | 2021-09-02 22:40:43 +0300 |
---|---|---|
committer | Bryan Drewery <bryan@shatow.net> | 2021-09-03 01:36:56 +0300 |
commit | 0a7bddc526ca0e94bf11869605438b2bf6910553 (patch) | |
tree | fbd04674a3cd98a0ae10cf2a89c72da2931df072 /src | |
parent | 027806453a099bca8a3f8bd2fb023f37324a1b74 (diff) |
ensure_pkg_installed: Only check for pkg.PKG_SUFX.
After commit dda7b8fa835d304 this could cause pkg.txz to be used for
bootstrapping, a new pkg.pkg is fetched, but then delete_old_pkgs()
removes the obsolete pkg.txz which later causes ensure_pkg_installed()
with forced extraction to fail. The simplest fix is to just not look
for not-PKG_SUFX pkg for bootstrapping.
Cleanup some style while here.
Revert "ensure_pkg_installed: Check for pkg.pkg before pkg.txz"
This reverts commit 9670d57087f4510fb8df4abb40a96b7a1a61088c.
Conflicts:
src/share/poudriere/common.sh
Diffstat (limited to 'src')
-rw-r--r-- | src/share/poudriere/common.sh | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/src/share/poudriere/common.sh b/src/share/poudriere/common.sh index 066cfafe..d778bef7 100644 --- a/src/share/poudriere/common.sh +++ b/src/share/poudriere/common.sh @@ -5434,34 +5434,31 @@ deps_fetch_vars() { ensure_pkg_installed() { local force="$1" - local host_ver injail_ver mnt pkg_ext + local host_ver injail_ver mnt _my_path mnt - [ -z "${force}" ] && [ -x "${mnt}${PKG_BIN}" ] && return 0 + if [ -z "${force}" ] && [ -x "${mnt}${PKG_BIN}" ]; then + return 0 + fi # Hack, speed up QEMU usage on pkg-repo. if [ ${QEMU_EMULATING} -eq 1 ] && \ - [ -f /usr/local/sbin/pkg-static ]; then - for pkg_ext in ${PKG_EXT} txz; do - [ -r "${MASTERMNT}/packages/Latest/pkg.${pkg_ext}" ] || continue - injail_ver=$(realpath "${MASTERMNT}/packages/Latest/pkg.${pkg_ext}") - injail_ver=${injail_ver##*/} - injail_ver=${injail_ver##*-} - 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" - return 0 - fi - done + [ -x /usr/local/sbin/pkg-static ] && + [ -r "${MASTERMNT}/packages/Latest/pkg.${PKG_EXT}" ]; then + injail_ver=$(realpath "${MASTERMNT}/packages/Latest/pkg.${PKG_EXT}") + injail_ver=${injail_ver##*/} + injail_ver=${injail_ver##*-} + 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" + return 0 + fi fi - for pkg_ext in ${PKG_EXT} txz; do - [ -r "${MASTERMNT}/packages/Latest/pkg.${pkg_ext}" ] || \ - continue - injail tar xf "/packages/Latest/pkg.${pkg_ext}" -C / \ - -s ",/.*/,.p/,g" "*/pkg-static" - return - done - return 1 #pkg missing + 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" } delete_pkg() { |