wiki:UnixProjectPackage

Version 3 (modified by Eric Myers, 9 years ago) (diff)

How do we do monospace on this wiki?; See Also

Unix project package layout

The purpose of this page is to describe what is needed to create a Unix package to install the BOINC software needed to create and run a BOINC project. The primary idea is to make it easy for anyone who is interested in doing so to install the package, run some initializations scripts, and thus easily create a working BOINC project.

This will necessarily involve sorting through all the items listed on the ProjectMain page, and the steps described in the ServerIntro page, to see what can be automated, and what still needs to be done by the project admin "by hand"

A BOINC project must be hosted on a Unix computer, but any Unix/Linux? distribution should be supported. It will be useful to have different Linux distros use the same packaging principles and file locations to the extent that this is possible. Files and directories should be placed in accordance with the guiding principles of the Filesystem Hierarchy Standard, which may be found at http://www.pathname.com/fhs/pub/fhs-2.3.html.

Keep in mind that it is a requirement of rpm packages (and probably Debian as well?) that packages install without any user input or dialogue. The package only installs the software. It is then up to the user who creates the project to run make_project (or a script which wraps it?) to set up the project.

Existing Packages

Project Directory

Keep in mind that we want to allow for the possibility of more than one project being hosted on the same server.

The package should probably create a "boincadm" user and group. Then there is a "projects" directory under the home directory of that user. Then make_project simply creates the new project under that, as is the default.

Project Initiation

Is it sufficient to run make_project from "boincadm", or is there anything else required first?

Template Files

What files need to be provided, as templates which the project admin can then edit for their purpose (or which can be initially edited by an installation script)?

  • Web server configuration file
  • config.xml
  • cron task to run start --cron script
  • Log rotation config file?

See Also