1999-11-11 16:10:37 -01:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# This is a little shell script that will launch apt-get in dry-run mode
|
|
|
|
# to find all the dependencies of a specific package
|
|
|
|
|
2000-02-26 10:41:10 -01:00
|
|
|
# There's not set -e here because this script may fail !
|
|
|
|
# Apt doesn't always work ...
|
|
|
|
# set -e
|
2000-02-19 16:52:52 -01:00
|
|
|
|
1999-11-11 16:10:37 -01:00
|
|
|
# Get the configuration information if necessary
|
2010-05-27 00:52:25 +00:00
|
|
|
if [ -z "$CODENAME" ] || [ -z "$ARCH" ] || [ -z "$APTTMP" ]; then
|
1999-11-11 16:10:37 -01:00
|
|
|
if [ -e CONF.sh ]; then
|
2009-08-04 21:55:03 +00:00
|
|
|
. CONF.sh
|
1999-11-11 16:10:37 -01:00
|
|
|
else
|
2010-05-27 00:52:25 +00:00
|
|
|
echo "Please set up environment variables before "
|
1999-11-11 16:10:37 -01:00
|
|
|
echo "launching this program ..."
|
|
|
|
echo "Current values are :"
|
|
|
|
echo "CODENAME=$CODENAME"
|
|
|
|
echo "ARCH=$ARCH"
|
2000-03-14 03:02:29 -01:00
|
|
|
echo "APTTMP=$APTTMP"
|
1999-11-11 16:10:37 -01:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
if [ $ARCH = "source" ] ; then
|
|
|
|
ADEB="deb-src"
|
|
|
|
else
|
|
|
|
ADEB="deb"
|
|
|
|
fi
|
|
|
|
|
2001-10-06 15:55:12 +00:00
|
|
|
options=" -q -o Dir::State::status=$APTTMP/$CODENAME-$ARCH/status \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
-o Dir::State=$APTTMP/$CODENAME-$ARCH/apt-state/ \
|
|
|
|
-o Dir::Cache=$APTTMP/$CODENAME-$ARCH/apt-cache/ \
|
|
|
|
-o Dir::Etc=$APTTMP/$CODENAME-$ARCH/apt/ \
|
|
|
|
-o APT::Cache::AllVersions=0 \
|
2012-09-26 18:18:47 +00:00
|
|
|
-o APT::Cache::ShowVersion=1 \
|
2013-06-17 14:33:46 +00:00
|
|
|
-o APT::Architecture=$ARCH \
|
2014-04-09 01:24:44 +00:00
|
|
|
-o APT::Architectures::=$ARCH \
|
2013-06-17 14:33:46 +00:00
|
|
|
-o Acquire::Languages=none"
|
1999-11-11 16:10:37 -01:00
|
|
|
|
2002-12-07 09:22:40 -01:00
|
|
|
sections=main
|
2010-05-27 00:52:25 +00:00
|
|
|
if [ "${NONFREE:-0}" != "0" ] || [ "${EXTRANONFREE:-0}" != "0" ] || [ "${FORCE_FIRMWARE:-0}" != "0" ]; then
|
2002-12-07 09:22:40 -01:00
|
|
|
sections="$sections non-free"
|
|
|
|
fi
|
|
|
|
if [ "${CONTRIB:-0}" != "0" ]; then
|
|
|
|
sections="$sections contrib"
|
2000-03-09 20:06:03 -01:00
|
|
|
fi
|
|
|
|
|
1999-11-11 16:10:37 -01:00
|
|
|
# Check for the necessary dirs and files ...
|
2000-03-14 03:02:29 -01:00
|
|
|
if [ ! -d "$APTTMP/$CODENAME-$ARCH/apt-state/lists/partial" ]; then
|
|
|
|
mkdir -p "$APTTMP/$CODENAME-$ARCH/apt-state/lists/partial"
|
1999-11-11 16:10:37 -01:00
|
|
|
fi
|
2000-03-14 03:02:29 -01:00
|
|
|
if [ ! -d "$APTTMP/$CODENAME-$ARCH/apt-cache/archives/partial" ]; then
|
|
|
|
mkdir -p "$APTTMP/$CODENAME-$ARCH/apt-cache/archives/partial"
|
1999-11-11 16:10:37 -01:00
|
|
|
fi
|
2000-03-14 03:02:29 -01:00
|
|
|
if [ ! -d "$APTTMP/$CODENAME-$ARCH/apt" ]; then
|
|
|
|
mkdir -p "$APTTMP/$CODENAME-$ARCH/apt"
|
1999-11-11 16:10:37 -01:00
|
|
|
fi
|
2007-08-08 12:55:36 +00:00
|
|
|
if [ ! -e "$APTTMP/$CODENAME-$ARCH/status" ]; then
|
|
|
|
touch "$APTTMP/$CODENAME-$ARCH/status"
|
|
|
|
fi
|
2000-03-14 03:02:29 -01:00
|
|
|
if [ ! -e "$APTTMP/$CODENAME-$ARCH/apt/sources.list" ]; then
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
|
1999-11-11 16:10:37 -01:00
|
|
|
# Generating a correct sources.list file
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
echo "$ADEB file:$MIRROR $CODENAME $sections" \
|
2000-03-14 03:02:29 -01:00
|
|
|
> $APTTMP/$CODENAME-$ARCH/apt/sources.list
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
|
2008-07-13 11:45:10 +00:00
|
|
|
if [ -n "$PROPOSED_UPDATES" ]; then
|
|
|
|
echo "$ADEB file:$MIRROR $PROPOSED_UPDATES $sections" \
|
|
|
|
>> $APTTMP/$CODENAME-$ARCH/apt/sources.list
|
|
|
|
fi
|
|
|
|
|
2000-03-07 17:59:31 -01:00
|
|
|
# Local packages ...
|
|
|
|
if [ -n "$LOCAL" ]; then
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
echo "$ADEB file:${LOCALDEBS:-$MIRROR} $CODENAME local" \
|
|
|
|
>> $APTTMP/$CODENAME-$ARCH/apt/sources.list
|
2000-03-07 17:59:31 -01:00
|
|
|
fi
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
|
|
|
|
# Security mirror ...
|
|
|
|
if [ -n "$SECURITY" ]; then
|
|
|
|
echo "$ADEB file:${SECURITY:-$MIRROR} $CODENAME/updates $sections" \
|
|
|
|
>> $APTTMP/$CODENAME-$ARCH/apt/sources.list
|
2002-10-10 12:56:48 +00:00
|
|
|
fi
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
|
|
|
|
# Debian-installer
|
|
|
|
if [ $ARCH != source ] ; then
|
|
|
|
if [ -e "$MIRROR/dists/$DI_CODENAME/main/debian-installer" ]; then
|
|
|
|
echo "$ADEB file:$MIRROR $DI_CODENAME main/debian-installer" \
|
|
|
|
>> $APTTMP/$CODENAME-$ARCH/apt/sources.list
|
|
|
|
fi
|
2010-05-27 00:52:25 +00:00
|
|
|
if [ -n "$LOCAL" ] && [ -e "${LOCALDEBS:-$MIRROR}/dists/$DI_CODENAME/local/debian-installer" ]; then
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
echo "$ADEB file:${LOCALDEBS:-$MIRROR} $DI_CODENAME local/debian-installer" \
|
|
|
|
>> $APTTMP/$CODENAME-$ARCH/apt/sources.list
|
|
|
|
fi
|
2002-10-10 12:56:48 +00:00
|
|
|
fi
|
1999-11-11 16:10:37 -01:00
|
|
|
fi
|
|
|
|
|
2000-03-14 03:02:29 -01:00
|
|
|
temp=$APTTMP/$CODENAME-$ARCH/temp.apt-selection
|
1999-11-11 16:10:37 -01:00
|
|
|
|
|
|
|
# Launch the command
|
2010-05-27 00:52:25 +00:00
|
|
|
if [ "$1" = "update" ] || [ "$1" = "check" ]; then
|
1999-11-11 16:10:37 -01:00
|
|
|
apt-get $options $@
|
|
|
|
exit $?
|
|
|
|
elif [ "$1" = "cache" ]; then
|
|
|
|
shift
|
|
|
|
apt-cache $options $@
|
|
|
|
exit $?
|
|
|
|
elif [ "$1" = "deselected" ]; then
|
|
|
|
shift
|
|
|
|
apt-get $options -s $@ > $temp
|
|
|
|
num=$?
|
|
|
|
#if [ $num -ne 0 ]; then
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
#echo ": Param: apt-selection deselected $@" >&2;
|
|
|
|
#exit $num;
|
1999-11-11 16:10:37 -01:00
|
|
|
#fi
|
2001-01-27 16:32:34 -01:00
|
|
|
perl -ne 'print "$1\n" if /^Remv (\S+).*/' $temp | sort
|
1999-11-11 16:10:37 -01:00
|
|
|
elif [ "$1" = "selected" ]; then
|
|
|
|
shift
|
|
|
|
apt-get $options -s $@ > $temp
|
|
|
|
num=$?
|
|
|
|
#if [ $num -ne 0 ]; then
|
|
|
|
# echo "ERROR: Param: apt-selection selected $@" >&2;
|
|
|
|
# exit $num;
|
|
|
|
#fi
|
2001-01-27 16:32:34 -01:00
|
|
|
perl -ne 'print "$1\n" if /^Inst (\S+).*/' $temp | sort
|
1999-11-11 16:10:37 -01:00
|
|
|
else
|
|
|
|
apt-get $options -s $@
|
|
|
|
exit $?
|
|
|
|
fi
|