Comment 8 for bug 1236951

Revision history for this message
Jan Groenewald (jan-aims) wrote :

The error seems to be udpmap-sys is not found:

0 root@waseem-desktop:/tmp#more updmap.K5mR0Nsi
warning: kpathsea: configuration file texmf.cnf not found in these directories: /usr/share/texmf/web2c:/usr/share/texmf-texlive/web2c:/usr/local/share/tex
mf/web2c.
warning: kpathsea: configuration file texmf.cnf not found in these directories: /usr/share/texmf/web2c:/usr/share/texmf-texlive/web2c:/usr/local/share/tex
mf/web2c.
/usr/bin/updmap: 1096: .: Can't open /usr/share/tex-common/debianize-updmap
===================================================================================
0 root@waseem-desktop:~#locate debianize-updmap
/usr/share/tex-common/debianize-updmap
root@waseem-desktop:~#ls -l /usr/share/tex-common/
total 4
-rw-r--r-- 1 root root 283 Jun 15 2013 mktex.cnf
0 root@waseem-desktop:~#

====================================================================================

On precise, pre-upgrade, this file belonged to texlive-binaries, not tex-common:
0 root@muizenberg:/usr/bin#dpkg -S /usr/bin/updmap
texlive-binaries: /usr/bin/updmap
0 root@muizenberg:/usr/bin#dpkg -S /usr/bin/updmap-sys
texlive-binaries: /usr/bin/updmap-sys
0 root@muizenberg:/usr/bin#

On a trusty, post upgrade, this file belongs to texlive-base, not tex-common:
0 jan@hilaire-desktop:~$dpkg -S /usr/bin/updmap
texlive-base: /usr/bin/updmap

Possibly the file is missing during the upgrade as texlive-binaries has just been removed in the upgrade.

=================================================================================

From tex-common postinst:

This looks OK
            if which updmap-sys >/dev/null; then
                    # we also have to check that texlive-base is installed
                    # and configured, otherwise we cannot be sure that
                    # all necessary basic files are present
                    #
                    # 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}' texlive-base 2>/dev/null || true)
                    case "$stat" in
                        "install ok installed")
                            do_it=1
                            ;;
                        *)
                            do_it=0
                            ;;
                    esac
                    if [ "$do_it" = 0 ] ; then
                        echo "texlive-base is not ready, delaying updmap-sys call" >&2
                    else
but is maybe failing??? Perhaps the OLD texlive-base without updmap-sys is still installed OK, but the OLD texlive-binaries containing updmap-sys is already removed??? Though I would have thought the earlier conditional "if which updmap-sys" would have exited already if updmap-sys was already removed.

On a related note: This does not look OK, is it checking for texlive-base or for context?? Does this stanza perhaps also trigger updmap?

run_mtxrun_if_possible()
{
    # code from postinst-tex
    if dhit_libkpathsea_configured; then
        if which mtxrun >/dev/null; then
            # we also have to check that texlive-base is installed
            # and configured, otherwise we cannot be sure that
            # all necessary basic files are present
            #
            # 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
            if [ "$do_it" = 1 ] ; then
                tempfile=$(mktemp -p /tmp mtxrun.XXXXXXXX)