Difference between revisions of "Releasing Contribs"
Line 48: | Line 48: | ||
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 ssh, rysnc, sftp or scp to upload to your contrib directory. | 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 ssh, rysnc, sftp or scp to upload to your contrib directory. | ||
+ | |||
+ | Before you start using your favorite transfer method you may wish to set up your ssh keys to authenticate against shell.contribs.org or simply ignore and your be request to type your password that was originally set up with your contrib area. | ||
+ | {{Note box| | ||
+ | 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... | ||
+ | |||
+ | - home dir must be 2750 (drwxr-s---) | ||
+ | |||
+ | - .ssh must be 0700 (drwx------) | ||
+ | |||
+ | - authorized_keys2 must be 0644 (-rw-r--r--) | ||
+ | }} | ||
+ | |||
+ | So for example we would change the permissions on our /tmp/test directory by typing... | ||
+ | |||
+ | chmod 2750 /tmp/test | ||
+ | |||
+ | Now if you haven't already create and change your permissions on the .ssh directory by typing... | ||
+ | |||
+ | mkdir /tmp/test/.ssh | ||
+ | chmod 0700 /tmp/test/.ssh | ||
+ | |||
+ | Create your ssh keys and copy the contents of your public key in to the authorized_keys2 and remember to change permissions by typing... | ||
+ | |||
+ | chmod 0644 /tmp/test/.ssh/authorized_keys2 | ||
+ | |||
+ | 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. | ||
===Using SSH=== | ===Using SSH=== | ||
Line 140: | Line 166: | ||
And thats it wait for mirrors to sync and sit back/relax. | 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {{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]]</noinclude> |
Revision as of 18:45, 25 October 2007
Releasing Contribs
Writing
The Developers Manual has 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 Dev repository, see below for how to obtain access.
SME Extras Repositories
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.
Submitting a contrib to the SME Server repository
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:
- Submit your contrib for Package Review in the SME Server Extras category of the Bugtracker. Be sure to add the following information:
- (a link to) the SPEC file
- (a link to) the source RPM (SRPM)
- SME Server code is stored in the CVS on 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:
- 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.
- After the development team has added you to the 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: F02: SSH Key Generation and Usage
- 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: B01: Recommended User Software Configuration (en) . The SME Server development team has decided on using Mezzanine (see next item).
- Install Mezzanine and read up on how to use it in the SME Server's Developers Guide - The SME Server development environment.
- Subscribe yourself to the 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 forums.
Having your contrib reviewed
The review process has not been outlined.
Uploading contrib(s) to contribs.org
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 ssh, rysnc, sftp or scp to upload to your contrib directory.
Before you start using your favorite transfer method you may wish to set up your ssh keys to authenticate against shell.contribs.org or simply ignore and your be request to type your password that was originally set up with your contrib area.
So for example we would change the permissions on our /tmp/test directory by typing...
chmod 2750 /tmp/test
Now if you haven't already create and change your permissions on the .ssh directory by typing...
mkdir /tmp/test/.ssh chmod 0700 /tmp/test/.ssh
Create your ssh keys and copy the contents of your public key in to the authorized_keys2 and remember to change permissions by typing...
chmod 0644 /tmp/test/.ssh/authorized_keys2
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.
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 nano newgrp passwd rm rmdir rsync scp sftp sed sort touch uniq 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.