[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#291545: tetex-bin: initex fails to generate some etmf files



Margarita Manterola <debian@marga.com.ar> schrieb:

> Hola Frank Küster!
>
>> To find out what happened, please do the following, and send us the
>> output:
>> 
>> grep texmf.cnf /var/lib/ucf/hashfile
> 2150a9c617c9c8f221dcb152bd9f34d2  /etc/texmf/texmf.cnf
>
>> md5sum /etc/texmf/texmf.cnf
> bde0d80810778ec19464ef7ad0004b35  /etc/texmf/texmf.cnf

The md5sum registered with ucf and the actual md5sum differ. This shows
that the file has been changed directly (instead of using the preferred
way, namely to edit or add files in /etc/texmf/texmf.d/.

>> If it asks you about changes made, you can look at the diff, but for
>> debugging purposes, you should choose not to accept the maintainer
>> changes, as suggested, but keep your installed version. After this do
>> again:
>
> It asked nothing.  I don't know if that's good or bad.

That is good - it is what is expected, since there were no changes to
the files in texmf.d since the last run in postinst. ucf remembers that
"you" wanted the file to be different from what is generated from this
particular combination of files in texmf.d. It will only ask and
eventually change things if the files in texmf.d change.

>> grep trie_size /etc/texmf/texmf.cnf
> % `ssup_trie_opcode' and `ssup_trie_size' in tex.ch (and rebuild TeX);
> trie_size = 64000

Still too low, this is consistent.

>> grep texmf.cnf /var/lib/ucf/hashfile
> 2150a9c617c9c8f221dcb152bd9f34d2  /etc/texmf/texmf.cnf
>
>> md5sum /etc/texmf/texmf.cnf
> bde0d80810778ec19464ef7ad0004b35  /etc/texmf/texmf.cnf

Nothing changed - this is consistent, too.

>> If after the call to update-texmf the trie_size in texmf.cnf is still
>> not 262000, please go on like this:
>> 
>> Open /etc/texmf/texmf.d/95NonPatch.cnf in an editor and change an
>> arbitrary comment. 
>
> Ok, I assume the file is 95NonPath.cnf.  This is interesting, look:
> marga@fobos:~$ ls /etc/texmf/texmf.d/
> 05TeXMF.cnf               55Fonts.cnf           85Misc.cnf.dpkg-old
> 05TeXMF.cnf.dpkg-old      65BibTeX.cnf          90TeXDoc.cnf
> 15Plain.cnf               75DviPS.cnf           95NonPath.cnf
> 45TeXinputs.cnf           75DviPS.cnf.dpkg-old  95NonPath.cnf.dpkg-old
> 45TeXinputs.cnf.dpkg-old  85Misc.cnf
>
> So, at some point these files where changed and I assume I chose "install
> the new maintainer version", but the .dpkg-old files are still there.

Yes, this is usually done when dpkg has to ask - either the dpkg-old files
(your old versions that differed from the old package versions), or the
dpkg-new files (the new ones from the package, when you chose to keep
your old ones that differed from the old package's files) stay around.

> And then:
>
> marga@fobos:~$ grep "trie_size " /etc/texmf/texmf.d/95NonPath.cnf
> trie_size = 262000
>
> marga@fobos:~$ grep "trie_size " /etc/texmf/texmf.d/95NonPath.cnf.dpkg-old 
> trie_size = 64000
>
> So, for some reason it's using the old one instead of the new one.  I'll
> keep going with your instructions, anyway.

I suspect the following: You (or some buggy package) had made changes to
some of the files in texmf.d. When the upgrade came, the first thing was
that dpkg asked whether to take the new ones, or the old ones which were
changed from the old packages's versions. You told it to install the new
ones (and dpkg left the dpkg-old files around, for reference). After
that, texmf.cnf was created newly from the updated files in texmf.d. It
could be that for some reason you chose here to keep the old version of
texmf.cnf (reflecting the old state of the files in texmf.d, with local
changes). 

>> For example, go to the line before the trie_size setting and write
>> something like % this must be at least 262000
>> 
>> After this, run "update-texmf -d" again. Now it should really display a
>> dialog: It should tell you that there are changes that need to merged,
>> and offers you to show the differences. Please look at the differences.
>
> The differences are quite a lot.  I don't really get it, it didn't tell me
> anything before, and now it has an awful lot of differences, when I just
> changed one line.

Quite magic, not? Actually the differences were always there, but
update-texmf (through the ucf utility) "knew" that you wanted it that
way. Now there is a third version: First the one you kept (registered by
update-texmf as "wanted"), second the one that update-texmf always tried
to generate previously (registered as "unwanted"), and third the one
update-texmf tried to generate this time (not registered).

The latter two only differ in the added comment, but update-texmf
doesn't know about "many differences" or "small differences". It just
noticed that there was a third version that it didn't know about yet,
and now it starts asking; and what it shows are the differences between
the old used version (previously "wanted") and the newly generated one
(unregistered). 

> Ok, I'm attaching the diff file.  I hope you can find a solution to the
> mistery.

Yes, this tells me that I was right. I do not know for sure to which
version the dpkg-old files actually belong, but from the comments
update-texmf put in texmf.cnf (or rather, didn't put) it seems to me as
if the texmf.cnf you were using was the one that was generated for
tetex-bin_1.0.7 in woody.

I cannot be 100% sure that there was no other package that messed around
with texmf.cnf. But there is no indication of anything package-specific,
any additions, or the like. Therefore I really think that the reason for
the problems is what I described above: When upgrading from woody to
sarge, you answered "Install Maintainers' version" to dpkg's question
about the files in texmf.d; but later on you answered "no" when
update-texmf asked nearly the same question again, with the dialog
interface.

So, in order to fix your system, do the following:

- make an arbitrary comment change in 95NonPath.cnf (e.g. remove the
  line you just added, or whatever)

- run update-texmf, and this time agree to "install the package
  maintainer's version".

After this, you should be able to run "dpkg --configure -a" or
"dpkg-reconfigure tetex-bin" without problems. If this is true, I'm
happy again, please don't forget to tell us.

Hasta luego, Frank
-- 
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer



Reply to: