Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Sep 2013 19:00:39 -0600
From:      Gary Aitken <freebsd@dreamchaser.org>
To:        freebsd-java@freebsd.org
Subject:   preserving user added libraries
Message-ID:  <5244D8B7.4060804@dreamchaser.org>

next in thread | raw e-mail | index | archive | help
Hi all,

I had an issue when reinstalling openjdk* where it removed the jar for mysql
db access.

Below is the conversation regarding this from ports:

On 09/26/13 14:20, Kimmo Paasiala wrote:
> On Thu, Sep 26, 2013 at 10:14 PM, Gary Aitken <freebsd@dreamchaser.org> wrote:
>> On 09/26/13 12:39, Kimmo Paasiala wrote:
>>> On Thu, Sep 26, 2013 at 9:25 PM, Scot Hetzel <swhetzel@gmail.com> wrote:
>>>> On Thu, Sep 26, 2013 at 11:35 AM, Gary Aitken <freebsd@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.
<snip>
> I was referring to untracked files that have not been installed via
> the ports system or packages. However, it seems impossible to convince
> software writers that /usr and /usr/local might be read-only at
> run-time :/
<snip>

I'm wondering if this has already been settled at the current state of 
affairs.  I'm open to some other way of installing add-ons, but I don't 
think one should have to track and re-install them with every upgrade.

Gary




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5244D8B7.4060804>