From fee771f5d3ac546f95d6d119ae16e516b1b2ffac Mon Sep 17 00:00:00 2001 From: Duncaen Date: Fri, 17 Apr 2026 19:40:15 +0200 Subject: [PATCH] xbps-src: add -e, like -E but only checks local repos --- common/xbps-src/shutils/common.sh | 4 ++-- xbps-src | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/common/xbps-src/shutils/common.sh b/common/xbps-src/shutils/common.sh index ca270518a9764d..979d575fd77fa6 100644 --- a/common/xbps-src/shutils/common.sh +++ b/common/xbps-src/shutils/common.sh @@ -554,9 +554,9 @@ setup_pkg() { XBPS_MAKEJOBS=1 fi makejobs="-j$XBPS_MAKEJOBS" - if [ -n "$XBPS_BINPKG_EXISTS" ]; then + if [ -n "$XBPS_BINPKG_EXISTS" ] || [ -n "$XBPS_BINPKG_EXISTS_LOCAL" ]; then local extraflags="" - if [ -n "$XBPS_SKIP_REMOTEREPOS" ]; then + if [ -n "$XBPS_SKIP_REMOTEREPOS" ] || [ -n "XBPS_BINPKG_EXISTS_LOCAL" ]; then extraflags="-i" # filter out remote repositories for repo in $(xbps-query -L | awk '{ print $2 }' | grep '^/host/'); do diff --git a/xbps-src b/xbps-src index 4a8d20c30978b5..f6a600f1e3a9ea 100755 --- a/xbps-src +++ b/xbps-src @@ -188,6 +188,9 @@ $(print_cross_targets) -E If a binary package exists in a repository for the target package, do not try to build it, exit immediately. +-e If a binary package exists in a local repository for the target package, + do not try to build it, exit immediately. + -f Force running the specified stage (configure/build/install/pkg) even if it ran successfully. @@ -386,7 +389,7 @@ XBPS_VERSION=${XBPS_VERSION##*:} readonly XBPS_SRC_VERSION="113" XBPS_OPTIONS= -XBPS_OPTSTRING="1A:a:bc:CEfgGhH:iIj:Lm:Nno:p:qsQKr:tvV" +XBPS_OPTSTRING="1A:a:bc:CEefgGhH:iIj:Lm:Nno:p:qsQKr:tvV" # Preprocess arguments in order to allow options before and after XBPS_TARGET. eval set -- $(getopt "$XBPS_OPTSTRING" "$@"); @@ -403,6 +406,7 @@ while getopts "$XBPS_OPTSTRING" opt; do c) XBPS_ARG_CONFIG="$OPTARG"; XBPS_OPTIONS+=" -c $OPTARG";; C) XBPS_ARG_KEEP_ALL=1; XBPS_OPTIONS+=" -C";; E) XBPS_ARG_BINPKG_EXISTS=1; XBPS_OPTIONS+=" -E";; + e) XBPS_ARG_BINPKG_EXISTS_LOCAL=1; XBPS_OPTIONS+=" -e";; f) XBPS_ARG_BUILD_FORCEMODE=1; XBPS_OPTIONS+=" -f";; G) XBPS_ARG_USE_GIT_REVS=1; XBPS_OPTIONS+=" -G";; g) XBPS_ARG_DEBUG_PKGS=1; XBPS_OPTIONS+=" -g";; @@ -503,6 +507,7 @@ fi [ -n "$XBPS_ARG_INFORMATIVE_RUN" ] && XBPS_INFORMATIVE_RUN=1 [ -n "$XBPS_ARG_TEMP_MASTERDIR" ] && XBPS_TEMP_MASTERDIR=1 [ -n "$XBPS_ARG_BINPKG_EXISTS" ] && XBPS_BINPKG_EXISTS=1 +[ -n "$XBPS_ARG_BINPKG_EXISTS_LOCAL" ] && XBPS_BINPKG_EXISTS_LOCAL=1 [ -n "$XBPS_ARG_USE_GIT_REVS" ] && XBPS_USE_GIT_REVS=1 [ -n "$XBPS_ARG_DEBUG_PKGS" ] && XBPS_DEBUG_PKGS=1 [ -n "$XBPS_ARG_SKIP_DEPS" ] && XBPS_SKIP_DEPS=1 @@ -537,7 +542,7 @@ if [ -z "$XBPS_MACHINE" ]; then fi export XBPS_BUILD_ONLY_ONE_PKG XBPS_SKIP_REMOTEREPOS XBPS_BUILD_FORCEMODE \ - XBPS_INFORMATIVE_RUN XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS \ + XBPS_INFORMATIVE_RUN XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS XBPS_BINPKG_EXISTS_LOCAL \ XBPS_USE_GIT_REVS XBPS_CHECK_PKGS XBPS_DEBUG_PKGS XBPS_SKIP_DEPS \ XBPS_KEEP_ALL XBPS_QUIET XBPS_ALT_REPOSITORY XBPS_STRICT XBPS_CROSS_BUILD \ XBPS_MAKEJOBS XBPS_PRINT_VARIABLES XBPS_IGNORE_BROKENNESS XBPS_MACHINE \ @@ -718,7 +723,7 @@ export XBPS_SHUTILSDIR XBPS_CROSSPFDIR XBPS_TRIGGERSDIR \ XBPS_CHECK_PKGS XBPS_CCACHE XBPS_DISTCC XBPS_DISTCC_HOSTS XBPS_SKIP_DEPS \ XBPS_SKIP_REMOTEREPOS XBPS_CROSS_BUILD XBPS_ARG_PKG_OPTIONS XBPS_CONFIG_FILE \ XBPS_KEEP_ALL XBPS_HOSTDIR XBPS_MASTERDIR XBPS_SRC_VERSION \ - XBPS_DESTDIR XBPS_MACHINE XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS \ + XBPS_DESTDIR XBPS_MACHINE XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS XBPS_BINPKG_EXISTS_LOCAL \ XBPS_LIBEXECDIR XBPS_DISTDIR XBPS_DISTFILES_MIRROR XBPS_ALLOW_RESTRICTED \ XBPS_USE_GIT_COMMIT_DATE XBPS_PKG_COMPTYPE XBPS_REPO_COMPTYPE \ XBPS_BUILDHELPERDIR XBPS_USE_BUILD_MTIME XBPS_BUILD_ENVIRONMENT \