Re: HELP with luatex diversions ...
On So, 29 Nov 2009, Norbert Preining wrote:
> Second try: do the same with added --rename
> Effect: dpkg-divert dies because a file /usr/bin/texdoc already exists?
> Huh??? Well, probably the one from texlive-base.
More details on that. I removed the set -e so that the rest continues,
the log of update from texlive-base 2007 + luatex 0.40.5 --> dist-upgrade
to luatex 0.46.0-2 (only locally present, contains the code with --rename):
-----
...
Unpacking replacement texlive-base ...
Replacing files in old package luatex ...
...
Preparing to replace luatex 0.40.6-1+b1 (using .../luatex_0.46.0-2_amd64.deb) ...
Removing `diversion of /usr/bin/texdoc to /usr/bin/texdoc.notluatex by luatex'
dpkg-divert: rename involves overwriting `/usr/bin/texdoc' with
different file `/usr/bin/texdoc.notluatex', not allowed
Removing `diversion of /usr/share/man/man1/texdoc.1.gz to /usr/share/man/man1/texdoc.notluatex.1.gz by luatex'
Unpacking replacement luatex ...
-----
Why on earth???
ls -l /usr/bin/texdoc* gives:
lrwxrwxrwx 1 root root 9 Nov 29 17:20 /usr/bin/texdoc -> texdoclua
lrwxrwxrwx 1 root root 48 Nov 29 17:21 /usr/bin/texdoc.notluatex -> ../share/texmf-texlive/scripts/texdoc/texdoc.tlu
and dpkg -S /usr/bin/texdoc:
diversion by luatex from: /usr/bin/texdoc
diversion by luatex to: /usr/bin/texdoc.notluatex
texlive-base: /usr/bin/texdoc
So it it seems that the following happened:
- dpkg unpacks new texlive-base
- dpkg diverts texdoc to texdoc.notluatex -> ../haer/texmf-texlvie....
(which is CORRECT)
- dpkg prepares to unpack luatex, calls preinst
- at this stage the /usr/bin/texdoc is still a link to texdoclua, so
removing the diversion and reinstating the old contents (which is the
new contents) does not work
But how can one circumvent that???
My idea was put it into the postinst ... but there we go:
-----
....
Unpacking replacement texlive-base ...
Replacing files in old package luatex ...
...
Removing `diversion of /usr/bin/texdoc to /usr/bin/texdoc.notluatex by luatex'
dpkg-divert: rename involves overwriting `/usr/bin/texdoc' with
different file `/usr/bin/texdoc.notluatex', not allowed
....
----
Bummer.
$ dpkg -S /usr/bin/texdoc
diversion by luatex from: /usr/bin/texdoc
diversion by luatex to: /usr/bin/texdoc.notluatex
texlive-base: /usr/bin/texdoc
$ ls -l /usr/bin/texdoc*
lrwxrwxrwx 1 root root 9 Nov 29 17:41 /usr/bin/texdoc -> texdoclua
lrwxrwxrwx 1 root root 48 Nov 29 17:42 /usr/bin/texdoc.notluatex -> ../share/texmf-texlive/scripts/texdoc/texdoc.tlu
So same problem. But in the second case I *really* do not understand
that problem?
Argggrummmpfffff
Giving up.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining Associate Professor
JAIST Japan Advanced Institute of Science and Technology preining@jaist.ac.jp
Vienna University of Technology preining@logic.at
Debian Developer (Debian TeX Task Force) preining@debian.org
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
ABERCRAVE (vb.)
To strongly desire to swing from the pole on the rear footplate of a
bus.
--- Douglas Adams, The Meaning of Liff
Reply to: