portmaster -- preserving added files?
Gary Aitken
freebsd at dreamchaser.org
Thu Sep 26 19:24:24 UTC 2013
On 09/26/13 12:39, Kimmo Paasiala wrote:
> On Thu, Sep 26, 2013 at 9:25 PM, Scot Hetzel <swhetzel at gmail.com> wrote:
>> On Thu, Sep 26, 2013 at 11:35 AM, Gary Aitken <freebsd at dreamchaser.org> wrote:
>>> Is portmaster supposed to retain files which it did not install when updating /
>>> reinstalling a port?
>>>
>>> For example, jave extensions are normally installed by placing a jar file in
>>> /usr/local/openjdk6/jre/lib/ext/
>>>
>>> When reinstalling, these are wiped out.
<snip>
>> The problem is not with portmaster, as it runs the pkg or pkg_install
>> commands to remove the port. If you have files that are missing after
>> uninstalling a port, then you'll need to check what that port is
>> doing. Most likely the port has a @dirrm instead of an @dirrmtry for
>> that directory in it's pkg-plist file.
>>
>> I had a look at the java/openjdk6/Makefile, and it creates the list of
>> directories to remove with @dirrm instead of @dirrmtry. So it looks
>> like the issue is with java/openjdk6 removing that directory.
<snip>
> It's a larger problem with no clear solution. What the programs that
> install additional files after the initial installation should do is
> to use /var/db/xyz for the additional files so that they are contained
> in a separate directory alltogether.
<snip>
That presumes all additional files are installed via the ports mechanism,
or at least know about it, which is highly unlikely. With plugins of
various types and machine-independent binaries like java .class files
abounding, requiring every add-on to be installed by the ports mechanism
isn't likely to work in the long run.
I can see how a program installed by the ports mechanism should use the
mechanism you're advocating, but I don't think it applies to all cases.
In this case, it was a mysql driver, obtained as a binary (.jar of
java .class files). But things like gimp plugins have the same issue.
Gary
More information about the freebsd-ports
mailing list