dpkg: config file `foo' is a circular link
the third thread I start or continue today. Should go home instead.
On a not-yet uploaded package, when upgrading from the version in sid, I
get these error messages:
Setting up tetex-base (3.0-0.4) ...
dpkg: tetex-base: warning - config file `/etc/texmf/platex/language.dat' is a circular link
dpkg: tetex-base: warning - config file `/etc/texmf/platex/hyphen.cfg' is a circular link
dpkg: tetex-base: warning - config file `/etc/texmf/cyrplain/cyrtex.cfg' is a circular link
Installing new version of config file /etc/texmf/latex/texsys.cfg ...
I have no idea how this could come, and google isn't helpful, either.
When I install from purged state, everything is as it should, it happens
only upon upgrade. The old version of the package has only ordinary
$ ll /etc/texmf/platex/
-rw-r--r-- 1 root root 4447 2003-01-30 12:10 hyphen.cfg
-rw-r--r-- 1 root root 2113 2003-01-30 12:10 language.dat
-rw-r--r-- 1 root root 81 2001-06-05 20:18 platex.ini
The same ist still true at the end of preinst, where I put a
ls -l /etc/texmf/platex >&2 || true
And the deb of the new version also contains only ordinary files:
# ar x /var/cache/apt/archives/tetex-base_3.0-0.4_all.deb
# tar -xzf data.tar.gz
# ls -l etc/texmf/platex/
-rw-r--r-- 1 root root 4447 Dec 21 01:52 hyphen.cfg
-rw-r--r-- 1 root root 2113 Dec 21 01:52 language.dat
When I try to debug this by using dpkg --debug=22, I get lots of useless
(?) information, plus a segfault when it tries to run maintainer
scripts (once in the old package's postrm, once in the new packages
preinst, I don't see a pattern yet).
The debugging output contains:
D000020: process_archive conffile `/etc/texmf/platex/language.dat' package=tetex-base same hash=8e3525fe40ae72bb08f673b3
D000020: process_archive conffile `/etc/texmf/platex/hyphen.cfg' package=tetex-base same hash=1199fd3dbe752e8eedaca7a5a6
D000020: process_archive conffile `/etc/texmf/cyrplain/cyrtex.cfg' package=tetex-base same hash=843bd70324caf63d72269dd3
D000020: conffderef in=`etc/texmf/platex/language.dat' result=`/etc/texmf/platex/language.dat'
D000020: tarobject fnnf_new_conff deref=`etc/texmf/platex/language.dat'
D000020: conffderef in=`etc/texmf/platex/hyphen.cfg' result=`/etc/texmf/platex/hyphen.cfg'
D000020: tarobject fnnf_new_conff deref=`etc/texmf/platex/hyphen.cfg'
D000020: conffderef in=`etc/texmf/cyrplain/cyrtex.cfg' result=`/etc/texmf/cyrplain/cyrtex.cfg'
D000020: tarobject fnnf_new_conff deref=`etc/texmf/cyrplain/cyrtex.cfg'
This does not look different from the preceding or following files, but
note that the three files are processed one after the other, nothing in
The segfault then is:
D000002: fork/exec /var/lib/dpkg/info/tetex-base.postrm (dpkg: error processing /var/cache/apt/archives/tetex-base_3.0-0
dpkg: warning - old post-removal script killed by signal (Segmentation fault)
D000002: fork/exec /var/lib/dpkg/info/tetex-base.preinst (dpkg: error while cleaning up:
subprocess pre-installation script killed by signal (Segmentation fault)
But I don't believe that this is the real problem. /bin/sh generally
runs fine here, and those scripts contain a "set -x" as their first
It's not the first time I get a segfault when trying to use dpkg's debug
options (and there are bug reports about that). But that doesn't help me
in finding out what is wrong in my package
Inst. f. Biochemie der Univ. Zürich