Releasing Contribs

From SME Server
Jump to navigationJump to search

Releasing Contribs


The Developers Manual and page Web Application RPM have information required to write a contrib for SME Server


For consistency between contribs it's suggested that you follow these guidelines

  • Announce your new rpm on the forum, make the subject similar to below

[ANNOUNCE] rpm name

  • Submit a bug to the bugtracker, for SME Contribs, asking for a new component to be added with your rpm name. Include links to download your rpm including your source RPM. Include a short description, perhaps the description from the spec file.
  • Your contrib should preferably be in the SME Contribs repository.

SME Contribs Repositories

The SME Contribs repository contain RPMs that stored on the sourceforge smecontribs repository and have passed some level of verification from senior SME developers for their initial importation.

To get your package in the SME Contribs repository follow the instructions at Package Modification.

After initial verification for importation, bug fix and verification is the sole responsibility of the contributor or the person who step in to fix the bug and or built the package. He may ask help from somebody with the appropriate configuration, hardware to assist him doing so if he feels himself unable to test it. Moving the resulting rpm from smebuild or smetest to smecontribs is the responsibility of the person who built the package.

SME Addon Repositories

The SME Addon repository will contain RPMs that have been through a review process, RPMs in the SME Addon repository will be able to be installed directly from the Software Installer panel in the server-manager. Currently the SME Addon repository does not hold any contribs, but this will change in the future.

The process for having your contrib included in SME Addon is currently being outlined and developed and therefore is far from complete. It begins by adding your rpm to SME Contribs.

Uploading contribs to

If you have created a contrib and wish to share with everyone then the best method is to add it to SME Contribs.

Alternatively you can upload to your directory. To do so you can use ssh, rysnc, sftp or scp to upload to your contrib directory.

It is recommend that you setup public key access for your account. The following articles may be of help to you:

Using SSH

You can log in using a shell account with limited access, to do this you can either use your password or set up ssh (see note about permissions of ssh keys) keys:


You will then see either ssh authenticated key login:

[localuser@localhost ~]$ ssh
Enter passphrase for key '/home/username/.ssh/id_rsa': 
Last login: Tue Oct 23 15:09:50 2007 from
[username@shell ~]$

or if using a shell password:

[localuser@localhost ~]$ ssh's password:
Last login: Tue Oct 23 15:09:50 2007 from
[username@shell ~]$

There is limited shell access as mentioned and the available commands are:

cat bash cat chgrp chmod chown clear cp dircolors echo egrep find grep hostname id less ln ls mkdir
more mv newgrp passwd rm rmdir rsync scp sftp sed sort touch uniq vi xargs

You can also change your password within your shell account by typing:


Now upload your contribs and share with everyone ;)


Make sure you have a working copy of your contrib directory, for example to use rsync we will grab a copy by typing...

rsync -avP /tmp/test/

Now make your /tmp/test directory looks like what you wish to see on your directory, if you wish to remove a contrib from your directory you can do so by typing the following...

rsync -avP --delete /tmp/test/

And that's it now wait for mirrors to sync and have a beer.

Using SFTP

Log in using...


Now you will be at the...


Now you can create your directory ready for uploading contribs...

sftp> mkdir smecontribs

Then upload your local copy of your new completed contrib to your contrib directory by typing...

sftp> cd smecontribs

Show we are in the right directory where we want the contrib to show...

sftp> pwd
Remote working directory: /home/byte/smecontribs

Make sure we have our local server directory set correctly by typing...

sftp> lls
anaconda-ks.cfg  Desktop  install.log  install.log.syslog

Above show's we are not so to move in to our local working directory type...

sftp> lcd /tmp/sftptest
sftp> lls
smeserver-contrib-1.rpm  smeserver-contrib.rpm

We are ready to upload our 2 new contribs by typing...

sftp> put smeserver-*
Uploading smeserver-contrib-1.rpm to /home/username/smecontribs/smeserver-contrib-1.rpm
smeserver-contrib-1.rpm                       100%    0     0.0KB/s   00:00
Uploading smeserver-contrib.rpm to /home/username/smecontribs/smeserver-contrib.rpm
smeserver-contrib.rpm                         100%    0     0.0KB/s   00:00

And thats it wait for mirrors to sync and sit back/relax.

Using SCP

You can send files by using scp:

[local@localhost contribs]$ scp
Enter passphrase for key '/home/username/.ssh/id_rsa':
smeserver-contrib                                100%  103     0.1KB/s   00:00
[local@localhost contribs]$

Sit back and wait for mirrors to sync.

Important.png Note:
The scp command only copies files or directories, it does not easily allow you to list your files on the host, or delete, copy or rename them. To do any of these interactively, you need to login via ssh.