1			     -*- text -*-
2
3		    Notes for autotrace developers
4
5* Autotools
6
7  Versions I (Masatake) am using:
8
9  autoconf --version
10  autoconf (GNU Autoconf) 2.53
11
12  automake --version
13  automake (GNU automake) 1.5
14
15  libtool --version
16  ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
17
18  However config.guess of 1.5 that is part of automake is broken,
19  therefore I'm replacing it with
20
21  ./config.guess --version
22  GNU config.guess (2002-07-23)
23
24  when releasing.
25
26* AM_PATH_PSTOEDIT
27
28AM_PATH_PSTOEDIT is m4 macro defined in pstoedit.m4.
29pstoedit.m4 will be in pstoedit-3.33. However, it is not
30released yet(Wed Sep 25 04:43:36 2002). You can get pstoedit.m4
31from http://autotrace.sourceforge.net/tools/.
32(You need pstoedit.m4 if you want to build autotrace from CVS sources.)
33
34* How to release
35
36  (0) Update NEWS file
37  (1) Check and/or set Version number in configure.in
38  (2) CVS tagging
39  (3) sourceforge(http://sourceforge.net/docman/display_doc.php?docid=781&group_id=1)
40
41* Shared library
42
43  We use libtool to manage our shared library, libautotrace.so.
44  First of all, read "Versioning" section of libtool info manual.
45  Especially "Libtool versioning" and "Updating library version
46  information" subsections are important.
47
48  I quote the most important blocks here:
49====================================
50	CURRENT
51	     The most recent interface number that this library
52	     implements.
53
54	REVISION
55	     The implementation number of the CURRENT interface.
56
57	AGE
58	     The difference between the newest and oldest interfaces
59	     that this library implements.  In other words, the
60	     library implements all the interface numbers in the range
61	     from number `CURRENT - AGE' to `CURRENT'.
62
63	   If two libraries have identical CURRENT and AGE numbers,
64	then the dynamic linker chooses the library with the greater
65	REVISION number.
66						--- Libtool versioning
67
68	  Here are a set of rules to help you update your library version
69	information:
70
71	  1. Start with version information of `0:0:0' for each libtool library.
72
73	  2. Update the version information only immediately before a public
74	     release of your software.  More frequent updates are unnecessary,
75	     and only guarantee that the current interface number gets larger
76	     faster.
77
78	  3. If the library source code has changed at all since the last
79	     update, then increment REVISION (`C:R:A' becomes `C:r+1:A').
80
81	  4. If any interfaces have been added, removed, or changed since the
82	     last update, increment CURRENT, and set REVISION to 0.
83
84	  5. If any interfaces have been added since the last public release,
85	     then increment AGE.
86
87	  6. If any interfaces have been removed since the last public release,
88	     then set AGE to 0.
89					---Updating library version information
90====================================
91
92* CVS
93
94See http://sourceforge.net/cvs/?group_id=11789
95
96The module name is autotrace.  After checking out the codes, invoke
97autogen.sh in the distribution. That generates configure.in,
98Makefile.in and so on. autogen.sh invokes automake, autoconf, aclocal
99and autofig.
100
101
102* Autofig
103
104Autofig generate autotrace-config.in from autotrace-config.af.
105You can get autofig from:
106
107http://autotrace.sourceforge.net/tools/
108
109You can get the LATEST version of autofig.
110http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=autofig
111
112* Library
113
114See README
115
116* Tag naming scheme
117
118CVS tag for version X.Y: RELEASE_X_Y.
119CVS tag for version X.YpreN: PRERELEASE_X_Y_N.
120Branch for version X.Y: TOWARD_version X.Y.
121
122If you need to put a tag after putting a tag, RELEASE_X_Y,
123for minor modification, POSTRELEASE_X_Y_N.
124
125* Tools for debugging output
126
127   eps: ghostscript, Illustrator, CorelDraw
128   sk:  sketch
129   emf: CorelDraw, Illustrator, StarOffice, OpenOffice
130        and Microsoft Office.
131   svg: sodipodi, CorelDraw, Illustrator, Adobe SVGViewer
132   ai: Illustrator, CorelDraw
133   pdf: ghostscript, xpdf, acrobat, Illustrator
134   fig: xfig
135   er: Elastic Reality
136   dxf: AutoCAD, VoloView
137   epd: pstoepd, txt2pdf, epd2svg
138   mif: FrameMaker
139   dr2d: visit http://uk.amigasoc.org/asearch and enter a search string of "DR2D".
140
141* Web page
142
143    From sourceforge.org:
144
145    5. Setup your group's web site.
146
147    I'll assume that you have some sort of web
148    page or site built already that you wish to put up on
149    SourceForge to give your group a public face.
150    Login to SourceForge using SSH, for example ;
151
152    ssh -l loginname yourproject.sourceforge.net
153
154    you will now be in your home directory. All
155    group files are stored in a directory structure for each
156    project. The group directory structure is
157    split out by the first, then first and second, letters of
158    the project name. From here all group files
159    are stored in /home/groups/y/yo/yourproject.
160    Change to this directory. All your web pages
161    are stored in the htdocs directory. Going in here will
162    contain index.php, which is a blank page that
163    says you haven't uploaded a web page yet.
164    Logout, and copy the files for your web page
165    using scp, a program which comes with ssh. For
166    example:
167
168    scp localfile loginname@yourproject.sourceforge.net:/home/groups/y/yo/yourproject/htdocs/
169
170    I suggest you gzip up your site, send it in
171    one go using scp, then login with ssh and gunzip it.
172
173    So what should be on the web page ? Perhaps
174    you'd like the following, as well as your project's
175    information ;
176
177    1.A link to the projects group page on SourceForge.
178    2.Mailing list links (we'll create them in a second)
179    3.A SourceForge icon and web counter - see the site documentation for this.
180    4.A link to the CVS web interface at
181
182    http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/?cvsroot=yourproject
183
184    5.Some info about using CVS specific to your project.
185    6.Setup mailing lists for your project.
186
187    If your project isn't that active yet (or only
188    has one lonely developer) your mailing lists will be
189    very quiet, however I still suggest you look
190    to the future and setup three standard lists for your
191    project: a devel list for developers, a users
192    list for users, and an announce list for new version
193    announcements.
194
195    Do this via your group page using the mailing
196    list admin link. Its quite simple so you shouldn't
197    have any problems...
198
199