Control: clone -1 -2 Control: reassign -1 dpkg 1.18.7 Control: retitle -1 dpkg-maintscript-helper dir_to_symlink: infinite dpkg-query loop Control: retitle -2 apt upgrade: empty list of unmet dependencies Control: tags -2 + moreinfo (mail relatively lightly trimmed for the benefit of dpkg, see below) On Tue, May 31, 2016 at 03:11:45PM +0800, 積丹尼 Dan Jacobson wrote: > # apt-get upgrade > Reading package lists... Done > Building dependency tree > Reading state information... Done > You might want to run 'apt-get -f install' to correct these. > The following packages have unmet dependencies: > E: Unmet dependencies. Try using -f. > > What "following packages"? BUG! OK I'll use -f? /var/lib/dpkg/status (or as you seem to have changed your system since then one of the /var/backups/dpkg.status* reflecting the state of the system at this moment in time) or it didn't happen as it is impossible to know what is up otherwise. (Add here my usual rambling of dpkg.status files including info about what packages and in which version they are installed, which you might consider private in which case you can sent it just to me if you want) [Beware if you answer: The apt portion of this report has a new bugnr!] > # # apt-get -f upgrade [… many packages …] > 92 upgraded, 0 newly installed, 0 to remove and 21 not upgraded. > 1 not fully installed or removed. > Need to get 11.4 MB/94.0 MB of archives. > After this operation, 506 kB disk space will be freed. > Do you want to continue? [Y/n] Note that the solution displayed here is a lie. You have fix-missing enabled by default and this mode says it will do all kinds of things but only after the display, it lists packages it can't deal with, resulting potentially in an entirely different solution (well, "just" less packages being upgraded than it claimed to do). I worked on that very recently and changed the code to do the action-potential check before the display, but that isn't uploaded yet (git commit eb1f04dd). > Err:1 http://free.nchc.org.tw/debian unstable/main i386 apache2 i386 2.4.20-2 > Temporary failure resolving 'free.nchc.org.tw' > Err:2 http://free.nchc.org.tw/debian unstable/main i386 apache2-bin i386 2.4.20-2 > Temporary failure resolving 'free.nchc.org.tw' > > (This is expected, as I am not connected to the network.) Use --fix-missing --no-download in such cases. I would strongly advice against setting --fix-missing by default through. The intend of this mode is really not to be set permanently. > Preparing to unpack .../imagemagick_8%3a6.9.2.10+dfsg-2_all.deb ... > dpkg-query: no packages found matching imagemagick:all > dpkg-query: package 'imagemagick' is not installed > Use dpkg --info (= dpkg-deb --info) to examine archive files, > and dpkg --contents (= dpkg-deb --contents) to list their contents. > dpkg-query: package 'imagemagick' is not installed > Use dpkg --info (= dpkg-deb --info) to examine archive files, > and dpkg --contents (= dpkg-deb --contents) to list their contents. > dpkg-query: package 'imagemagick' is not installed > Use dpkg --info (= dpkg-deb --info) to examine archive files, > and dpkg --contents (= dpkg-deb --contents) to list their contents. > dpkg-query: package 'imagemagick' is not installed > Use dpkg --info (= dpkg-deb --info) to examine archive files, > and dpkg --contents (= dpkg-deb --contents) to list their contents. > dpkg-query: package 'imagemagick' is not installed > Use dpkg --info (= dpkg-deb --info) to examine archive files, > and dpkg --contents (= dpkg-deb --contents) to list their contents. > dpkg-query: package 'imagemagick' is not installed > > Upon which I must use ^Z to stop the terrible infinite loop. > > pstree -al shows: > > ├─dpkg --status-fd 23 --unpack --auto-deconfigure > /var/cache/apt/archives/imagemagick_8%3a6.9.2.10+dfsg-2_all.deb > /var/cache/apt/archives/imagemagick-6.q16_8%3a6.9.2.10+dfsg-2+b1_i386.deb > /var/cache/apt/archives/info_6.1.0.dfsg.1-8_i386.deb > /var/cache/apt/archives/libapr1_1.5.2-4_i386.deb > /var/cache/apt/archives/libatk-bridge2.0-0_2.20.1-2_i386.deb > /var/cache/apt/archives/libatk-wrapper-java_0.33.3-7_all.deb > /var/cache/apt/archives/libgtk-3-common_3.20.5-4_all.deb > /var/cache/apt/archives/libgtk-3-0_3.20.5-4_i386.deb > /var/cache/apt/archives/libatk-wrapper-java-jni_0.33.3-7_i386.deb > /var/cache/apt/archives/libcamel-1.2-57_3.20.2-2_i386.deb > /var/cache/apt/archives/libcupsfilters1_1.8.3-2+b2_i386.deb /va > ... > │ └─preinst /var/lib/dpkg/tmp.ci/preinst upgrade 8:6.8.9.9-7+b1 8:6.9.2.10+dfsg-2 > │ └─dpkg-maintscrip /usr/bin/dpkg-maintscript-helper dir_to_symlink /usr/share/doc/imagemagick /usr/share/doc/imagemagick-6-common 8:6.9.2.10+dfsg-2~ -- upgrade 8:6.8.9.9-7+b1 8:6.9.2.10+dfsg-2 > │ └─xargs -0 -n1 sh -c \012\011\011package="$1"\012\011\011file="$2"\012\011\011if ! dpkg-query -L "$package" | grep -F -q -x "$file"; then\012\011\011\011exit 1\012\011\011fi\012\011\011exit 0\012\011 check-files-ownership imagemagick:all > │ └─sh -c \012\011\011package="$1"\012\011\011file="$2"\012\011\011if ! dpkg-query -L "$package" | grep -F -q -x "$file"; then\012\011\011\011exit 1\012\011\011fi\012\011\011exit 0\012\011 check-files-ownership imagemagick:all /usr/share/doc/imagemagick/www/api/MagickCore/utility-private_8h_source.html > │ ├─dpkg-query -L imagemagick:all > │ └─grep -F -q -x /usr/share/doc/imagemagick/www/api/MagickCore/utility-private_8h_source.html Well, that looks like a maintainerscript running amok as apt doesn't call dpkg-query. As that loop seems to be produced by dpkg-maintscript-helper itself, reassigning to dpkg (and keeping a clone), but perhaps its also imagemagick calling it wrong as imagemagick is only newly 'all', it used to be 'any'… Best regards David Kalnischkies
Attachment:
signature.asc
Description: PGP signature