Subject: Re: CONF_FILES and disappearing directories
To: Julio M. Merino Vidal <jmmv@menta.net>
From: Eric Haszlakiewicz <erh@jodi.nimenees.com>
List: tech-pkg
Date: 04/24/2004 20:33:01
On Sat, Apr 24, 2004 at 10:17:18AM +0200, Julio M. Merino Vidal wrote:
> Eric Haszlakiewicz wrote:
> >that first drew my attention was that pkg_delete was complaining that
> >it couldn't remove the conf directory. However, when I went and looked to
> >see what was still in there, I found that the directory actually _had_
> >been removed. Searching through the ktrace output, I discovered that
> >pkg_delete was removing it twice, and complaining when the second rmdir
> >failed. I suppose that's one bug: it shouldn't complain, or at least
> >complain
> >differently, when the directory is already gone.
> > Looking further, I tracked the double rmdir down to whether or not
> >CONF_FILES was set. It seems that something goes and removes any
> >directories
> >that are empty in the path leading to the config files. Is it supposed
> >to do that? There's no mention of that behavior in bsd.pkg.install.mk.
>
> Which package shows this behavior? Files registered with CONF_FILES
> should be handled only by the install script, not the PLIST. So it may
> be that the package giving you errors is simply broken (because it
> registers them from both places, thus giving the errors you see).
The package is a new jakarta tomcat package that I'm creating.
I am not getting errors on the conf files, but with the _directories_
that they reside in.
Example: CONF_FILES has:
"${PREFIX}/tomcat4/conf/foo.default ${PREFIX}/tomcat4/conf/foo"
The PLIST contains lines that say:
...
tomcat4/conf/foo.default
...
@dirrm tomcat4/conf
...
@dirrm tomcat4
Is the presence of the @dirrm lines wrong, or is the CONF_FILES code
doing the wrong thing by deleting the directory before the @dirrm runs?
eric