]> git.saurik.com Git - apt.git/blob - dselect/update
Bug 87390
[apt.git] / dselect / update
1 #!/bin/sh
2 set -e
3
4 # Get the configuration from /etc/apt/apt.conf
5 OPTS="-f"
6 APTGET="/usr/bin/apt-get"
7 APTCACHE="/usr/bin/apt-cache"
8 DPKG="/usr/bin/dpkg"
9 DPKG_OPTS="--admindir=$1"
10 APT_OPT0="-oDir::State::status=$1/status"
11 APT_OPT1="-oDPkg::Options::=$DPKG_OPTS"
12 CACHEDIR="/var/cache/apt"
13 PROMPT="false"
14 RES=`apt-config shell OPTS DSelect::UpdateOptions \
15 DPKG Dir::Bin::dpkg/f APTGET Dir::Bin::apt-get/f \
16 APTCACHE Dir::Bin::apt-cache/f CACHEDIR Dir::Cache/d \
17 PROMPT DSelect::PromptAfterUpdate/b`
18 eval $RES
19
20 # It looks slightly ugly to have a double / in the dpkg output
21 CACHEDIR=`echo $CACHEDIR | sed -e "s|/$||"`
22
23 set +e
24 FAILED=0
25 $APTGET $OPTS "$APT_OPT0" "$APT_OPT1" update || FAILED=1
26 set -e
27
28 echo "Merging Available information"
29 rm -f $CACHEDIR/available
30 $APTCACHE dumpavail > $CACHEDIR/available
31 $DPKG "$DPKG_OPTS" --update-avail $CACHEDIR/available
32 rm -f $CACHEDIR/available
33
34 if [ x$PROMPT = "xtrue" ]; then
35 echo "Press enter to continue." && read RES;
36 fi
37
38 exit $FAILED