diff --git a/common/xbps-src/shutils/remove_obsoletes.sh b/common/xbps-src/shutils/remove_obsoletes.sh new file mode 100644 index 00000000000..506ab6855d3 --- /dev/null +++ b/common/xbps-src/shutils/remove_obsoletes.sh @@ -0,0 +1,6 @@ +remove_obsoletes () { + for repo in $XBPS_HOSTDIR/binpkgs $XBPS_HOSTDIR/binpkgs/debug $XBPS_HOSTDIR/binpkgs/nonfree $XBPS_HOSTDIR/binpkgs/multilib/ $XBPS_HOSTDIR/binpkgs/multilib/nonfree ; do + msg_normal "Cleaning $repo\n" + XBPS_ARCH=${XBPS_CROSS_TARGET:-$XBPS_MACHINE} $XBPS_RINDEX_CMD -r $repo + done +} diff --git a/xbps-src b/xbps-src index 9d88873ab2c..379bdd36bfd 100755 --- a/xbps-src +++ b/xbps-src @@ -78,6 +78,9 @@ remove remove-autodeps Removes all package dependencies that were installed automatically. +remove-obsoletes + Remove all obsolete packages from default repositories as detected by xbps-rindex. + purge-distfiles Removes all obsolete distfiles in /sources. @@ -799,6 +802,9 @@ case "$XBPS_TARGET" in read_pkg remove_pkg $XBPS_CROSS_BUILD ;; + remove-obsoletes) + remove_obsoletes + ;; list) $XBPS_QUERY_CMD -l ;;