Difference between revisions of "Releasing Contribs"

From SME Server
Jump to navigationJump to search
m (Reverted edits by RequestedDeletion (talk) to last revision by Unnilennium)
 
(45 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
{{Languages|:Releasing_Contribs}}
 
==Releasing Contribs==
 
==Releasing Contribs==
  
 
===Writing===
 
===Writing===
The [http://mirror.contribs.org/smeserver/contribs/gordonr/devguide/html/devguide.html#STEP-BY-STEP-INSTRUCTIONS Developers Manual] has information required to write a contrib for SME Server
+
The [http://mirror.contribs.org/smeserver/contribs/gordonr/devguide/html/devguide.html#STEP-BY-STEP-INSTRUCTIONS Developers Manual] and page [[:Web Application RPM]] have information required to write a contrib for SME Server
  
 
===Releasing===
 
===Releasing===
 
For consistency between contribs it's suggested that you follow these guidelines
 
For consistency between contribs it's suggested that you follow these guidelines
  
1. Announce your new rpm on the Contribs forum, make the subject similar to below
+
* Announce your new rpm on the [http://forums.contribs.org forum], make the subject similar to below
 
[ANNOUNCE] rpm name
 
[ANNOUNCE] rpm name
  
2. Submit a bug to the Bug Tracker, for SME Contribs, asking for a new component to be added with your rpm name. Include links to download your rpm including your src rpm. Include a short description, perhaps the description from the spec file
+
* Submit a bug to the [http://bugs.contribs.org 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 Dev repository, see below for how to obtain access.
+
* Your contrib should preferably be in the SME Contribs repository.
  
{{Note box|If your contrib is not in SME Dev or has no category in the SME Server Bugtracker please do so.}}
+
===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.
  
===SME Extras Repositories===
+
To get your package in the SME Contribs repository follow the instructions at [[:Package Modification]].
The SME Extras repository will contain RPMs that have been through a review process, RPMs in the SME Extras repository will be able to be installed directly from the Software Installer panel in the server-manager. Currently the SME Extras repository does not hold any contribs, but this will change in the future.  
 
  
{{Note box|The process for having your contrib included in SME Extras is currently being outlined and developed and therefore is far from complete.}}
+
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.
===Sumitting a contrib to the SME Server repository===
+
Moving the resulting rpm from smebuild or smetest to smecontribs is the responsibility of the person who built the package.
To get your package in the SME Extras repository it has to go through a review process. The first steps to get your contrib in the SME Extras repository are:
 
  
1. [http://bugs.contribs.org/enter_bug.cgi?product=SME%20Server%20Extras&component=Package%20Review Submit your contrib for Package Review] in the SME Server Extras category of the Bugtracker. Be sure to add the following information:
+
===SME Addon Repositories===
* (a link to) the SPEC file
+
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.  
* (a link to) the source RPM (SRPM)
 
 
 
2. SME Server code is stored in the CVS on [http://www.sourceforge.net SourceForge]. To be able to work on your code in the SME Server CVS repository you need an account on SourceForge. With this account the development team can give you access to the CVS repository. More information can be found here:
 
*  [http://sourceforge.net/docman/display_doc.php?docid=11123&group_id=1 B04: Registering a User Account]
 
*  [http://sourceforge.net/docman/display_doc.php?docid=29894&group_id=1 E04: CVS (Version Control for Source Code)]
 
  
3. After you have created your SourceForge account you can ask the development team to give you developer access. Create a bug in the Bug Tracker as usual.
+
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.
  
4. After the development team has added you to the [http://sourceforge.net/project/memberlist.php?group_id=96750 list of developers] you can create a SSH key which is necessary to get access to the SME Server CVS, more on this can be found here: [http://sourceforge.net/docs/F02/en/#top F02: SSH Key Generation and Usage]
+
===Uploading contribs to contribs.org===
  
5. After you have received developer access you will have to download and configure your CVS client to work with the SME Server CVS. More information can be found here: [http://sourceforge.net/docman/display_doc.php?docid=14026&group_id=1 B01: Recommended User Software Configuration (en) ]. The SME Server development team has decided on using [[Mezzanine]] (see next item).
+
'''If you have created a contrib and wish to share with everyone then the best method is to add it to SME Contribs.'''
  
6. Install [[Mezzanine]] and read up on how to use it in the [http://mirror.contribs.org/smeserver/contribs/gordonr/devguide/html/c1577.htm SME Server's Developers Guide - The SME Server development environment].
+
Alternatively you can upload to your mirror.contribs.org/smeserver/contribs directory. To do so you can use ssh, rysnc, sftp or scp to upload to your contrib directory.
  
7. Subscribe yourself to the [http://lists.contribs.org/mailman/listinfo/devinfo devinfo mailinglist]. This is the place to discuss the developement of the server and contribs. If you have other questions, not regarding development please use the [http://forums.contribs.org forums].
+
It is recommend that you setup public key access for your account. The following articles may be of help to you:
 +
* [http://www.puddingonline.com/~dave/publications/SSH-with-Keys-HOWTO/document/html/SSH-with-Keys-HOWTO.html SSH with Keys HOWTO]
  
===Having your contrib reviewed===
 
{{Incomplete}}
 
The review process has not been outlined.
 
  
==Uploading contrib(s) to contribs.org==
+
====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:
  
If you have created a contrib and wish to share with everyone then you can upload to your mirror.contribs.org/smeserver/contribs directory. To do so you can use scp, sftp or rsync to upload to your contrib directory.
+
ssh username@shell.contribs.org
  
 +
You will then see either ssh authenticated key login:
 +
 +
[localuser@localhost ~]$ ssh username@shell.contribs.org
 +
Enter passphrase for key '/home/username/.ssh/id_rsa':
 +
Last login: Tue Oct 23 15:09:50 2007 from xxx.xxx.xxx.xxx
 +
[username@shell ~]$
 +
 +
or if using a shell password:
 +
 +
[localuser@localhost ~]$ ssh username@shell.contribs.org
 +
username@shell.contribs.org's password:
 +
Last login: Tue Oct 23 15:09:50 2007 from xxx.xxx.xxx.xxx
 +
[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:
 +
 +
passwd
 +
 +
Now upload your contribs and share with everyone ;)
 +
 +
====Using RSYNC====
 
Make sure you have a working copy of your contrib directory, for example to use rsync we will grab a copy by typing...
 
Make sure you have a working copy of your contrib directory, for example to use rsync we will grab a copy by typing...
  
Line 59: Line 79:
 
And that's it now wait for mirrors to sync and have a beer.
 
And that's it now wait for mirrors to sync and have a beer.
  
If you want you can set up your contrib directory so that you can use ssh keys, if you do use ssh keys then you will need to make sure the you have the following permissions set correctly...
+
====Using SFTP====
 +
 
 +
Log in using...
 +
 
 +
sftp username@shell.contribs.org
 +
 
 +
Now you will be at the...
 +
 
 +
sftp>
 +
 
 +
Now you can create your directory ready for uploading contribs...
 +
 
 +
sftp> mkdir smecontribs
 +
sftp>
 +
 
 +
Then upload your local copy of your new completed contrib to your contrib directory by typing...
 +
 
 +
sftp> cd smecontribs
 +
sftp>
 +
 
 +
Show we are in the right directory where we want the contrib to show...
 +
 
 +
sftp> pwd
 +
Remote working directory: /home/byte/smecontribs
 +
sftp>
 +
 
 +
Make sure we have our local server directory set correctly by typing...
  
- home dir must be 2750 (drwxr-s---)
+
sftp> lls
 +
anaconda-ks.cfg  Desktop  install.log  install.log.syslog
 +
sftp>
  
- .ssh must be 0700 (drwx------)
+
Above show's we are not so to move in to our local working directory type...
  
- authorized_keys2 must be 0644 (-rw-r--r--)
+
sftp> lcd /tmp/sftptest
 +
sftp> lls
 +
smeserver-contrib-1.rpm  smeserver-contrib.rpm
 +
sftp>
  
So for example we would change the permissions on our /tmp/test directory by typing...
+
We are ready to upload our 2 new contribs by typing...
  
   chmod 2750 /tmp/test
+
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
 +
sftp>
  
Now if you haven't already create and change your permissions on the .ssh directory by typing...
+
And thats it wait for mirrors to sync and sit back/relax.
  
mkdir /tmp/test/.ssh
+
====Using SCP====
chmod 0700 /tmp/test/.ssh
+
You can send files by using scp:
  
Create your ssh keys and copy the contents of your public key in to the authorized_keys2 and remember to change permissions by typing...
+
[local@localhost contribs]$ scp  username@shell.contribs.org:~username/smeservercontribs/RPMS
 +
Enter passphrase for key '/home/username/.ssh/id_rsa':
 +
smeserver-contrib                                100%  103    0.1KB/s  00:00
 +
[local@localhost contribs]$
  
chmod 0644 /tmp/test/.ssh/authorized_keys2
+
Sit back and wait for mirrors to sync.
  
Now you are ready to rsync your new .ssh keys to your contribs directory using your current password, once you have done the final rsync to upload your .ssh keys from now on you can log in using your ssh passphrase.  
+
{{Note box|The scp command only copies files or directories, it does not easily allow you to list your files on the shell.contribs.org host, or delete, copy or rename them. To do any of these interactively, you need to login via ssh.}}
  
<noinclude>[[Category:Howto]]</noinclude>
+
<noinclude>[[Category:Howto]][[Category:Developer]]</noinclude>

Latest revision as of 05:04, 11 February 2017


Releasing Contribs

Writing

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

Releasing

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 contribs.org

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 mirror.contribs.org/smeserver/contribs 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:

ssh username@shell.contribs.org

You will then see either ssh authenticated key login:

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

or if using a shell password:

[localuser@localhost ~]$ ssh username@shell.contribs.org
username@shell.contribs.org's password:
Last login: Tue Oct 23 15:09:50 2007 from xxx.xxx.xxx.xxx
[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:

passwd

Now upload your contribs and share with everyone ;)

Using RSYNC

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 username@shell.contribs.org:~username/ /tmp/test/

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

rsync -avP --delete /tmp/test/ username@shell.contribs.org:~username/

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

Using SFTP

Log in using...

sftp username@shell.contribs.org

Now you will be at the...

sftp>

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

sftp> mkdir smecontribs
sftp>

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

sftp> cd smecontribs
sftp>

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

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

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

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

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
sftp>

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
sftp>

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  username@shell.contribs.org:~username/smeservercontribs/RPMS
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 shell.contribs.org host, or delete, copy or rename them. To do any of these interactively, you need to login via ssh.