Forum OpenACS Q&A: Re: Easier to install

Collapse
10: Re: Easier to install (response to 1)
Posted by Lamar Owen on
One needs to carefully watch the redistribution license for daemontools.  Essentially, it cannot be distributed as a binary in an LSB-compatible form.  Quoting DJB's FAQ:
"May we distribute binaries?
You may distribute a precompiled package if

    * installing your package produces exactly the same files, in exactly the same locations, that a user would obtain by installing one of my packages listed above;
    * your package behaves correctly, i.e., the same way as normal installations of my package on all other systems; and
    * your package's creator warrants that he has made a good-faith attempt to ensure that your package behaves correctly.

All installations must work the same way; any variation is a bug. If there's something about a system (compiler, libraries, kernel, hardware, whatever) that changes the behavior of my package, then that platform is not supported, and you are not permitted to distribute binaries for it."

This borders on the ludicrous, since he INSISTS on a TOP LEVEL directory under /!

An RPM that meets LSB cannot be distributed, since the LSB will never allow /service to exist; meaning Red Hat etc will not distribute daemontools or virtually any other DJB tool. And DJB insists it MUST use HIS correct layout or you cannot distribute binaries, period.  This is unacceptable to the various Linux distributors; and if a distributor is violating this DJB will try to shut it down, I'm sure.

I say that wearing my "PostgreSQL RPM maintainer" hat, so it's not like I've never built an RPM before (been doing it five years, in fact...)

The relevant standard (proposed; FHS 2.2 is current) is available online at http://www.pathname.com/fhs/pub/fhs-2.3.html

Collapse
11: Re: Easier to install (response to 10)
Posted by Nick Carroll on
Maybe we should look into a replacement for daemontools?  I did a quick search, and found "runit".

http://www.freshports.org/sysutils/runit/
http://freshmeat.net/projects/runit/?branch_id=29713&release_id=173665

"runit is a daemontools alike replacement for SysV-init and other init schemes. It currently runs on GNU/Linux, OpenBSD, FreeBSD, Mac OS X, and Solaris, and can easily be adapted to other Unix operating systems. runit implements a simple three-stage concept. Stage 1 performs the system's one-time initialization tasks. Stage 2 starts the system's uptime services (via the runsvdir program). Stage 3 handles the tasks necessary to shutdown and halt or reboot."

I will look into how to use runit, and provide documentation on this.

I also have a strong preference for using Postfix for the MTA.  Again we don't need to use qmail, therefore removing OpenACS dependencies on DJB software and the "unworkable licences" that come attached.

Collapse
12: Re: Easier to install (response to 11)
Posted by Nick Carroll on
runit is also packaged as an RPM and debian package.
Collapse
13: Re: Easier to install (response to 12)
Posted by Bart Teeuwisse on

Nick,

sure Daemontools is not LSB compliant but that doesn't prevent the creation and distribution of Daemontools in RPM format.

DJB's requirement that a binary distribution results in the same installation as installation from source is entirely in line with the goals of the RPM format.

Not being LSB compliant might exclude Daemontools from distributions like Fedora, SuSe and others. But with 3rd party repositories becoming main stream thanks to 'yum' and 'apt' there is an attractive alternative.

OpenACS sets up and maintains a repository of binary distributions of all the software required by OpenACS not already included in the OS distributions OpenACS supports. All users would have to do is register the OpenACS repository to use 'yum' or 'apt' to retrieve OpenACS and the packages it depends upon.

I'm not too keen on switching from Daemontools to Runit, which in essence is a clone of Daemontools. It might have more open license but it doesn't address any of the other objects you've raised. Daemontools has proven its worth and has received community support in the form of patches.

You'll find a RPM of Daemontools for Fedora 2 at the Code Mill if you would like to give it a whirl.

/Bart
the Code Mill