Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/poudriere.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBryan Drewery <bryan@shatow.net>2021-09-03 01:07:53 +0300
committerBryan Drewery <bryan@shatow.net>2021-09-03 01:36:56 +0300
commitc25726ffc803379a1d1759d6cdaecd6b1ded66e1 (patch)
tree5549bbd65be1b3c56492318594f8a06a6483d03f /src
parent0b7c13dea0f5eb386cda88645f7fb4825566edac (diff)
bulk missing pkg: Delete packages before fetching from remote
Diffstat (limited to 'src')
-rw-r--r--src/share/poudriere/common.sh49
1 files changed, 20 insertions, 29 deletions
diff --git a/src/share/poudriere/common.sh b/src/share/poudriere/common.sh
index 2db006e7..3af2ff0e 100644
--- a/src/share/poudriere/common.sh
+++ b/src/share/poudriere/common.sh
@@ -7526,7 +7526,7 @@ trim_ignored_pkg() {
prepare_ports() {
local pkg
local log log_top
- local n resuming_build
+ local n resuming_build delete_all
local cache_dir sflag delete_pkg_list shash_bucket
pkgqueue_init
@@ -7617,34 +7617,23 @@ prepare_ports() {
bset status "sanity:"
if was_a_bulk_run; then
- if [ -f ${PACKAGES}/.jailversion ]; then
- if [ "$(cat ${PACKAGES}/.jailversion)" != \
- "$(jget ${JAILNAME} version)" ]; then
- JAIL_NEEDS_CLEAN=1
- fi
- fi
-
# Stash dependency graph
cp -f "${MASTERMNT}/.p/pkg_deps" "${log}/.poudriere.pkg_deps%"
cp -f "${MASTERMNT}/.p/all_pkgs" "${log}/.poudriere.all_pkgs%"
- if [ ${JAIL_NEEDS_CLEAN} -eq 1 ]; then
- msg_n "Cleaning all packages due to newer version of the jail..."
- rm -rf ${PACKAGES:?}/* ${cache_dir}
- echo " done"
+ if [ -f "${PACKAGES}/.jailversion" ] &&
+ [ "$(cat ${PACKAGES}/.jailversion)" != \
+ "$(jget ${JAILNAME} version)" ]; then
+ delete_all="newer version of jail"
elif [ ${CLEAN} -eq 1 ]; then
if [ "${ATOMIC_PACKAGE_REPOSITORY}" != "yes" ] && \
package_dir_exists_and_has_packages; then
confirm_if_tty "Are you sure you want to clean all packages?" || \
err 1 "Not cleaning all packages"
fi
- msg_n "(-c) Cleaning all packages..."
- rm -rf ${PACKAGES:?}/* ${cache_dir}
- echo " done"
- fi
-
- if [ ${CLEAN_LISTED} -eq 1 ]; then
- msg "(-C) Cleaning specified packages to build"
+ delete_all="-c specified"
+ elif [ ${CLEAN_LISTED} -eq 1 ]; then
+ msg "-C specified, cleaning listed packages"
delete_pkg_list=$(mktemp -t poudriere.cleanC)
clear_dep_fatal_error
listed_pkgnames | while mapfile_read_loop_redir \
@@ -7671,6 +7660,13 @@ prepare_ports() {
cat "${delete_pkg_list}" | tr '\n' '\000' | \
xargs -0 rm -rf
unlink "${delete_pkg_list}" || :
+ elif ! ensure_pkg_installed; then
+ delete_all="pkg package missing"
+ fi
+ if [ -n "${delete_all}" ]; then
+ msg_n "${delete_all}, cleaning all packages..."
+ rm -rf ${PACKAGES:?}/* ${cache_dir}
+ echo " done"
fi
# If the build is being resumed then packages already
@@ -7702,15 +7698,6 @@ prepare_ports() {
fi
download_from_repo
bset status "sanity:"
-
- if ! ensure_pkg_installed; then
- msg_n "pkg package missing, cleaning all packages..."
- rm -rf ${PACKAGES:?}/* ${cache_dir}
- echo " done"
- else
- P_PKG_ABI="$(injail ${PKG_BIN} config ABI)" || \
- err 1 "Failure looking up pkg ABI"
- fi
fi
msg "Sanity checking the repository"
@@ -7733,6 +7720,11 @@ prepare_ports() {
# Skip incremental build for pkgclean
if was_a_bulk_run; then
install -lsr "${log}" "${PACKAGES}/logs"
+
+ if ensure_pkg_installed; then
+ P_PKG_ABI="$(injail ${PKG_BIN} config ABI)" || \
+ err 1 "Failure looking up pkg ABI"
+ fi
delete_old_pkgs
if [ ${SKIP_RECURSIVE_REBUILD} -eq 0 ]; then
@@ -8524,7 +8516,6 @@ fi
: ${ALL:=0}
: ${CLEAN:=0}
: ${CLEAN_LISTED:=0}
-: ${JAIL_NEEDS_CLEAN:=0}
: ${VERBOSE:=0}
: ${QEMU_EMULATING:=0}
: ${PORTTESTING:=0}