From 5f1552f0c21aa7e8b38b1c6af42762e8b2c6e338 Mon Sep 17 00:00:00 2001 From: Luke Bratch Date: Fri, 18 Apr 2025 13:51:35 +0200 Subject: Add --exclude and pass the next argument to emerge --exclude for @world and -9999 updates. --- portage-update.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/portage-update.sh b/portage-update.sh index 0330162..7a141a8 100755 --- a/portage-update.sh +++ b/portage-update.sh @@ -30,6 +30,10 @@ do ;; --skip-etc-update) export SKIP_ETC_UPDATE="true" # In case we don't want to do an "etc-update" ;; + --exclude) # Followed by a list of packages as a single argument to pass to emerge --exclude for @world and -9999 updates, e.g. --exclude "app-editors/nano media-gfx/blender" + export EXCLUDE_LIST="$2" + shift + ;; --*) echo "bad argument '$1'" ; exit 1 ;; *) echo "unexpected argument '$1'" ; exit 1 @@ -53,13 +57,13 @@ fi # Do a @world update, unless skipped if [ -z ${SKIP_UPDATE+x} ]; then - echo 'emerge --keep-going -av --update --newuse --deep --with-bdeps=y @world' - emerge --keep-going -av --update --newuse --deep --with-bdeps=y @world || exit 1 + echo "emerge --keep-going -av --update --newuse --deep --with-bdeps=y --exclude \"$EXCLUDE_LIST\" @world" + emerge --keep-going -av --update --newuse --deep --with-bdeps=y --exclude "$EXCLUDE_LIST" @world || exit 1 # Update -9999 packages since they aren't included in a @world update pkgs9999=$(find /var/db/pkg/ -mindepth 2 -maxdepth 2 -name '*-9999') if [ "$pkgs9999" != "" ] ; then - echo "emerge -av $(find /var/db/pkg/ -mindepth 2 -maxdepth 2 -name '*-9999' | tr '\n' ' ' | sed 's|/var/db/pkg/|=|g')" - emerge -av $(find /var/db/pkg/ -mindepth 2 -maxdepth 2 -name '*-9999' | tr '\n' ' ' | sed 's|/var/db/pkg/|=|g') + echo "emerge -av $(find /var/db/pkg/ -mindepth 2 -maxdepth 2 -name '*-9999' | tr '\n' ' ' | sed 's|/var/db/pkg/|=|g') --exclude \"$EXCLUDE_LIST\"" + emerge -av $(find /var/db/pkg/ -mindepth 2 -maxdepth 2 -name '*-9999' | tr '\n' ' ' | sed 's|/var/db/pkg/|=|g') --exclude "$EXCLUDE_LIST" fi fi -- cgit v1.2.3