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:
parent
8c09c19139
commit
b4e1365657
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -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))"
|
||||||
|
Loading…
Reference in New Issue
Block a user