On 18-03-2012 21:57, Matthew Toseland wrote:
> On Friday 16 Mar 2012 20:38:46 Marco Schulze wrote:
>> On 16-03-2012 15:13, Matthew Toseland wrote:
>>> Updating its own binaries is incompatible with the standard unix way
>>> of doing things, isn't it? Even if it's not technically a violation of
>>> FHS?
>> I'd just like to point out that this is not the case at all, specially
>> because flexibility is a major characteristic in this Unix Way of Doing
>> Stuff. Where it might be problematic, if at all, is on the package
>> management level:
>>
>> - The ugly custom installer would have to be replaced by a
>> distribution-specific package;
>> - Some distributions have special rules regarding Java packages. You'd
>> have to check those;
>>
>> You _can_ conform to the FHS without any change by being installed under
>> /opt. This will make fred accessible system-wide, so you might want to
>> check if it's ok to let multiple users delve inside the Freenet
>> directory tree. However, AFAIR, install scripts can do almost anything,
>> including creating a fred-specific user and group, and allowing
>> freenet{,-ext}.jar to be updated by that user without root privileges.
>>
>> The new directory layout might look like this:
>>
>> /etc: freenet.ini.
>> /usr/bin: shell scripts to launch and update freenet.
> This is the wrong place for a global daemon. Is apache in /usr/bin? Freenet
> does not, and should not, run once per user with globally shared binaries.
> And if it did, **it wouldn't be able to update them**, for security reasons -
> you can't have multiple users running the same binary and all having write
> access to it!
>
>> /usr/lib: native libraries.
>> /usr/lib/fred: jars. This might be dependent on the distribution.
> See above.
That's mainly a permission problem, but yes, /usr/bin is wrong.
>> /srv/fred: default download location (if system-wide daemon, ~/Downloads
>> otherwise).
>> /var/cache/fred: datastore and other miscellaneous persistent files.
>> /var/cache/fred/plugins: plugins directory trees.
>> /var/log: logs.
>> /var/log/old/fred: compressed old logs (do you really need those?).
> Yes, in many cases. Although mainly it's because with higher log levels (or
> when unlucky), logs tend to get very big if they are not rotated and
> compressed regularly.
>> Plus, distribution specific scripts to control the daemon (run.sh-ish).
> IMHO Freenet itself (the GUI installer jar) should install to the installing
> user's home directory. Freenet should provide whatever is reasonably needed
> for packages, but it's not really "our" (fred's) problem.