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.
_______________________________________________
Devl mailing list
[email protected]
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to