Table of Contents

1.0 Tiny Tools Project Introduction
2.0 Development environment setup information

1.0 Tiny Tools Project Introduction

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).

1.1 Audience

This paper documents the usage of development repository to a to a new project member who wishes to participate in development.

1.2 Making releases

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.

1.4 Downloading sources for editing

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.

1.5 Project web page locations

#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    

1.6 Project documentation

#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.


2.0 Development environment setup information

2.1 Setting up OpenSSH

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)

2.2 Bash admin utilities

Under bin/admin.bashrc there is administrative file that automates project tasks. Follow the instruction in the file.

2.3 Making Debian packages

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