debian-cd-clone/tools/scansources

70 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
# Copyright 1999 Raphaël Hertzog <hertzog@debian.org>
# See the README file for the license
# This script will create the Sources.gz files
# First arg = directory of the CD
set -e
PREFIX=$1
if [ -n "$NONFREE" -o -n "$EXTRANONFREE" ]; then
SECTIONS="main contrib non-free"
else
SECTIONS="main contrib"
fi
cd $PREFIX
# We have to scan all possible dists where sources can be
DISTS=""
DISTSNONUS=""
for i in `cd dists; echo *; cd ..`; do
if [ ! -L "dists/$i" -a -d "dists/$i" ]; then
if [ -d "dists/$i/main/source" ]; then
DISTS="$DISTS $i"
fi
if [ -d "dists/$i/non-US/main/source" ]; then
DISTSNONUS="$DISTSNONUS $i"
fi
fi
done
for SECT in $SECTIONS; do
if [ -d "pool/$SECT" ]; then
dpkg-scansources pool/$SECT > dists/$CODENAME/$SECT/source/Sources
fi
for DIST in $DISTS; do
dpkg-scansources dists/$DIST/$SECT/source \
>> dists/$CODENAME/$SECT/source/Sources
done
gzip --best dists/$CODENAME/$SECT/source/Sources
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
if [ -d "pool/non-US/$SECT" ]; then
dpkg-scansources pool/non-US/$SECT \
> dists/$CODENAME/$SECT/source/Sources
fi
for DIST in $DISTSNONUS; do
dpkg-scansources dists/$DIST/non-US/$SECT/source \
>> dists/$CODENAME/$SECT/source/Sources
done
gzip --best dists/$CODENAME/non-US/$SECT/source/Sources
fi
done
# Slink special case
if [ -n "$NONUS" -a "$CODENAME" = "slink" ]; then
dpkg-scansources dists/$CODENAME/non-US/source \
| gzip --best > dists/$CODENAME/non-US/source/Sources.gz
fi
if [ -n "$LOCAL" ]; then
dpkg-scansources dists/$CODENAME/local/source \
| gzip --best > dists/$CODENAME/local/source/Sources.gz
fi
exit 0