mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 07:48: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:
parent
8c09c19139
commit
b4e1365657
@ -70,7 +70,7 @@ Options
|
||||
This is often used to set the number of jobs used, for example, `-j2`.
|
||||
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
|
||||
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
|
||||
@ -93,11 +93,6 @@ Options
|
||||
be disabled for individual packages by placing `!ccache` in the
|
||||
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 ..."::
|
||||
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
|
||||
|
@ -39,16 +39,15 @@ CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe"
|
||||
# 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.
|
||||
#
|
||||
#-- fakeroot: Allow building packages as a non-root user
|
||||
#-- distcc: Use the Distributed C/C++/ObjC compiler
|
||||
#-- color: Colorize output messages
|
||||
#-- 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,
|
||||
#-- specify a space-delimited list of hosts running in the DistCC cluster.
|
||||
|
@ -982,70 +982,6 @@ create_package() {
|
||||
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() {
|
||||
cd "$startdir"
|
||||
if [ "$SOURCEONLY" -eq 2 ]; then
|
||||
@ -1810,8 +1746,6 @@ else
|
||||
fakeroot -- $0 -F $ARGLIST || exit $?
|
||||
fi
|
||||
fi
|
||||
|
||||
create_xdelta "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}"
|
||||
fi
|
||||
|
||||
msg "$(gettext "Finished making: %s")" "$pkgname $pkgver-$pkgrel $CARCH ($(date))"
|
||||
|
Loading…
Reference in New Issue
Block a user