Hello, I was affected by this bug too, so I looked inside dokuwiki's package to find what could be wrong. According to the Debian changelog, one of adn's first changes when he became the maintainer was to put /usr/share/dokuwiki/.htaccess under ucf, to solve #414006.
Indeed, here is the debian/postinst related extract:
> if [ $1 = "configure" ]; then
> […]
> ucf /usr/share/dokuwiki/.htaccess /usr/share/dokuwiki/.htaccess
This /usr/share/dokuwiki/.htaccess is dh_installed from the source
package's .htaccess.dist, according to debian/install:
> .htaccess.dist /usr/share/dokuwiki/
and debian/rules:
> install: build
> […]
> dh_install
> […]
> mv $(DESTDIR)/usr/share/dokuwiki/.htaccess.dist
> $(DESTDIR)/usr/share/dokuwiki/.htaccess
To sum up, if I understand all this correctly, here is the detail of
that .htaccess.dist life over the package life:
1. Package building, install step:
1.1 dh_installed from .htaccess.dist to /usr/share/dokuwiki/;
1.2 renamed from .htaccess.dist to .htaccess.
2. Package installation:
2.1 unpacked to /usr/share/dokuwiki/.htaccess;
2.2 postinst: put under ucf.
3. Package upgrade:
3.1 unpacked to /usr/share/dokuwiki/.htaccess, overwriting the
previous version;
3.2 postinst: nothing, as it is not called with "configure".
So, I think the problem is that this .htaccess – and all its friends,
that are affected by this bug too, as I just checked it – is given its
definitive name before ucf is called. It is not a problem when
installing, but when upgrading or reinstalling, as they are overwritten
by the new files that are not given a temporary name.
I may suggest not to rename /usr/share/dokuwiki/.htaccess.dist, to
rename its friends /var/lib/dokuwiki/data/.htaccess and company by
adding them a .inst suffix, and to rewrite the ucf calls accordingly.
I shall test that and submit a patch in a few days.
Freely, librement,
--
_ ,
( \ /⋅> Tanguy Ortolo
) / |/
\_\_)_
signature.asc
Description: Digital signature

