From b0aedbb03ada470da6f7932855c7a71cfc22c708 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 14 Aug 2014 12:28:27 +0200 Subject: [PATCH] xbps-src: added -D to generate repository binary deltas; disabled for now. --- common/hooks/post-pkg/01-xdelta_repolist.sh | 1 + common/hooks/pre-pkg/01-xdelta_repolist.sh | 1 + common/xbps-src/shutils/chroot.sh | 1 + xbps-src | 7 +++++-- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/common/hooks/post-pkg/01-xdelta_repolist.sh b/common/hooks/post-pkg/01-xdelta_repolist.sh index 26fb31aee5a..09ad59f3fd6 100644 --- a/common/hooks/post-pkg/01-xdelta_repolist.sh +++ b/common/hooks/post-pkg/01-xdelta_repolist.sh @@ -1,6 +1,7 @@ # This hook generates vcdiffs for repository data. hook() { + [ -z "$XBPS_REPO_DELTAS" ] && return 0 type -P xdelta3 > /dev/null || return 0 find $XBPS_REPOSITORY -name "${XBPS_TARGET_MACHINE}-repodata.genVcdiff" | xargs -r sha256sum | \ diff --git a/common/hooks/pre-pkg/01-xdelta_repolist.sh b/common/hooks/pre-pkg/01-xdelta_repolist.sh index 9369fe91ab7..218a4688572 100644 --- a/common/hooks/pre-pkg/01-xdelta_repolist.sh +++ b/common/hooks/pre-pkg/01-xdelta_repolist.sh @@ -1,6 +1,7 @@ # this hook marks files which are about to change for generating vcdiffs hook() { + [ -z "$XBPS_REPO_DELTAS" ] && return 0 type -P xdelta3 > /dev/null || return 0 # create links to preserve old versions of repodata diff --git a/common/xbps-src/shutils/chroot.sh b/common/xbps-src/shutils/chroot.sh index 641c7168976..de09aa8a689 100644 --- a/common/xbps-src/shutils/chroot.sh +++ b/common/xbps-src/shutils/chroot.sh @@ -187,6 +187,7 @@ chroot_handler() { else [ -n "$XBPS_CROSS_BUILD" ] && arg="$arg -a $XBPS_CROSS_BUILD" [ -n "$XBPS_KEEP_ALL" ] && arg="$arg -C" + [ -n "$XBPS_REPO_DELTAS" ] && arg="$arg -D" [ -n "$NOCOLORS" ] && arg="$arg -L" [ -n "$XBPS_BUILD_FORCEMODE" ] && arg="$arg -f" [ -n "$XBPS_MAKEJOBS" ] && arg="$arg -j$XBPS_MAKEJOBS" diff --git a/xbps-src b/xbps-src index dc3535ee677..65ef92efbfd 100755 --- a/xbps-src +++ b/xbps-src @@ -116,6 +116,8 @@ Options: -C Do not remove build directory, automatic dependencies and package destdir after successful install. +-D Generate repository binary diffs (deltas) via xdelta3. + -f Force building and registering binary packages into the local repository, even if same version is already registered. @@ -318,10 +320,11 @@ readonly XBPS_MACHINE=$(uname -m) # XBPS_OPTIONS= -while getopts "a:CfgGhH:Ij:Lm:No:r:V" opt; do +while getopts "a:CDfgGhH:Ij:Lm:No:r:V" opt; do case $opt in a) readonly XBPS_CROSS_BUILD="$OPTARG"; XBPS_OPTIONS+="-a $OPTARG ";; C) readonly XBPS_KEEP_ALL=1; XBPS_OPTIONS+="-C ";; + D) readonly XBPS_REPO_DELTAS=1; XBPS_OPTIONS+=" -D";; f) readonly XBPS_BUILD_FORCEMODE=1; XBPS_OPTIONS+="-f ";; G) readonly XBPS_USE_GIT_REVS=1; XBPS_OPTIONS+="-G ";; g) readonly XBPS_DEBUG_PKGS=1; XBPS_OPTIONS+="-g ";; @@ -459,7 +462,7 @@ if [ -s $XBPS_MASTERDIR/.xbps_chroot_init ]; then fi export XBPS_SHUTILSDIR XBPS_CROSSPFDIR XBPS_TRIGGERSDIR \ - XBPS_SRCPKGDIR XBPS_COMMONDIR XBPS_BUILDDIR \ + XBPS_SRCPKGDIR XBPS_COMMONDIR XBPS_BUILDDIR XBPS_REPO_DELTAS \ XBPS_REPOSITORY XBPS_ALT_REPOSITORY XBPS_SRCDISTDIR XBPS_DIGEST_CMD \ XBPS_UHELPER_CMD XBPS_INSTALL_CMD XBPS_QUERY_CMD \ XBPS_RINDEX_CMD XBPS_RECONFIGURE_CMD XBPS_REMOVE_CMD \