Hi Steve, thanks for the answer.
On Tue, 25 Mar 2014, Steve Langasek wrote: > I think your root cause analysis is wrong. If you want help understanding > why your dist-upgrade didn't work, you should show the output of the actual > apt command. Which is very very long, unfortunately. > What you're showing here is a snapshot at some point in the middle of an > upgrade, when texlive-common has been removed (because the package no longer > exists, and the new texlive-base conflicts with it) and texlive-base has not > yet been upgraded. It's legitimate to do this during an upgrade; in fact, > normally the very next step is for apt to unpack the new version of > texlive-base which had declared the Conflicts: with texlive-common. But > something else stopped apt before it got that far. Yes indeed, a trigger action was called for tex-common, that called a program that is in texlive-base but needs files from texlive-common. In the trigger program we already check that texlive base is in proper state (ii in dpkg listing), but that seems not to be enough. > For the record, the removal of texlive-common without the deconfiguring of > texlive-base is because apt will pass --force-depends to dpkg. It does this Ok, but that means that in some cases where triggers are involved, checks for the proper functionality cannot be done by checking on the status of a package. Is this right? > itself in a catch-22 on dist-upgrades. So apt deliberately lets the > dependencies be broken, with the expectation that it can fix them up again > afterwards. But in the meantime triggers are called that might mess up the whole, right? To repeat: in TeX Live 2012: perl modules are in texlive-common updmap script is in texlive-base tex-common trigger on package installs calls updmap when fonts are installed, before doing this, it checks whether texlive-base is fully installed and configured (ii). in TeX Live 2013 perl modules and updmap are in texlive-base tex-common does the same the code in tex-common is: # dpkg-query has two defects wrt not existing packages # - it is noisy to stderr # - it returns 1 # so shut both errors up stat=$(dpkg-query -W -f='${Status}' context 2>/dev/null || true) case "$stat" in "install ok installed") do_it=1 ;; *) do_it=0 ;; esac As a consequence I have added Breaks: texlive-base (<< current-version) to *all* texlive packages. Doing this upgrade now succeeds. Is there anything else that can be done? Norbert ------------------------------------------------------------------------ PREINING, Norbert http://www.preining.info JAIST, Japan TeX Live & Debian Developer GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13 ------------------------------------------------------------------------ -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140326064355.gs31...@auth.logic.tuwien.ac.at