On Mon, 2012-12-31 at 18:40 +0100, gregor herrmann wrote:
> On Sun, 16 Dec 2012 15:35:37 +0100, Andreas Beckmann wrote:
> 
> > during an upgrade test with piuparts I noticed your package installs
> > files over an existing symlink, overwriting files from another package
> > in a way that is not detected by dpkg:
> > 
> > 0m44.0s INFO: dirname part contains a symlink:
> >   /etc/lazarus/environmentoptions.xml != 
> > /etc/lazarus-0.9.30.4/environmentoptions.xml (lcl-utils)
> >   /etc/lazarus/helpoptions.xml != /etc/lazarus-0.9.30.4/helpoptions.xml 
> > (lcl-utils)
> > 
> > Looks like /etc/lazarus was a symlink in squeeze and is a
> > directory in wheezy. Note that dpkg intentionally does not replace
> > directories with symlinks and vice versa.
> 
> I don't think it was a symlink in squezze after comparing the
> packages; my suspect at the moment is update-alternatives in
> debian/lcl-utils.postinst.in.
/etc/lazarus is a now an alternative of /etc/lazarus-${version}. The
user is asked to confirm whether post installation script should do the
migration or not. However, this choice is ignored somehow after. I've
prepared a patch for this.

> > This creates a serious mess with the conffiles in /etc ...
> > 
> > There are also some obsolete conffiles (could be false positives due to
> > this symlinkmess), look at dpkg-maintscript-helper for easy cleanup:
> > 
> >   OBSOLETE CONFFILE /etc/lazarus/helpoptions.xml REGISTERED BY lcl-utils 
> > (MODIFIED)
> >   OBSOLETE CONFFILE /etc/lazarus/environmentoptions.xml REGISTERED BY 
> > lcl-utils (MODIFIED)
> 
> They're modified in debian/rules ("fpcsubst ...") in
> etc/lazarus-0.9.30.4. So i guess the "obsolete" part comes from the
> symlink problem, but the modification might remain in any case.
When the user choose to not migrate, he should handle his conf files
manually. The script, with my new patch, will  no more touch them. Of
course user can always diff with /etc/lazarus-${version} to update his
configuration. But he should really now what he is doing as the conf
files changed radically and the xml is not easy to handle by mans

> > and there are files left on the system after purge:
> > 
> > 0m46.6s INFO: Warning: Package purging left files on system:
> >   /etc/lazarus.bak/  not owned
> >   /etc/lazarus.bak/environmentoptions.xml    not owned
> >   /etc/lazarus.bak/helpoptions.xml   not owned
> 
> Yup, debian/lcl-utils.postinst.in + debian/lcl-utils.templates.in.
These will be removed upon purge (patch already applied to fpc, but not
to Lazarus)

> > I didn't look at the maintainer scripts or the package to analyze what's
> > going on (or what was intended to happen).
> 
> I only came up with these rough ideas.
Thanks for your analysis,

> (Building the package is Not Really Funny™.)
:)

Cheers,

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to