Added support for a local mirror of security.debian.org. Setting

$SECURITY to the path of the mirror will include any updated packages
in the Packages file for the given distribution and architecture.
This commit is contained in:
Christopher Lawrence 2002-03-21 18:30:24 +00:00
parent 69327130a5
commit e81ac28c70
4 changed files with 59 additions and 34 deletions

View File

@ -33,41 +33,56 @@ then
ln -sf $CODENAME dists/local
fi
for i in $SECTIONS
do
mkdir -p dists/$CODENAME/main/binary-$ARCH/$i
mkdir -p dists/$CODENAME/main/binary-all/$i
mkdir -p dists/$CODENAME/main/source/$i
mkdir -p dists/$CODENAME/contrib/binary-$ARCH/$i
mkdir -p dists/$CODENAME/contrib/binary-all/$i
mkdir -p dists/$CODENAME/contrib/source/$i
if [ -n "$NONFREE" ]; then
mkdir -p dists/$CODENAME/non-free/binary-$ARCH/$i
mkdir -p dists/$CODENAME/non-free/binary-all/$i
mkdir -p dists/$CODENAME/non-free/source/$i
fi
if [ -n "$LOCAL" ]; then
mkdir -p dists/$CODENAME/local/binary-$ARCH/$i
mkdir -p dists/$CODENAME/local/binary-all/$i
mkdir -p dists/$CODENAME/local/source/$i
fi
done
if [ -n "$NONUS" ]; then
mkdir -p dists/$CODENAME/non-US/main/binary-$ARCH
mkdir -p dists/$CODENAME/non-US/main/binary-all
mkdir -p dists/$CODENAME/non-US/main/source
mkdir -p dists/$CODENAME/non-US/contrib/binary-$ARCH
mkdir -p dists/$CODENAME/non-US/contrib/binary-all
mkdir -p dists/$CODENAME/non-US/contrib/source
if [ -n "$NONFREE" ]; then
mkdir -p dists/$CODENAME/non-US/non-free/binary-$ARCH
mkdir -p dists/$CODENAME/non-US/non-free/binary-all
mkdir -p dists/$CODENAME/non-US/non-free/source
fi
fi
if [ ! -d .disk ] ; then
mkdir .disk
fi
for i in $SECTIONS
do
mkdir -p dists/$CODENAME/main/binary-$ARCH/$i
mkdir -p dists/$CODENAME/main/binary-all/$i
mkdir -p dists/$CODENAME/main/source/$i
mkdir -p dists/$CODENAME/contrib/binary-$ARCH/$i
mkdir -p dists/$CODENAME/contrib/binary-all/$i
mkdir -p dists/$CODENAME/contrib/source/$i
if [ -n "$NONFREE" ]; then
mkdir -p dists/$CODENAME/non-free/binary-$ARCH/$i
mkdir -p dists/$CODENAME/non-free/binary-all/$i
mkdir -p dists/$CODENAME/non-free/source/$i
fi
if [ -n "$LOCAL" ]; then
mkdir -p dists/$CODENAME/local/binary-$ARCH/$i
mkdir -p dists/$CODENAME/local/binary-all/$i
mkdir -p dists/$CODENAME/local/source/$i
fi
done
if [ -n "$SECURITY" ]; then
mkdir -p dists/$CODENAME/updates/main/binary-$ARCH
mkdir -p dists/$CODENAME/updates/main/binary-all
mkdir -p dists/$CODENAME/updates/main/source
mkdir -p dists/$CODENAME/updates/contrib/binary-$ARCH
mkdir -p dists/$CODENAME/updates/contrib/binary-all
mkdir -p dists/$CODENAME/updates/contrib/source
if [ -n "$NONFREE" ]; then
mkdir -p dists/$CODENAME/updates/non-free/binary-$ARCH
mkdir -p dists/$CODENAME/updates/non-free/binary-all
mkdir -p dists/$CODENAME/updates/non-free/source
fi
fi
if [ -n "$NONUS" ]; then
mkdir -p dists/$CODENAME/non-US/main/binary-$ARCH
mkdir -p dists/$CODENAME/non-US/main/binary-all
mkdir -p dists/$CODENAME/non-US/main/source
mkdir -p dists/$CODENAME/non-US/contrib/binary-$ARCH
mkdir -p dists/$CODENAME/non-US/contrib/binary-all
mkdir -p dists/$CODENAME/non-US/contrib/source
if [ -n "$NONFREE" ]; then
mkdir -p dists/$CODENAME/non-US/non-free/binary-$ARCH
mkdir -p dists/$CODENAME/non-US/non-free/binary-all
mkdir -p dists/$CODENAME/non-US/non-free/source
fi
fi

View File

@ -10,6 +10,7 @@ if (! -d $dir) {
my $mirror = $ENV{'MIRROR'} || die "Set the MIRROR var ...\n";
my $localdebs = $ENV{'LOCALDEBS'} || $mirror;
my $security = $ENV{'SECURITY'} || $mirror;
my $nonus = $ENV{'NONUS'} || '';
my $basedir = $ENV{'BASEDIR'} || die "Set the BASEDIR var ...\n";
@ -31,6 +32,7 @@ while (defined($_ = <LIST>)) {
# This is a hack to allow the local debs to be located elsewhere.
$source=$localdebs if $file=~m:local/:;
$source=$security if $file=~m:updates/:;
# If arch=all and filename points to binary-all then create
# a symbolic link in binary-$ARCH or if arch=all and filename is a
@ -50,7 +52,7 @@ while (defined($_ = <LIST>)) {
}
# Create the symlink from binary-$arch to binary-all
if ($section =~ /non-US/) {
if ($section =~ /non-US/ || $file =~ /updates/ ) {
$file =~ m#/([^/]+)$# and $name = $1;
symlink ("../binary-all/$name", "$dir/$file") ||
die "Can't symlink $dir/$file to ../binary-all/$name: $!";

View File

@ -57,6 +57,11 @@ if [ ! -e "$APTTMP/$CODENAME-$ARCH/apt/sources.list" ]; then
echo "deb file:${LOCALDEBS:-$MIRROR} $CODENAME local" \
>> $APTTMP/$CODENAME-$ARCH/apt/sources.list
fi
# Security mirror ...
if [ -n "$SECURITY" ]; then
echo "deb file:${SECURITY:-$MIRROR} $CODENAME/updates $sections" \
>> $APTTMP/$CODENAME-$ARCH/apt/sources.list
fi
fi
temp=$APTTMP/$CODENAME-$ARCH/temp.apt-selection

View File

@ -106,6 +106,9 @@ for i in `cd dists; echo *; cd ..`; do
-d "dists/$i/contrib/binary-$ARCH" ]; then
DISTS="$DISTS $i"
fi
if [ -n "$SECURITY" ]; then
DISTS="$DISTS $i/updates"
fi
if [ -d "dists/$i/non-US/main/binary-$ARCH" -o \
-d "dists/$i/non-US/non-free/binary-$ARCH" -o \
-d "dists/$i/non-US/contrib/binary-$ARCH" ]; then