/
usr
/
lib
/
dpkg
/
methods
/
apt
/
/usr/lib/dpkg/methods/apt
mkdir
upload
Name
Size
Mode
Actions
desc.apt
567
0644
edit
dl
rm
install
2861
0755
edit
dl
rm
names
39
0644
edit
dl
rm
setup
7728
0755
edit
dl
rm
update
1242
0755
edit
dl
rm
Edit:
/usr/lib/dpkg/methods/apt/install
(2861B)
#!/bin/bash # Set the textdomain for the translations using $"..." TEXTDOMAIN="apt" # Get the configuration from /etc/apt/apt.conf CLEAN="prompt" OPTS="" DSELECT_UPGRADE_OPTS="-f" APTGET="/usr/bin/apt-get" DPKG="/usr/bin/dpkg" DPKG_OPTS="--admindir=$1" APT_OPT0="-oDir::State::status=$1/status" APT_OPT1="-oDPkg::Options::=$DPKG_OPTS" set -e RES=$(apt-config shell CLEAN DSelect::Clean OPTS DSelect::Options \ DPKG Dir::Bin::dpkg/f APTGET Dir::Bin::apt-get/f \ ARCHIVES Dir::Cache::Archives/d \ WAIT DSelect::WaitAfterDownload/b \ CHECKDIR DSelect::CheckDir/b) eval $RES set +e # Yes/No Prompter yesno() { # $1 = prompt # $2 = default(y) local ans def defp if [ "$2" ];then case $2 in Y|y) defp="[Y/n]" def=y;; N|n) defp="[y/N]" def=n;; *) echo $"Bad default setting!" 1>&2; exit 1;; esac else defp="[y/N]" def=n fi while :;do echo -n "$1 $defp " 1>&3 read ans case $ans in Y|y|N|n) break;; "") ans=$def;break;; esac echo done echo $ans | tr YN yn } if [ "$WAIT" = "true" ]; then $APTGET $DSELECT_UPGRADE_OPTS $OPTS "$APT_OPT0" "$APT_OPT1" -d dselect-upgrade echo $"Press [Enter] to continue." && read RES $APTGET $DSELECT_UPGRADE_OPTS $OPTS "$APT_OPT0" "$APT_OPT1" dselect-upgrade RES=$? else $APTGET $DSELECT_UPGRADE_OPTS $OPTS "$APT_OPT0" "$APT_OPT1" dselect-upgrade RES=$? fi # 1 means the user choose no at the prompt if [ $RES -eq 1 ]; then exit 0 fi # Finished OK if [ $RES -eq 0 ]; then if [ $(ls $ARCHIVES $ARCHIVES/partial | grep -E -v "^lock$|^partial$" | wc -l) \ -eq 0 ]; then exit 0 fi NEWLS=$(ls -ld $ARCHIVES) if [ "$CHECKDIR" = "true" ]; then if [ "$OLDLS" = "$NEWLS" ]; then exit 0 fi fi # Check the cleaning mode case $(echo $CLEAN | tr '[:upper:]' '[:lower:]') in auto) $APTGET "$APT_OPT0" "$APT_OPT1" autoclean && echo $"Press [Enter] to continue." && read RES && exit 0; ;; always) $APTGET "$APT_OPT0" "$APT_OPT1" clean && echo $"Press [Enter] to continue." && read RES && exit 0; ;; prompt) exec 3>&1 echo -n $"Do you want to erase any previously downloaded .deb files?" if [ $(yesno "" y) = y ]; then $APTGET "$APT_OPT0" "$APT_OPT1" clean && echo $"Press [Enter] to continue." && read RES && exit 0; fi ;; *) ;; esac else echo $"Some errors occurred while unpacking. Packages that were installed" echo $"will be configured. This may result in duplicate errors" echo $"or errors caused by missing dependencies. This is OK, only the errors" echo $"above this message are important. Please fix them and run [I]nstall again" echo $"Press [Enter] to continue." read RES && $DPKG "$DPKG_OPTS" --configure -a exit 100 fi exit $?
Save
cmd:
run