Copyright 1995-2008 Jari Aalto
License: This material may be distributed only subject to the terms and conditions set forth in GNU General Public License v2 or later; or, at your option, distributed under the terms of GNU Free Documentation License version 1.2 or later (GNU FDL).
This paper documents the usage of development repository to a to a new project member who wishes to participate in development.
To make a new file releases, follow these steps. We suppose that the file where the complete release is named as tiny-tools-YYYY.MMDD.zip following the ISO 8601 date standard and the universal de facto file packaging standard PACKAGENAME-VERSION.VERSION[.VERSION]*
#TODO: change to Savannah instructions
New page opens:
RETURN by pressing button "Summary" at the beginning of page.
You need SSH and Git installed.
To develop under Windows, install Cygwin http://www.cygwin.com/ => See link at the right hand corner and download setup.exe.
#TODO: change to Savannah instructions
At project server, web sites are located under /home/groups Project FTP Sites are located in /home/groups/ftp/pub/p/pr/ROJECT-NAME
/home/users : User Based Quota 2MB Soft 4MB Hard /home/groups : Group Based Quota 100MB Soft 125MB Hard |
#TODO: change to Savannah instructions
Visit the project main page <project website>/PROJECT-NAME (make sure you have logged in) and select from the left hand list project admin. You arrive to the new page, Scroll to the bottom to "Tool Admin" and go to DocManagerAdmin and fill in the project documentation. BEFORE anything else, you must define a document group like General.
For Unix, get SSH from <http://www.openssh.org/>. OpenSSH is already include in the Win32/Cygwin.
Using SSH is not the most straight forward thing, especially with all the protocol version numbers involved. You can easily go wrong or wonder why things are not working. Here are some basic instructions for OpenSSH, which is different form all other ssh version out there. Cygwin includes OpenSSH.
$ ssh -V # display ssh version |
Generate two keys, the SSH1 key first:
$ ssh-keygen # Proceed as the command suggests |
Then the SSH2 key:
$ ssh-keygen -f ~/.ssh/id_dsa -t dsa |
Configure SSH by editing ~/.ssh/config, the protocol line is very important.
Host * Protocol 1,2 UsePrivilegedPort no Compression yes CompressionLevel 9 KeepAlive yes RhostsAuthentication yes RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication yes FallBackToRsh yes ForwardX11 yes ForwardAgent yes |
For Windows, you're set. But if this is Unix, you need to set file and directory permission to correct values as well. SSH is very picky and won't work correctly if it thinks that the permissions are too loose.
$ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/identity* ~/.ssh/config ~/.ssh/id_dsa* |
Final thing, to connect a remote site, you have to CARRY the key there. The keys that you will copy to remote site are the SSH1 and SSH2 keys you just generated. The files are:
From (A) site Copy to (B) site ~/.ssh/identity.pub ~/.ssh/known_hosts ~/.ssh/id_dsa.pub ~/.ssh/id_dsa_A_site.pub |
Again, remember to set chmod 600 permission in remote (B) site. Now you should be all set to be ready to connect to remote site. One final thing, always run all programs under agent, which remembers and passes forward your keys (ssh1 and aah2):
$ ssh-add ~/.ssh/identity ~/.ssh/id_dsa |
After that you can connect to remote site without password, because agent makes the hand shake for your with your keys. Run verbose mode on to pinpoint any troubles with the connection:
$ ssh -l LOGIN shell.<project site> |
If that works, you can expect that the CVS works without password under ssh-agent for your project (REMEMBER: you have to send the ~/.ssh/identity.pub through WWW-user-admin page, described earlier in this document for CVS to work)
Under bin/admin.bashrc there is administrative file that automates project tasks. Follow the instruction in the file.
First, become a debian developer by reading this document http://www.debian.org/doc/developers-reference/index.en.html
The initial debian package skeleton was generated with following manner
<download the latest release> $ mv tiny-NNNN.NNNN emacs-tiny-tools-NNNN.NNNN $ cd emacs-tiny-tools-NNNN.NNNN $ export DEBFULLNAME="Firstname Surname" $ dh_make --single --email EMAIL --copyright gpl |
This file has been automatically generated from plain text file
with
Last updated: 2008-08-09 18:00