This is a new project and the rules may change as time goes on and as contributors or users give their feedback. Please only submit packages after you have read this page in detail and are very clear about what is required. Further, make sure you know what you are doing. Your name will be connected with your contribution.
Check with me before you start thinking about contributing a package. You may be duplicating efforts of others. Also, when you do submit, please make sure you have also submitted the details I ask for below.
What levels of Solaris to support?
Any level you like for SPARC or x86 systems running Solaris 2.5-9 or SunOS 4.1.x on SPARC. I can accept both 32-bit or 64-bit compiles on those systems that support 64-bit. It has been suggested that we focus mostly on 32-bit compiles except when 64-bit is required for proper use or significantly improves performance.
What kind of packages to contribute?
Anything that is freeware and has source code. I would prefer that you contact me first before you even start on a packages so I can guide you on what will work. One of the best things to do is pick something I don't have already and offer to support a program and any upgrades. If I already offer a package, I probably do not want you to duplicated that so check my lists to make sure you are doing something I don't already have.
What directory should freeware be installed in?
For now I mainly want /usr/local (though there can be limited exeception). In the future this may change as various agreements with other freeware groups define /opt subdirectories for freeware packages. If there is some strong reason why you need things (like configuration files) to go into non-/usr/local directories or into so a subdirectory of /usr/local (as in /usr/local/apache for example), document that for end users to see.
What ownerships should be put on the files.
I typically have the ownerships bin:bin unless root or some other ids are required to run the programs. Apparently, for Solaris 9, it is more typical to use root:bin instead and I have just changed to this for Solaris 9. If you have to make the ownerships something different, document that.
What form should they take?
The packages need to be in a form that can be installed with pkgadd -d. See my Creating Packages link for what I do. There is a link to Sun's pages on package creation in that page also. The name of the packages should be of the form
softwarename-software version-solaris version-processor-directory
as in gcc-3.3-sol8-sparc-local, where we use sol25 for Solaris 2.5.x, sol26 for Solaris 2.6, sol7 for Solaris 7, sol8 for Solaris 8, and sol9 for Solaris 9. sparc or intel are used for the processor possibilites, and for now, local represents /usr/local (or a subdirectory of /usr/local). If the SPARC compiles were done for 64-bits, note that in your documentation to the user and to me and also use sparc64 in the package name. If the package includes both 32-bit and 64-bit executables, then say sparc3264.
Once the package is created, you should test that it installs with pkgadd -d correctly and then compress the file with gzip. If you use things like postinstall scripts, document what they do. Submit this file.
Within the package, you need to put documents in /usr/local/doc/softwarename, like /usr/local/doc/gcc. You can look at one of my packages to see the internal structure.
How should you submit packages?
You can send them to me via email if they are small enough or you can put them on a server where I can grab them. For now, I will not be allowing uploads to my servers, but this may change. You can also send packages to me on a CD. You also need to send the source code and any diffs you made.
What information should you send with the packages?
This can be provided in a file called README.sunfreeware sent to me and also put in the docs for the package.