1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/bin/sh
set -e
. /lib/chroot-setup.sh
packages=$@
queue=/var/lib/apt-install/queue
# If we don't have a working mirror yet, only queue the package;
# it will be installed later by the postinst in base-installer
if [ ! -e /target/etc/apt/sources.list ]; then
# Add to list of extra packages to be installed into /target/.
mkdir -p /var/lib/apt-install
touch $queue
for pkg in $packages; do
if ! grep -q "^$pkg$" $queue; then
logger -t apt-install "Queueing package $pkg for later installation"
echo "$pkg" >> $queue
fi
done
exit 1 # Return error as the package is not ready to be used yet.
fi
REMOUNT_CD=""
if [ -e /var/lib/install-cd.id ] && \
grep -q " /cdrom " /proc/mounts; then
REMOUNT_CD=1
log-output -t apt-install umount /cdrom || true
fi
ERRCODE=0
in-target sh -c "debconf-apt-progress --no-progress --logstderr -- apt-get -o APT::Install-Recommends=false -q -y --no-remove install $packages" || ERRCODE=$?
if [ "$REMOUNT_CD" ]; then
load-install-cd "/target" || true
fi
if [ "$ERRCODE" != 0 ]; then
exit 1
else
exit 0
fi
|