* Does correctly manage pools wrt Packages files. Large patch not well

tested.
* Now depends on grep-dctrl.
* Updated tasks files to put non-US at top.
* Various fixes.
This commit is contained in:
Raphaël Hertzog 2001-02-27 01:01:40 +00:00
parent 71922ba302
commit e67c751db6
7 changed files with 175 additions and 24 deletions

View File

@ -169,11 +169,13 @@ $(ADIR):
# CLeans the current arch tree (but not packages selection info)
clean: ok bin-clean src-clean
bin-clean:
$(Q)-rm -rf $(BDIR)/[1234567890]
$(Q)-rm -rf $(BDIR)/CD[1234567890]
$(Q)-rm -rf $(BDIR)/*_NONUS
$(Q)-rm -f $(BDIR)/packages-stamp $(BDIR)/bootable-stamp \
$(BDIR)/upgrade-stamp
src-clean:
$(Q)-rm -rf $(SDIR)/[1234567890]
$(Q)-rm -rf $(SDIR)/CD[1234567890]
$(Q)-rm -rf $(SDIR)/*_NONUS
$(Q)-rm -rf $(SDIR)/sources-stamp
# Completely cleans the current arch tree
@ -302,8 +304,9 @@ $(BDIR)/list: $(BDIR)/rawlist
# Build the raw list (cpp output) with doubles and spaces
$(BDIR)/rawlist:
ifdef FORCENONUSONCD1
$(Q)find $(NONUS)/dists/$(CODENAME) | grep binary-.*/.*deb | \
sed 's/.*\///g;s/_.*//g' | sort | uniq > $(BDIR)/Debian_$(CODENAME)_nonUS
$(Q)$(apt) cache dumpavail | \
grep-dctrl -FSection -n -sPackage -e '^non-US' - | \
sort | uniq > $(BDIR)/Debian_$(CODENAME)_nonUS
endif
$(Q)perl -npe 's/\@ARCH\@/$(ARCH)/g' $(TASK) | \
cpp -nostdinc -nostdinc++ -P -undef -D ARCH=$(ARCH) -D ARCH_$(ARCH) \

2
debian/changelog vendored
View File

@ -11,6 +11,8 @@ debian-cd (2.2.4) unstable; urgency=low
Closes: #79902
* Include a new interactive boot.bat. Closes: #83471
* Corrected tools/apt-selection. Closes: #79903
* Does correctly manage pools wrt Packages files.
* Now depends on grep-dctrl.
-- Raphael Hertzog <hertzog@debian.org> Sat, 27 Jan 2001 18:19:21 +0100

5
debian/control vendored
View File

@ -2,11 +2,12 @@ Source: debian-cd
Section: contrib/admin
Priority: extra
Maintainer: Raphael Hertzog <hertzog@debian.org>
Standards-Version: 3.1.1
Build-Depends: debhelper
Standards-Version: 3.5.2
Package: debian-cd
Architecture: all
Depends: perl5 | perl, libdigest-md5-perl | libmd5-perl, sysutils, apt (>= 0.3.11.1), dpkg-dev (>= 1.4.1.6), dpkg-multicd, make, mkhybrid | mkisofs, lynx
Depends: perl5 | perl, libdigest-md5-perl | libmd5-perl, sysutils, apt (>= 0.3.11.1), dpkg-dev (>= 1.4.1.6), dpkg-multicd, make, mkhybrid | mkisofs, lynx, grep-dctrl
Recommends: lha, unzip, hfsutils, debianutils (>= 1.6)
Description: Tools for building (Official) Debian CD set
This package was formerly called YACS (for Yet Another CD

69
tasks/Debian_sid Normal file
View File

@ -0,0 +1,69 @@
/* Comment
*
* This file will be used to build complete set of Sid CD (unstable)
*
*/
/* The CD set does use empty package called task-*
to select the packages in the initial installation */
#if (FORCENONUSONCD1 == 1)
#include "Debian_sid_nonUS"
#endif
task-dialup
task-dialup-isdn
task-newbie-help
task-gnome-desktop
task-gnome-games
task-gnome-net
task-gnome-apps
task-sgml
task-tex
task-samba
task-games
task-laptop
task-debian-devel
task-devel-common
task-c-dev
task-c++-dev
task-debug
task-sgml-dev
task-tcltk
task-fortran
task-objc-dev
task-database-pg
task-news-server
task-x-window-system-core
task-x-window-system
task-dns-server
task-imap
task-science
task-python
task-python-dev
task-python-bundle
task-python-web
task-tcltk-dev
task-parallel-computing-node
task-parallel-computing-dev
/* Packages that should really be on CD1 */
#include <forcd1>
/* Well I don't know if task for specific countries should be included
on the first CD ...
I'll leave it there for now ..
*/
task-german
task-spanish
task-chinese-s
task-chinese-t
task-japanese
task-polish
/* List of packages that may still fit on the first CD */
#include <popularity-contest>
/* Other packages to put on the others CDs */

View File

@ -1,12 +1,16 @@
/* Comment
*
* This file will be used to build official complete set of Potato CD
* This file will be used to build official complete set of Woody CD
*
*/
/* The potato CD set does now use empty package called task-*
/* The CD set does use empty package called task-*
to select the packages in the initial installation */
#if (FORCENONUSONCD1 == 1)
#include "Debian_woody_nonUS"
#endif
task-dialup
task-dialup-isdn
task-newbie-help

View File

@ -20,7 +20,7 @@ BDIR=$TDIR/$CODENAME-$ARCH
PREFIX=`echo $2 | sed "s?$BDIR/CD?$BDIR/?"`
NUM=${PREFIX##$TDIR/$CODENAME-$ARCH/}
NUM=${PREFIX##$BDIR/}
NUM=`echo $NUM | sed 's/_NONUS//g'`
if [ -n "$NONFREE" -o -n "$EXTRANONFREE" ]; then
SECTIONS="main contrib non-free"
@ -123,20 +123,66 @@ fi
# Creates the temp Packages-$SECT files
if [ "$1" != "scan" ]; then exit 0; fi
for SECT in $SECTIONS; do
dpkg-scanpackages -m "`cat .disk/info`" \
dists/$CODENAME/$SECT/binary-$ARCH \
$MIRROR/indices/override.$CODENAME.$SECT.gz \
> $PREFIX.Packages-$SECT
if [ ! -e "../overrides" ]; then
# Create an override file with all sections
for SECT in $SECTIONS; do
zcat $MIRROR/indices/override.$CODENAME.$SECT.gz >> ../overrides
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
dpkg-scanpackages -m "`cat .disk/info`" \
dists/$CODENAME/non-US/$SECT/binary-$ARCH \
$NONUS/indices-non-US/override.$CODENAME.$SECT.gz \
> $PREFIX.Packages-non-US-$SECT
zcat $NONUS/indices-non-US/override.$CODENAME.$SECT.gz \
>> ../overrides
fi
done
fi
#
# Create a Packages file for all packages on the CD
#
if [ -d pool ]; then
dpkg-scanpackages -m "`cat .disk/info`" pool ../overrides \
> $PREFIX.Packages-BOTH
fi
# We have to scan all possible dists where packages 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/binary-$ARCH" ]; then
DISTS="$DISTS $i"
fi
if [ -d "dists/$i/non-US/main/binary-$ARCH" ]; then
DISTSNONUS="$DISTSNONUS $i"
fi
fi
done
for SECT in $SECTIONS; do
for DIST in $DISTS; do
dpkg-scanpackages -m "`cat .disk/info`" dists/$DIST/$SECT/binary-$ARCH \
../overrides >> $PREFIX.Packages-BOTH
done
for DIST in $DISTSNONUS; do
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
dpkg-scanpackages -m "`cat .disk/info`" \
dists/$DIST/non-US/$SECT/binary-$ARCH \
../overrides >> $PREFIX.Packages-BOTH
fi
done
done
# Separate non-US from the rest
grep-dctrl -FFilename -e '/non-[Uu][Ss]/' $PREFIX.Packages-BOTH \
> $PREFIX.Packages-ALLNONUS
grep-dctrl -v -FFilename -e '/non-[Uu][Ss]/' $PREFIX.Packages-BOTH \
> $PREFIX.Packages-ALL
# Split the Packages file by section
for SECT in $SECTIONS; do
grep-dctrl -FFilename -e "/$SECT/" $PREFIX.Packages-ALL \
> $PREFIX.Packages-$SECT
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
grep-dctrl -FFilename -e "/$SECT/" $PREFIX.Packages-ALLNONUS \
> $PREFIX.Packages-non-US-$SECT
fi
done
# Slink special case

View File

@ -17,14 +17,40 @@ 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
dpkg-scansources dists/$CODENAME/$SECT/source \
| gzip --best > dists/$CODENAME/$SECT/source/Sources.gz
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
dpkg-scansources dists/$CODENAME/non-US/$SECT/source \
| gzip --best > dists/$CODENAME/non-US/$SECT/source/Sources.gz
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