Chapter 2. A Brief Overview of the Development Procedure

This chapter takes you through a brief guided tour of the Ankur Development System. It will also be a brief tutorial of the usage of certain key parts of the development infrastructure (like CVS, etc).

Everything at Ankur is a collaborative process, with the volunteers communicating through the respective mailing lists. All volunteers keep the mailing list regularly updated regarding the work they are doing. Also, mailing lists are the places for asking questions and clearing doubts. If you take up something, please, before doing anything else, post an announcement at the concerned mailing list.

All major project related decisions are made via general consensus, and/or by voting. Of course, certain decisions are taken in a “benevolent dictatorial” manner by the project coordinator, but, usually, such decisions are few and far between.

Write access to services such as CVS, shell server, etc are given by the administrators. If you need write access to any such service, please post a request to , stating valid reasons.

Software releases are made via the release manager, if you need to release something at the Project file area, please get in touch with the release manager at .

CVS is often regarded as an extremely hairy and geeky tool, and even seasoned GNU/Linux campaigners often avoid it. So, naturally, first of all, this chapter deals with CVS. This section begins with a quick and dirty crash course on working with CVS, and, later, you will find a short but detailed description of CVS.

I will be specific to the sourceforge CVS from now on, but all this should hold with appropriate changes to any other CVS tree.

A cvs repository typically contains several `modules'. You can check out one or more modules, but not part of a module. Currently Ankur has the following modules:

A module needs to be checked out only once (and if your hard drive crashes or you otherwise need to delete your locally checked out copy, you can always check it out again later).

When you check out a module, it will create a directory locally. You can place this directory anywhere, but it's probably a good idea to collect all the Ankur modules together. So, start up a shell and create a directory where you will keep the modules.

$ cd ~

$ mkdir Ankur-cvs

$ cd Ankur-cvs

You are now all set to check out a module. Connect to the internet, and issue the following commands to checkout the imbeng module:

$ export CVS_RSH=ssh

$ cvs -z3 co imbeng

If you are doing this for the first time, you will probably see a message like

to which you should say yes. It should then ask for your password (possibly after a warning):

Enter your sourceforge password here. If you are authenticated, the imbeng module should be downloaded to your hard drive:

You can now browse and edit any of these files.

deepayan 17:50:53 $ pwd
deepayan 17:50:59 $ ls -lR
total 4
drwxr-xr-x    3 deepayan deepayan     4096 May  5 16:07 imbeng
total 776
-rw-r--r--    1 deepayan deepayan       83 May  5 16:07 AUTHORS
-rw-r--r--    1 deepayan deepayan    17992 Jan 30 03:15 COPYING
drwxr-xr-x    2 deepayan deepayan     4096 May  5 16:09 CVS
-rw-r--r--    1 deepayan deepayan        0 Jan 30 03:15 ChangeLog
-rw-r--r--    1 deepayan deepayan     9236 Jan 30 03:15 INSTALL
-rw-r--r--    1 deepayan deepayan      232 Jan 30 03:15
-rw-r--r--    1 deepayan deepayan    13867 Jan 30 03:15 
-rw-r--r--    1 deepayan deepayan        0 Jan 30 03:15 NEWS
-rw-r--r--    1 deepayan deepayan       85 Jan 30 03:15 README
-rw-r--r--    1 deepayan deepayan   148585 Jan 30 03:15 aclocal.m4
-rwxr-xr-x    1 deepayan deepayan    38504 Jan 30 03:15 config.guess
-rw-r--r--    1 deepayan deepayan     1522 Jan 30 03:15
-rwxr-xr-x    1 deepayan deepayan    28224 Jan 30 03:15 config.sub
-rwxr-xr-x    1 deepayan deepayan   281745 Jan 30 03:20 configure
-rw-r--r--    1 deepayan deepayan      599 Jan 30 03:20
-rwxr-xr-x    1 deepayan deepayan    12123 Jan 30 03:15 depcomp
-rw-r--r--    1 deepayan deepayan    15947 Jan 31 06:12 imbeng.c
-rw-r--r--    1 deepayan deepayan     2440 Jan 30 03:15 imbeng.h
-rwxr-xr-x    1 deepayan deepayan     5569 Jan 30 03:15 install-sh
-rw-r--r--    1 deepayan deepayan   141392 Jan 30 03:15
-rwxr-xr-x    1 deepayan deepayan    10270 Jan 30 03:15 missing
-rwxr-xr-x    1 deepayan deepayan     1801 Jan 30 03:15 mkinstalldirs
total 12
-rw-r--r--    1 deepayan deepayan      951 May  5 16:09 Entries
-rw-r--r--    1 deepayan deepayan        7 May  5 16:03 Repository
-rw-r--r--    1 deepayan deepayan       54 May  5 16:03 Root

OK, so now that you have a copy of the CVS tree in your local machine, what should you do next ? The most useful things to do are

You could also do things like

which should be about all a regular user needs to do. Details on each of these things follow: