1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-22 15:58:50 -05:00

makepkg : remove xdelta support

The pkgdelta script can be used instead.

Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Xavier Chantry 2009-02-25 19:40:57 +01:00 committed by Dan McGee
parent 8c09c19139
commit b4e1365657
3 changed files with 3 additions and 75 deletions

View File

@ -70,7 +70,7 @@ Options
This is often used to set the number of jobs used, for example, `-j2`. This is often used to set the number of jobs used, for example, `-j2`.
Other flags that make accepts can also be passed. Other flags that make accepts can also be passed.
**BUILDENV=(**fakeroot !distcc color !ccache !xdelta**)**:: **BUILDENV=(**fakeroot !distcc color !ccache**)**::
This array contains options that affect the build environment, the defaults This array contains options that affect the build environment, the defaults
are shown here. All options should always be left in the array; to enable are shown here. All options should always be left in the array; to enable
or disable an option simply remove or place an ``!'' at the front of the or disable an option simply remove or place an ``!'' at the front of the
@ -93,11 +93,6 @@ Options
be disabled for individual packages by placing `!ccache` in the be disabled for individual packages by placing `!ccache` in the
PKGBUILD options array. PKGBUILD options array.
*xdelta*;;
Generate an xdelta binary patch from previous to current package. The
previous package must be available in the makepkg cache directory for
this to occur.
**DISTCC_HOSTS=**"host1 ...":: **DISTCC_HOSTS=**"host1 ..."::
If using DistCC, this is used to specify a space-delimited list of hosts If using DistCC, this is used to specify a space-delimited list of hosts
running in the DistCC cluster. In addition, you will want to modify your running in the DistCC cluster. In addition, you will want to modify your

View File

@ -39,16 +39,15 @@ CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
# BUILD ENVIRONMENT # BUILD ENVIRONMENT
######################################################################### #########################################################################
# #
# Defaults: BUILDENV=(fakeroot !distcc color !ccache !xdelta) # Defaults: BUILDENV=(fakeroot !distcc color !ccache)
# A negated environment option will do the opposite of the comments below. # A negated environment option will do the opposite of the comments below.
# #
#-- fakeroot: Allow building packages as a non-root user #-- fakeroot: Allow building packages as a non-root user
#-- distcc: Use the Distributed C/C++/ObjC compiler #-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages #-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation #-- ccache: Use ccache to cache compilation
#-- xdelta: Generate delta patch from previous to current package
# #
BUILDENV=(fakeroot !distcc color !ccache !xdelta) BUILDENV=(fakeroot !distcc color !ccache)
# #
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, #-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster. #-- specify a space-delimited list of hosts running in the DistCC cluster.

View File

@ -982,70 +982,6 @@ create_package() {
shopt -u nullglob shopt -u nullglob
} }
create_xdelta() {
if [ "$(check_buildenv xdelta)" != "y" ]; then
return
elif [ ! "$(type -p xdelta)" ]; then
error "$(gettext "Cannot find the xdelta binary! Is xdelta installed?")"
return
fi
local pkg_file=$1
local cache_dir="/var/cache/pacman/pkg" # TODO: autoconf me
local pkginfo="$(mktemp "$startdir"/xdelta-pkginfo.XXXXXXXXX)"
local old_file old_version
for old_file in $(ls {"$cache_dir","$PKGDEST"}/${pkgname}-*-*{,-$CARCH}$PKGEXT 2>/dev/null); do
bsdtar -xOf "$old_file" .PKGINFO > "$pkginfo" || continue
if [ "$(cat "$pkginfo" | grep '^pkgname = ')" != "pkgname = $pkgname" ]; then
continue # Package name does not match.
elif [ "$(cat "$pkginfo" | grep '^arch = ')" != "arch = $CARCH" ] ; then
continue # Not same arch.
fi
old_version="$(cat "$pkginfo" | grep '^pkgver = ' | sed 's/^pkgver = //')"
# old_version may include the target package, only use the old versions
local vercmp=$(vercmp "$old_version" "$latest_version")
if [ "$old_version" != "$pkgver-$pkgrel" -a $vercmp -gt 0 ]; then
local latest_version=$old_version
local base_file=$old_file
fi
done
rm -f "$pkginfo"
if [ -n "$base_file" ]; then
msg "$(gettext "Making delta from version %s...")" "$latest_version"
local delta_file="$PKGDEST/$pkgname-${latest_version}_to_$pkgver-$pkgrel-$CARCH.delta"
local ret=0
# xdelta will decompress base_file & pkg_file into TMP_DIR (or /tmp if
# TMP_DIR is unset) then perform the delta on the resulting tars
xdelta delta "$base_file" "$pkg_file" "$delta_file" || ret=$?
if [ $ret -eq 0 -o $ret -eq 1 ]; then
# Generate the final gz using xdelta for compression. xdelta will be our
# common denominator compression utility between the packager and the
# users. makepkg and pacman must use the same compression algorithm or
# the delta generated package may not match, producing md5 checksum
# errors.
msg2 "$(gettext "Recreating package tarball from delta to match md5 signatures")"
msg2 "$(gettext "NOTE: the delta should ONLY be distributed with this tarball")"
ret=0
xdelta patch "$delta_file" "$base_file" "$pkg_file" || ret=$?
if [ $ret -ne 0 ]; then
error "$(gettext "Could not generate the package from the delta.")"
exit 1
fi
else
warning "$(gettext "Delta was not able to be created.")"
fi
else
warning "$(gettext "No previous version found, skipping xdelta.")"
fi
}
create_srcpackage() { create_srcpackage() {
cd "$startdir" cd "$startdir"
if [ "$SOURCEONLY" -eq 2 ]; then if [ "$SOURCEONLY" -eq 2 ]; then
@ -1810,8 +1746,6 @@ else
fakeroot -- $0 -F $ARGLIST || exit $? fakeroot -- $0 -F $ARGLIST || exit $?
fi fi
fi fi
create_xdelta "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}"
fi fi
msg "$(gettext "Finished making: %s")" "$pkgname $pkgver-$pkgrel $CARCH ($(date))" msg "$(gettext "Finished making: %s")" "$pkgname $pkgver-$pkgrel $CARCH ($(date))"