t_archive_method=reprepro
- t-git-config dgit-distro.test-dummy.archive-query aptget:
- t-git-config dgit-distro.test-dummy.mirror file://$tmp/mirror/
+ t-reprepro-cfg
+}
+
+t-reprepro-cfg () {
+ local rrinst=$1
+ local rrdistro=${2:-test-dummy}
+
+ local etcapt=$tmp/${rrinst}etc-apt
+ local mir=$tmp/${rrinst}mirror
- mkdir $tmp/etc-apt
- cat >$tmp/etc-apt/conf <<END
-Dir::Etc "$tmp/etc-apt";
+ t-git-config dgit-distro.$rrdistro.archive-query aptget:
+ t-git-config dgit-distro.$rrdistro.mirror file://$mir/
+
+ mkdir $etcapt
+ cat >$etcapt/conf <<END
+Dir::Etc "$etcapt";
END
- export APT_CONFIG=$tmp/etc-apt/conf
+ export APT_CONFIG=$etcapt/conf
gpg --export Hannibal >han.pgp
fakeroot apt-key add <han.pgp
- mkdir $tmp/etc-apt/apt.conf.d
+ mkdir $etcapt/apt.conf.d
}
-t-archive-none-reprepro () {
+t-archive-none-reprepro () { # hook called by t-archive-none
t-reprepro-setup
t-reprepro-regen
+ local rrinst=
}
-t-archive-query-reprepro () {
+t-archive-query-reprepro () { # hook called by t-archive-query
local suite=$1
local p=$2
local v=$3
local dscf=$4
- t-run-reprepro includedsc $suite $tmp/mirror/pool/$dscf
+ local rrinst=
+ t-reprepro-includedsc $suite $tmp/mirror/pool/$dscf "$rrinst"
}
t-reprepro-setup () {
- local rrc=$tmp/mirror/conf
+ local rrinst=$1
+
+ local mir=$tmp/${rrinst}mirror
+ local rrc=$mir/conf
mkdir -p $rrc
- mkdir -p $tmp/mirror/pool/main
+ mkdir -p $mir/pool/main
exec 3>$rrc/distributions
- local arch=`dpkg --print-architecture`
+ local arch; arch=`dpkg --print-architecture`
for suitespec in $suitespecs; do
local suite=${suitespec%%:*}
local sname=${suitespec#*:}
- mkdir $tmp/mirror/dists
- rm -f $tmp/mirror/dists/$sname
- ln -s $suite $tmp/mirror/dists/$sname
+ mkdir -p $mir/dists
+ if [ $sname != $suite ]; then
+ rm -f $mir/dists/$sname
+ ln -s $suite $mir/dists/$sname
+ fi
cat >&3 <<END
Suite: $sname
done
}
-t-run-reprepro () {
+t-reprepro-includedsc () {
+ local suite=$1
+ local dscf=$2
+ local rrinst=$3
+ t-reprepro--run includedsc $suite $dscf
+}
+
+t-reprepro--run () {
+ # caller is supposed to have set rrinst
+ local mir=$tmp/${rrinst}mirror
reprepro \
- --outdir $tmp/mirror \
- --basedir $tmp/mirror \
+ --outdir $mir \
+ --basedir $mir \
"$@"
}
t-reprepro-regen () {
- t-run-reprepro export
+ local rrinst=$1
+
+ t-reprepro--run export
}