wiki:WikiStart

Version 10 (modified by admin, 9 years ago) (diff)

--

Welcome to the Son of Grid Engine project

This is a community project to continue the old Sun gridengine free software project, now that Oracle have taken it over, are not contributing their source, and may close down the Sunsource web site.

The idea is to encourage sharing, in the spirit of the original project and informed by long experience of free software projects and scientific computing support. Please contribute and share any ideas for improvement, especially ideas for encouraging contributions.

As long as it's there, you can look at the old gridengine site for extra documentation etc. Currently anything for the gridengine v6.2u5 release will apply to this effort. (The v6.2u5 wiki documentation isn't too easily findable from there.)

Note that this wiki isn't currently editable, but should be eventually.

Repositories/Source

There are several distinct source repositories converted from the last Sunsource CVS versions of the same name. The sge one actually only goes back to the V60 tag—i.e. not including version 5.3—and also has some re-buildable files removed, to keep it a bit more manageable. Note that only the trunk of repository trunk was converted.

These are currently just available under darcs, but are intended to be mirrored eventually, at least to Mercurial. Darcs is a nice distributed version control system, but doesn't currently scale so well with a repository of this size and age. It's fine for looking at the change history and recording new changes, but currently slow at producing diffs for previous changes, for instance.

To clone the sge repo, get a recent version of darcs—at least version 2 and preferably 2.4—and then run

darcs get --lazy --set-scripts-executable http://arc.liv.ac.uk/repos/darcs/sge

which will create a directory sge of the current source. The head of the source tree is actually available directly via the Repository URL links for each repository. If you really need to download the current source without darcs, this should do the trick:

wget -e robots=off -r -X /repos/darcs/sge/_darcs -np http://arc.liv.ac.uk/repos/darcs/sge 
find arc.liv.ac.uk/repos/darcs/ -name index.html\\?\* | xargs rm

You can get a tarball from the snapshot directory, but snapshots currently aren't made automatically, so it may not be so up-to-date.

The files omitted from those in the head of the sunsource sge repo are the following; any others missing are probably a mistake unless they're noted in the change history:

  • www top-level directory: Not really relevant for a distribution, although some of it can probably be converted into useful documentation for distribution later;
  • review top-level directory: Just a set of tick sheets for Sun internal use;
  • gep top-level directory: The portal, which may not actually be functional now, and is anyway based on a proprietary server;
  • HTML documentation: This is either rebuild-able (like Javadocs) and/or probably not useful outside the gridengine web site (like HTML-ized man pages).

Building

Building the source is currently rather a pain, which is something to improve urgently. With appropriate development packages installed—they need documenting—it should build on GNU/Linux with something like

cd source
./aimk -only-depend && scripts/zerodepend && ./aimk depend &&
./aimk -system-libs -no-gui-inst

Bug reporting, patches, and mail lists

There aren't currently any accessible mail lists associated with the project, but should be soon, and unfortunately you can't currently reply to any mail from the tracker, such as notifications of tickets. You can create an account to put tickets in the issue tracker, or use the tourist account with sge as the password. If you do use tourist, it may be useful to put a mail address in the report in case of queries. (It will eventually be possible to make bug reports by mail.)

The best way to send patches is to record them in your local darcs repository and use darcs send. Until arrangements are made for direct contributions, they will be pushed into the main repository by hand if they look reasonable. You could also just mail (see Contact) normal patches, maybe even against the 6.2u5 source, if you have any already, or attach them to a ticket.

If you record changes with darcs, make the patch name a useful short summary of the patch, and include the number of any ticket it fixes in the form fix #N, where N is the ticket number. If it also refers to an item N in the sunsource Issuezilla system, it's useful to include that also in the form IZN even though the imported tickets have that reference.

History

The original CVS repo is currently still available if you need more history, and has been mirrored in case it disappears, along with copies of items in the issue-tracker (‘Issuezilla’) and the material on the sunsource web site. The active issues have been transferred to the issue tracker here, but some have somewhat suffered in the process; I only discovered after the fact that they were accessible as an XML dump. If the Sunsource mailing list archive disappears, you can still use at least MarkMail and Gmane, but it would be good if we could stash a dump of the email history too somehow.

If you have copyright concerns about copying the Sunsource material, note the Sunsource terms. Material here has an explicit or implicit copyright under the same terms, i.e. code with no explicit terms is covered by a BSD licence, and other contributions have a permissive licence. Any explicit licence must be under a free software licence that is compatible with any material it modifies. The source code is obviously under the original SISSL licence except for some essentially ‘third party’ stuff like qmake.

There's another project, Open Grid Scheduler, which is also continuing work on gridengine but has different aims. Unlike this one, it doesn't use a distributed revision control system, and doesn't include repository history from before the gridengine v6.2u5 release, or the documentation. It would be better if there was only one, but I want those things missing from gridscheduler (and more, like a bug-tracker that doesn't involve creating accounts); I assume others will too, for ease of contributing.

The sge source here is currently basically a considerable superset of gridscheduler. It includes the changes from it, or close equivalents, plus some important fixes for persistent or immediate crashes in some circumstances and other less important ones, as well as documentation. It's currently more likely to be broken than gridscheduler, though.

Contact

In the current absence of mail lists, please send queries, contributions, &c to: Dave Love, d.love(SGE)@liverpool.ac.uk. In case our spam-blocking appears to defeat you, I'm also fx(SGE)@gnu.org. — Happy hacking