/usr/share/debdelta/debmirror-delta-security is in debdelta 0.50+3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | #!/bin/bash
set -e
# A simple script that will create a repository of deltas, that may be
# used by debdelta-upgrade for upgrading package in stable and
# stable-security
# Copyright (C) 2006-11 Andrea Mennucci.
# License: GNU Library General Public License, version 2 or later
# With a change by Torsten Spindler for use with Ubuntu
############################ WARNING ##############
#this script is not completely satisfactory
# situation,
# baz_2_all.deb is in stable, but then
# baz_2+1_all.deb enters as a "point release" in stable and replaces baz_2_all.deb
# (this needs a delta for stable updates, but it will be managed in a different repo)
# then there is a security update, baz_2+2_all.deb
# now two deltas should be generated for security ,
# 2 -> 2+2
# 2+1 -> 2+2
# the first one is not generated by this simple script.
##########################################
#who I am
b=`basename $0`
DEBUG=''
VERBOSE=''
[ "$1" = '-v' ] && { VERBOSE='-v' ; shift ; }
[ "$1" = '-d' ] && { DEBUG='--debug' ; shift; }
[ "$1" = '-v' ] && { VERBOSE='-v' ; shift ; }
if [ "$1" = '' ] || test ! -r "$1" ; then
echo please provide the configuration file as argument
exit 1
fi
. "$1"
if [ -n "$TMPDIR" ]; then
export TMPDIR
fi
# set gpg-agent variables, test it
gpgagentcmd="gpg-agent --homedir \"${GNUPGHOME}\" --daemon --write-env-file \"$GNUPGAGENTINFO\" "
if test "$GNUPGAGENTINFO" ; then
if test ! -r "$GNUPGAGENTINFO" ; then
echo ERROR no agent info, please start the agent with
echo $gpgagentcmd
exit 1
else
. "$GNUPGAGENTINFO"
export GPG_AGENT_INFO
if test ! "${GPG_AGENT_INFO}" -o ! -e "${GPG_AGENT_INFO/:*/}" -o ! -O "${GPG_AGENT_INFO/:*/}" ; then
echo ERROR agent info is not OK, please run the command
echo $gpgagentcmd
exit 1
elif ! echo | gpg-connect-agent --homedir ${GNUPGHOME} ; then
echo ERROR agent is not responding, please run the command
echo $gpgagentcmd
exit 1
fi
fi
fi
#test that we can sign, possibly loading the password in the agent
if test "$GNUPGSEC" ; then
t=`tempfile`
echo pippo > $t
if ! gpg2 --quiet --batch --homedir "${GNUPGHOME}" -o /dev/null --default-key $GNUPGSEC --sign $t ;
then
echo signature test FAILED
rm $t
exit 1
fi
rm $t
fi
#make copy of current stable-security lists of packages
olddists=${TMPDIR:-/tmp}/oldsecdists-`date +'%F_%H-%M-%S'`
mkdir $olddists
cp -a $secdebmir/dists $olddists
#do mirror security
trap "rm $VERBOSE -f $secdebmirlock ; echo FAILED , please delete $olddists" 0
#this version of 'debmirror' is patched to support the '--trash' option,
# see in /usr/share/debdelta
$DEBMIRROR $DEBUG $VERBOSE $secdebmir $DEBMIRROR_TRASH \
--method=$DEBMIRROR_METHOD --nosource -h $sechost \
-r $release -d ${secstable} --arch=$ARCHc \
$DEBMIRROR_OPTIONS
#do create deltas
lockfile -r 1 /tmp/$b.lock || exit 1
trap "rm $VERBOSE -f /tmp/$b.lock; echo FAILED , please delete $olddists " 0
cd $secdebmir
for arch in $ARCHs ; do
for sec in $SECTIONS; do
$debdeltas $VERBOSE -v --test $debdelta_opt \
--old $fulldebmir/dists/${origstable}/$sec/binary-$arch/Packages.gz \
--old $olddists/dists/${secstable}/$sec/binary-$arch/Packages.gz \
--alt $deltamir/old_debs \
--dir $deltamir// dists/${secstable}/$sec/binary-$arch/Packages.gz
done
done
#do clean up a bit
trap "" 0
rm $VERBOSE -f /tmp/$b.lock
rm -r $olddists
find $deltamir/old_debs -type f -mtime +80 | xargs -r rm || true
find $deltamir/pool \
\( -name '*debdelta-fails' -or -name '*debdelta-too-big' \
-or -name '*debdelta' \) -mtime +80 -type f |\
xargs -r rm || true
|