Just regenerating to get fresh version in place of very dated versions.
[privoxy.git] / doc / webserver / developer-manual / newrelease.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Releasing a New Version</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8 "><LINK
9 REL="HOME"
10 TITLE="Privoxy Developer Manual"
11 HREF="index.html"><LINK
12 REL="PREVIOUS"
13 TITLE="Testing Guidelines"
14 HREF="testing.html"><LINK
15 REL="NEXT"
16 TITLE="Update the Webserver"
17 HREF="webserver-update.html"><LINK
18 REL="STYLESHEET"
19 TYPE="text/css"
20 HREF="../p_doc.css"></HEAD
21 ><BODY
22 CLASS="SECT1"
23 BGCOLOR="#EEEEEE"
24 TEXT="#000000"
25 LINK="#0000FF"
26 VLINK="#840084"
27 ALINK="#0000FF"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 SUMMARY="Header navigation table"
32 WIDTH="100%"
33 BORDER="0"
34 CELLPADDING="0"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="3"
39 ALIGN="center"
40 >Privoxy Developer Manual</TH
41 ></TR
42 ><TR
43 ><TD
44 WIDTH="10%"
45 ALIGN="left"
46 VALIGN="bottom"
47 ><A
48 HREF="testing.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 ></TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="webserver-update.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><DIV
72 CLASS="SECT1"
73 ><H1
74 CLASS="SECT1"
75 ><A
76 NAME="NEWRELEASE">6. Releasing a New Version</H1
77 ><P
78 >        When we release versions of <SPAN
79 CLASS="APPLICATION"
80 >Privoxy</SPAN
81 >,
82         our work leaves our cozy secret lab and has to work in the cold
83         RealWorld[tm]. Once it is released, there is no way to call it
84         back, so it is very important that great care is taken to ensure
85         that everything runs fine, and not to introduce problems in the
86         very last minute.
87     </P
88 ><P
89 >        So when releasing a new version, please adhere exactly to the
90         procedure outlined in this chapter.
91     </P
92 ><P
93 >       The following programs are required to follow this process:
94         <TT
95 CLASS="FILENAME"
96 >ncftpput</TT
97 > (ncftp), <TT
98 CLASS="FILENAME"
99 >scp, ssh</TT
100 > (ssh),
101         <TT
102 CLASS="FILENAME"
103 >gmake</TT
104 > (GNU's version of make), autoconf, cvs.
105     </P
106 ><DIV
107 CLASS="SECT2"
108 ><H2
109 CLASS="SECT2"
110 ><A
111 NAME="VERSIONNUMBERS">6.1. Version numbers</H2
112 ><P
113 >      First you need to determine which version number the release will have. 
114       <SPAN
115 CLASS="APPLICATION"
116 >Privoxy</SPAN
117 > version numbers consist of three numbers,
118       separated by dots, like in X.Y.Z (e.g. 3.0.0), where:
119         <P
120 ></P
121 ><UL
122 ><LI
123 ><P
124 >              X, the version major, is rarely ever changed. It is increased by one if
125               turning a development branch into stable substantially changes the functionality,
126               user interface or configuration syntax. Majors 1 and 2 were 
127               <SPAN
128 CLASS="APPLICATION"
129 >Junkbuster</SPAN
130 >, and 3 will be the first stable
131               <SPAN
132 CLASS="APPLICATION"
133 >Privoxy</SPAN
134 > release.
135             </P
136 ></LI
137 ><LI
138 ><P
139 >              Y, the version minor, represents the branch within the major version.
140               At any point in time, there are two branches being maintained:
141               The stable branch, with an even minor, say, 2N, in which no functionality is
142               being added and only bug-fixes are made, and 2N+1, the development branch, in
143               which the further development of <SPAN
144 CLASS="APPLICATION"
145 >Privoxy</SPAN
146 > takes
147               place.
148               This enables us to turn the code upside down and inside out, while at the same time
149               providing and maintaining a stable version.
150               The minor is reset to zero (and one) when the major is incremented. When a development
151               branch has matured to the point where it can be turned into stable, the old stable branch
152               2N is given up (i.e. no longer maintained), the former development branch 2N+1 becomes the
153               new stable branch 2N+2, and a new development branch 2N+3 is opened.
154             </P
155 ></LI
156 ><LI
157 ><P
158 >              Z, the point or sub version, represents a release of the software within a branch.
159               It is therefore incremented immediately before each code freeze. 
160               In development branches, only the even point versions correspond to actual releases,
161               while the odd ones denote the evolving state of the sources on CVS in between.
162               It follows that Z is odd on CVS in development branches most of the time. There, it gets
163               increased to an even number immediately before a code freeze, and is increased to an odd
164               number again immediately thereafter.
165               This ensures that builds from CVS snapshots are easily distinguished from released versions.
166               The point version is reset to zero when the minor changes.
167             </P
168 ></LI
169 ></UL
170 >
171     </P
172 ><P
173 >     In summary, the main CVS trunk is the development branch where new
174      features are being worked on for the next stable series. This should
175      almost always be where the most activity takes place. There is always at
176      least one stable branch from the trunk, e.g now it is 3.0, which is only
177      used to release stable versions. Once the initial .0 release of the
178      stable branch has been done, then as a rule, only bugfixes that have had
179      prior testing should be committed to the stable branch. At that point, it
180      is mostly <SPAN
181 CLASS="QUOTE"
182 >"hands off"</SPAN
183 >. Once there are enough bugfixes to
184      justify a new release, the version of this branch is again incremented 
185      Example: 3.0.0 -&#62; 3.0.1 -&#62; 3.0.2, etc are all stable releases from within
186      the stable branch. 3.1.x is currently the main trunk, and where work on
187      3.2.x is taking place. If any questions, please post to the devel list
188      <SPAN
189 CLASS="emphasis"
190 ><I
191 CLASS="EMPHASIS"
192 >before</I
193 ></SPAN
194 > committing to a stable branch!
195
196     </P
197 ></DIV
198 ><DIV
199 CLASS="SECT2"
200 ><H2
201 CLASS="SECT2"
202 ><A
203 NAME="BEFORERELEASE">6.2. Before the Release: Freeze</H2
204 ><P
205 >       The following <SPAN
206 CLASS="emphasis"
207 ><I
208 CLASS="EMPHASIS"
209 >must be done by one of the
210        developers</I
211 ></SPAN
212 > prior to each new release.
213      </P
214 ><P
215 >      <P
216 ></P
217 ><UL
218 ><LI
219 ><P
220 >         Make sure that everybody who has worked on the code in the last
221          couple of days has had a chance to yell <SPAN
222 CLASS="QUOTE"
223 >"no!"</SPAN
224 > in case
225          they have pending changes/fixes in their pipelines. Announce the
226          freeze so that nobody will interfere with last minute changes.
227         </P
228 ></LI
229 ><LI
230 ><P
231 >         Increment the version number (point from odd to even in development
232          branches!) in <TT
233 CLASS="FILENAME"
234 >configure.in</TT
235 >. (RPM spec files 
236          will need to be incremented as well.)
237        </P
238 ></LI
239 ><LI
240 ><P
241 >        If <TT
242 CLASS="FILENAME"
243 >default.action</TT
244 > has changed since last
245         release (i.e. software release or standalone actions file release),
246         bump up its version info to A.B in this line:
247        </P
248 ><P
249
250         <TABLE
251 BORDER="0"
252 BGCOLOR="#E0E0E0"
253 WIDTH="90%"
254 ><TR
255 ><TD
256 ><PRE
257 CLASS="PROGRAMLISTING"
258 >  {+add-header{X-Actions-File-Version: A.B} -filter -no-popups}</PRE
259 ></TD
260 ></TR
261 ></TABLE
262 >
263        </P
264 ><P
265
266         Then change the version info in doc/webserver/actions/index.php,
267         line: '$required_actions_file_version = "A.B";'
268        </P
269 ></LI
270 ><LI
271 ><P
272 >        All documentation should be rebuild after the version bump.
273         Finished docs should be then be committed to CVS (for those 
274         without the ability to build these). Some docs may require 
275         rather obscure processing tools. <TT
276 CLASS="FILENAME"
277 >config</TT
278 >,
279         the man page (and the html version of the man page), and the PDF docs
280         fall in this category. REAMDE, the man page, AUTHORS, and config
281         should all also be committed to CVS for other packagers. The 
282         formal docs should be uploaded to the webserver. See the
283         Section "Updating the webserver" in this manual for details.
284        </P
285 ></LI
286 ><LI
287 ><P
288 >         The <I
289 CLASS="CITETITLE"
290 >User Manual</I
291 > is also used for context 
292          sensitive help for the CGI editor. This is version sensitive, so that
293          the user will get appropriate help for his/her release. So with 
294          each release a fresh version should be uploaded to the webserver
295          (this is in addition to the main <I
296 CLASS="CITETITLE"
297 >User Manual</I
298 >
299          link from the main page since we need to keep manuals for various 
300          versions available). The CGI pages will link to something like 
301          <TT
302 CLASS="LITERAL"
303 >http://privoxy.org/$(VERSION)/user-manual/</TT
304 >. This
305          will need to be updated for each new release. There is no Makefile
306          target for this at this time!!! It needs to be done manually.
307        </P
308 ></LI
309 ><LI
310 ><P
311 >        All developers should look at the <TT
312 CLASS="FILENAME"
313 >ChangeLog</TT
314 > and
315         make sure noteworthy changes are referenced.
316        </P
317 ></LI
318 ><LI
319 ><P
320 >        <SPAN
321 CLASS="emphasis"
322 ><I
323 CLASS="EMPHASIS"
324 >Commit all files that were changed in the above steps!</I
325 ></SPAN
326 >
327        </P
328 ></LI
329 ><LI
330 ><P
331 >        Tag all files in CVS with the version number with
332         <SPAN
333 CLASS="QUOTE"
334 >"<B
335 CLASS="COMMAND"
336 >cvs tag v_X_Y_Z</B
337 >"</SPAN
338 >.
339         Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.
340        </P
341 ></LI
342 ><LI
343 ><P
344 >        If the release was in a development branch, increase the point version
345         from even to odd (X.Y.(Z+1)) again in <TT
346 CLASS="FILENAME"
347 >configure.in</TT
348 > and
349         commit your change.
350        </P
351 ></LI
352 ><LI
353 ><P
354 >        On the webserver, copy the user manual to a new top-level directory
355         called <TT
356 CLASS="FILENAME"
357 >X.Y.Z</TT
358 >. This ensures that help links from the CGI
359         pages, which have the version as a prefix, will go into the right version of the manual.
360         If this is a development branch release, also symlink <TT
361 CLASS="FILENAME"
362 >X.Y.(Z-1)</TT
363 >
364         to <TT
365 CLASS="FILENAME"
366 >X.Y.Z</TT
367 > and <TT
368 CLASS="FILENAME"
369 >X.Y.(Z+1)</TT
370 > to
371         <TT
372 CLASS="FILENAME"
373 >.</TT
374 > (i.e. dot). 
375        </P
376 ></LI
377 ></UL
378 >
379      </P
380 ></DIV
381 ><DIV
382 CLASS="SECT2"
383 ><H2
384 CLASS="SECT2"
385 ><A
386 NAME="THERELEASE">6.3. Building and Releasing the Packages</H2
387 ><P
388 >      Now the individual packages can be built and released. Note that for
389       GPL reasons the first package to be released is always the source tarball.
390      </P
391 ><P
392 >      For <SPAN
393 CLASS="emphasis"
394 ><I
395 CLASS="EMPHASIS"
396 >all</I
397 ></SPAN
398 > types of packages, including the source tarball,
399       <SPAN
400 CLASS="emphasis"
401 ><I
402 CLASS="EMPHASIS"
403 >you must make sure that you build from clean sources by exporting
404       the right version from CVS into an empty directory</I
405 ></SPAN
406 > (just press return when
407       asked for a password):
408      </P
409 ><P
410 >      <TABLE
411 BORDER="0"
412 BGCOLOR="#E0E0E0"
413 WIDTH="100%"
414 ><TR
415 ><TD
416 ><PRE
417 CLASS="PROGRAMLISTING"
418 >  mkdir dist # delete or choose different name if it already exists
419   cd dist
420   cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
421   cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current</PRE
422 ></TD
423 ></TR
424 ></TABLE
425 >
426     </P
427 ><P
428 >     <SPAN
429 CLASS="emphasis"
430 ><I
431 CLASS="EMPHASIS"
432 >Do NOT change</I
433 ></SPAN
434 > a single bit, including, but not limited to
435      version information after export from CVS. This is to make sure that
436      all release packages, and with them, all future bug reports, are based
437      on exactly the same code.
438     </P
439 ><P
440 >     Please find additional instructions for the source tarball and the
441      individual platform dependent binary packages below. And details 
442      on the Sourceforge release process below that.
443     </P
444 ><DIV
445 CLASS="SECT3"
446 ><H3
447 CLASS="SECT3"
448 ><A
449 NAME="PACK-GUIDELINES">6.3.1. Note on Privoxy Packaging</H3
450 ><P
451 >      Please keep these general guidelines in mind when putting together 
452       your package. These apply to <SPAN
453 CLASS="emphasis"
454 ><I
455 CLASS="EMPHASIS"
456 >all</I
457 ></SPAN
458 > platforms!
459      </P
460 ><P
461 >      <P
462 ></P
463 ><UL
464 ><LI
465 ><P
466 >          <SPAN
467 CLASS="APPLICATION"
468 >Privoxy</SPAN
469 > <SPAN
470 CLASS="emphasis"
471 ><I
472 CLASS="EMPHASIS"
473 >requires</I
474 ></SPAN
475 >
476           write access to: all <TT
477 CLASS="FILENAME"
478 >*.action</TT
479 > files, all 
480           logfiles, and the <TT
481 CLASS="FILENAME"
482 >trust</TT
483 > file. You will 
484           need to determine the best way to do this for your platform.
485         </P
486 ></LI
487 ><LI
488 ><P
489 >          Please include up to date documentation. At a bare minimum:
490         </P
491 ><P
492 ></P
493 ><TABLE
494 BORDER="0"
495 ><TBODY
496 ><TR
497 ><TD
498 >          <TT
499 CLASS="FILENAME"
500 >LICENSE</TT
501 > (top-level directory)
502          </TD
503 ></TR
504 ></TBODY
505 ></TABLE
506 ><P
507 ></P
508 ><P
509 ></P
510 ><TABLE
511 BORDER="0"
512 ><TBODY
513 ><TR
514 ><TD
515 >          <TT
516 CLASS="FILENAME"
517 >README</TT
518 > (top-level directory)
519          </TD
520 ></TR
521 ></TBODY
522 ></TABLE
523 ><P
524 ></P
525 ><P
526 ></P
527 ><TABLE
528 BORDER="0"
529 ><TBODY
530 ><TR
531 ><TD
532 >          <TT
533 CLASS="FILENAME"
534 >AUTHORS</TT
535 > (top-level directory)
536          </TD
537 ></TR
538 ></TBODY
539 ></TABLE
540 ><P
541 ></P
542 ><P
543 ></P
544 ><TABLE
545 BORDER="0"
546 ><TBODY
547 ><TR
548 ><TD
549 >          <TT
550 CLASS="FILENAME"
551 >man page</TT
552 > (top-level directory, Unix-like
553           platforms only)
554          </TD
555 ></TR
556 ></TBODY
557 ></TABLE
558 ><P
559 ></P
560 ><P
561 ></P
562 ><TABLE
563 BORDER="0"
564 ><TBODY
565 ><TR
566 ><TD
567 >          <TT
568 CLASS="FILENAME"
569 >The User Manual</TT
570 > (doc/webserver/user-manual/)
571          </TD
572 ></TR
573 ></TBODY
574 ></TABLE
575 ><P
576 ></P
577 ><P
578 ></P
579 ><TABLE
580 BORDER="0"
581 ><TBODY
582 ><TR
583 ><TD
584 >          <TT
585 CLASS="FILENAME"
586 >FAQ</TT
587 > (doc/webserver/faq/)
588          </TD
589 ></TR
590 ></TBODY
591 ></TABLE
592 ><P
593 ></P
594 ><P
595 >          Also suggested: <TT
596 CLASS="FILENAME"
597 >Developer Manual</TT
598 >
599           (doc/webserver/developer-manual) and <TT
600 CLASS="FILENAME"
601 >ChangeLog</TT
602 >
603           (top-level directory). <TT
604 CLASS="FILENAME"
605 >FAQ</TT
606 > and the manuals are
607           HTML docs. There are also text versions in
608           <TT
609 CLASS="FILENAME"
610 >doc/text/</TT
611 > which could conceivably also be
612           included.
613         </P
614 ><P
615 >         The documentation has been designed such that the manuals are linked
616          to each other from parallel directories, and should be packaged 
617          that way. <TT
618 CLASS="FILENAME"
619 >privoxy-index.html</TT
620 > can also be
621          included and can serve as a focal point for docs and other links of
622          interest (and possibly renamed to <TT
623 CLASS="FILENAME"
624 >index.html</TT
625 >).
626          This should be one level up from the manuals. There is a link also 
627          on this page to an HTMLized version of the man page. To avoid 404 for
628          this, it is in CVS as
629          <TT
630 CLASS="FILENAME"
631 >doc/webserver/man-page/privoxy-man-page.html</TT
632 >,
633          and should be included along with the manuals. There is also a
634          css stylesheets that can be included for better presentation:
635          <TT
636 CLASS="FILENAME"
637 >p_doc.css</TT
638 >. This should be in the same directory
639          with <TT
640 CLASS="FILENAME"
641 >privoxy-index.html</TT
642 >, (i.e. one level up from
643          the manual directories).
644         </P
645 ></LI
646 ><LI
647 ><P
648 >        <TT
649 CLASS="FILENAME"
650 >user.action</TT
651 > is designed for local preferences. 
652         Make sure this does not get overwritten!
653        </P
654 ></LI
655 ><LI
656 ><P
657 >        Other configuration files should be installed as the new defaults, 
658         but all previously installed configuration files should be preserved
659         as backups. This is just good manners :-)
660        </P
661 ></LI
662 ><LI
663 ><P
664 >       Please check platform specific notes in this doc, if you haven't 
665        done <SPAN
666 CLASS="QUOTE"
667 >"Privoxy"</SPAN
668 > packaging before for other platform 
669        specific issues. Conversely, please add any notes that you know 
670        are important for your platform (or contact one of the doc 
671        maintainers to do this if you can't).
672       </P
673 ></LI
674 ><LI
675 ><P
676 >       Packagers should do a <SPAN
677 CLASS="QUOTE"
678 >"clean"</SPAN
679 > install of their 
680        package after building it. So any previous installs should be 
681        removed first to ensure the integrity of the newly built package. 
682        Then run the package for a while to make sure there are no 
683        obvious problems, before uploading.
684      </P
685 ></LI
686 ></UL
687 >
688      </P
689 ></DIV
690 ><DIV
691 CLASS="SECT3"
692 ><H3
693 CLASS="SECT3"
694 ><A
695 NAME="NEWRELEASE-TARBALL">6.3.2. Source Tarball</H3
696 ><P
697 >       First, <SPAN
698 CLASS="emphasis"
699 ><I
700 CLASS="EMPHASIS"
701 >make sure that you have freshly exported the right
702         version into an empty directory</I
703 ></SPAN
704 >. (See "Building and releasing
705         packages" above). Then run:
706         </P
707 ><P
708 >       <TABLE
709 BORDER="0"
710 BGCOLOR="#E0E0E0"
711 WIDTH="100%"
712 ><TR
713 ><TD
714 ><PRE
715 CLASS="PROGRAMLISTING"
716 >  cd current
717   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
718 ></TD
719 ></TR
720 ></TABLE
721 >
722         </P
723 ><P
724 >       Then do:
725         </P
726 ><P
727 >       <TABLE
728 BORDER="0"
729 BGCOLOR="#E0E0E0"
730 WIDTH="100%"
731 ><TR
732 ><TD
733 ><PRE
734 CLASS="PROGRAMLISTING"
735 >  make tarball-dist</PRE
736 ></TD
737 ></TR
738 ></TABLE
739 >
740         </P
741 ><P
742 >       To upload the package to Sourceforge, simply issue
743         </P
744 ><P
745 >       <TABLE
746 BORDER="0"
747 BGCOLOR="#E0E0E0"
748 WIDTH="100%"
749 ><TR
750 ><TD
751 ><PRE
752 CLASS="PROGRAMLISTING"
753 >  make tarball-upload</PRE
754 ></TD
755 ></TR
756 ></TABLE
757 >
758         </P
759 ><P
760 >       Go to the displayed URL and release the file publicly on Sourceforge.
761         For the change log field, use the relevant section of the
762         <TT
763 CLASS="FILENAME"
764 >ChangeLog</TT
765 > file.
766       </P
767 ></DIV
768 ><DIV
769 CLASS="SECT3"
770 ><H3
771 CLASS="SECT3"
772 ><A
773 NAME="NEWRELEASE-RPM">6.3.3. SuSE, Conectiva or Red Hat RPM</H3
774 ><P
775 >        In following text, replace <TT
776 CLASS="REPLACEABLE"
777 ><I
778 >dist</I
779 ></TT
780 >
781         with either <SPAN
782 CLASS="QUOTE"
783 >"rh"</SPAN
784 > for Red Hat or <SPAN
785 CLASS="QUOTE"
786 >"suse"</SPAN
787 > for SuSE.
788         </P
789 ><P
790 >       First, <SPAN
791 CLASS="emphasis"
792 ><I
793 CLASS="EMPHASIS"
794 >make sure that you have freshly exported the right
795         version into an empty directory</I
796 ></SPAN
797 >. (See "Building and releasing
798         packages" above). 
799         </P
800 ><P
801 >        As the only exception to not changing anything after export from CVS,
802         now examine the file <TT
803 CLASS="FILENAME"
804 >privoxy-</TT
805 ><TT
806 CLASS="REPLACEABLE"
807 ><I
808 >dist</I
809 ></TT
810 ><TT
811 CLASS="FILENAME"
812 >.spec</TT
813 >
814         and make sure that the version information and the RPM release number are
815         correct. The RPM release numbers for each version start at one. Hence it must
816         be reset to one if this is the first RPM for
817         <TT
818 CLASS="REPLACEABLE"
819 ><I
820 >dist</I
821 ></TT
822 > which is built from version
823         X.Y.Z. Check the
824         <A
825 HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
826 TARGET="_top"
827 >file
828         list</A
829 > if unsure. Else, it must be set to the highest already available RPM
830         release number for that version plus one.
831         </P
832 ><P
833 >        Then run:
834         </P
835 ><P
836 >       <TABLE
837 BORDER="0"
838 BGCOLOR="#E0E0E0"
839 WIDTH="100%"
840 ><TR
841 ><TD
842 ><PRE
843 CLASS="PROGRAMLISTING"
844 >  cd current
845   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
846 ></TD
847 ></TR
848 ></TABLE
849 >
850         </P
851 ><P
852 >       Then do
853         </P
854 ><P
855 >       <TABLE
856 BORDER="0"
857 BGCOLOR="#E0E0E0"
858 WIDTH="100%"
859 ><TR
860 ><TD
861 ><PRE
862 CLASS="PROGRAMLISTING"
863 >  make <TT
864 CLASS="REPLACEABLE"
865 ><I
866 >dist</I
867 ></TT
868 >-dist</PRE
869 ></TD
870 ></TR
871 ></TABLE
872 >
873         </P
874 ><P
875 >       To upload the package to Sourceforge, simply issue
876         </P
877 ><P
878 >       <TABLE
879 BORDER="0"
880 BGCOLOR="#E0E0E0"
881 WIDTH="100%"
882 ><TR
883 ><TD
884 ><PRE
885 CLASS="PROGRAMLISTING"
886 >  make <TT
887 CLASS="REPLACEABLE"
888 ><I
889 >dist</I
890 ></TT
891 >-upload <TT
892 CLASS="REPLACEABLE"
893 ><I
894 >rpm_packagerev</I
895 ></TT
896 ></PRE
897 ></TD
898 ></TR
899 ></TABLE
900 >
901         </P
902 ><P
903 >        where <TT
904 CLASS="REPLACEABLE"
905 ><I
906 >rpm_packagerev</I
907 ></TT
908 > is the
909         RPM release number as determined above.
910         Go to the displayed URL and release the file publicly on Sourceforge.
911         Use the release notes and change log from the source tarball package.
912       </P
913 ></DIV
914 ><DIV
915 CLASS="SECT3"
916 ><H3
917 CLASS="SECT3"
918 ><A
919 NAME="NEWRELEASE-OS2">6.3.4. OS/2</H3
920 ><P
921 >       First, <SPAN
922 CLASS="emphasis"
923 ><I
924 CLASS="EMPHASIS"
925 >make sure that you have freshly exported the right
926         version into an empty directory</I
927 ></SPAN
928 >. (See "Building and releasing
929         packages" above). Then get the OS/2 Setup module:
930         </P
931 ><P
932 >       <TABLE
933 BORDER="0"
934 BGCOLOR="#E0E0E0"
935 WIDTH="100%"
936 ><TR
937 ><TD
938 ><PRE
939 CLASS="PROGRAMLISTING"
940 >  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup</PRE
941 ></TD
942 ></TR
943 ></TABLE
944 >
945         </P
946 ><P
947 >       You will need a mix of development tools.
948         The main compilation takes place with IBM Visual Age C++.
949         Some ancillary work takes place with GNU tools, available from
950         various sources like hobbes.nmsu.edu.
951         Specificially, you will need <TT
952 CLASS="FILENAME"
953 >autoheader</TT
954 >,
955         <TT
956 CLASS="FILENAME"
957 >autoconf</TT
958 > and <TT
959 CLASS="FILENAME"
960 >sh</TT
961 > tools.
962         The packaging takes place with WarpIN, available from various sources, including
963         its home page: <A
964 HREF="http://www.xworkplace.org/"
965 TARGET="_top"
966 >xworkplace</A
967 >.
968         </P
969 ><P
970 >       Change directory to the <TT
971 CLASS="FILENAME"
972 >os2setup</TT
973 > directory.
974         Edit the os2build.cmd file to set the final executable filename.
975         For example, 
976         </P
977 ><P
978 >       <TABLE
979 BORDER="0"
980 BGCOLOR="#E0E0E0"
981 WIDTH="100%"
982 ><TR
983 ><TD
984 ><PRE
985 CLASS="PROGRAMLISTING"
986 >  installExeName='privoxyos2_setup_X.Y.Z.exe'</PRE
987 ></TD
988 ></TR
989 ></TABLE
990 >
991         </P
992 ><P
993 >       Next, edit the <TT
994 CLASS="FILENAME"
995 >IJB.wis</TT
996 > file so the release number matches
997         in the <TT
998 CLASS="FILENAME"
999 >PACKAGEID</TT
1000 > section:
1001         </P
1002 ><P
1003 >       <TABLE
1004 BORDER="0"
1005 BGCOLOR="#E0E0E0"
1006 WIDTH="100%"
1007 ><TR
1008 ><TD
1009 ><PRE
1010 CLASS="PROGRAMLISTING"
1011 >  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"</PRE
1012 ></TD
1013 ></TR
1014 ></TABLE
1015 >
1016         </P
1017 ><P
1018 >       You're now ready to build.  Run:
1019         </P
1020 ><P
1021 >       <TABLE
1022 BORDER="0"
1023 BGCOLOR="#E0E0E0"
1024 WIDTH="100%"
1025 ><TR
1026 ><TD
1027 ><PRE
1028 CLASS="PROGRAMLISTING"
1029 >  os2build</PRE
1030 ></TD
1031 ></TR
1032 ></TABLE
1033 >
1034         </P
1035 ><P
1036 >         You will find the  WarpIN-installable executable in the
1037         <TT
1038 CLASS="FILENAME"
1039 >./files</TT
1040 > directory. Upload this anonymously to
1041          <TT
1042 CLASS="FILENAME"
1043 >uploads.sourceforge.net/incoming</TT
1044 >, create a release
1045          for it, and you're done. Use the release notes and Change Log from the
1046          source tarball package.
1047         </P
1048 ></DIV
1049 ><DIV
1050 CLASS="SECT3"
1051 ><H3
1052 CLASS="SECT3"
1053 ><A
1054 NAME="NEWRELEASE-SOLARIS">6.3.5. Solaris</H3
1055 ><P
1056 >       Login to Sourceforge's compilefarm via ssh:
1057         </P
1058 ><P
1059 >       <TABLE
1060 BORDER="0"
1061 BGCOLOR="#E0E0E0"
1062 WIDTH="100%"
1063 ><TR
1064 ><TD
1065 ><PRE
1066 CLASS="PROGRAMLISTING"
1067 >  ssh cf.sourceforge.net</PRE
1068 ></TD
1069 ></TR
1070 ></TABLE
1071 >
1072         </P
1073 ><P
1074 >       Choose the right operating system (not the Debian one).
1075         When logged in, <SPAN
1076 CLASS="emphasis"
1077 ><I
1078 CLASS="EMPHASIS"
1079 >make sure that you have freshly exported the right
1080         version into an empty directory</I
1081 ></SPAN
1082 >. (See "Building and releasing
1083         packages" above). Then run:
1084         </P
1085 ><P
1086 >       <TABLE
1087 BORDER="0"
1088 BGCOLOR="#E0E0E0"
1089 WIDTH="100%"
1090 ><TR
1091 ><TD
1092 ><PRE
1093 CLASS="PROGRAMLISTING"
1094 >  cd current
1095   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
1096 ></TD
1097 ></TR
1098 ></TABLE
1099 >
1100         </P
1101 ><P
1102 >       Then run
1103         </P
1104 ><P
1105 >       <TABLE
1106 BORDER="0"
1107 BGCOLOR="#E0E0E0"
1108 WIDTH="100%"
1109 ><TR
1110 ><TD
1111 ><PRE
1112 CLASS="PROGRAMLISTING"
1113 >  gmake solaris-dist</PRE
1114 ></TD
1115 ></TR
1116 ></TABLE
1117 >
1118         </P
1119 ><P
1120 >       which creates a gzip'ed tar archive. Sadly, you cannot use <B
1121 CLASS="COMMAND"
1122 >make
1123         solaris-upload</B
1124 > on the Sourceforge machine (no ncftpput). You now have
1125         to manually upload the archive to Sourceforge's ftp server and release
1126         the file publicly. Use the release notes and Change Log from the
1127         source tarball package.
1128         </P
1129 ></DIV
1130 ><DIV
1131 CLASS="SECT3"
1132 ><H3
1133 CLASS="SECT3"
1134 ><A
1135 NAME="NEWRELEASE-WINDOWS">6.3.6. Windows</H3
1136 ><P
1137 >        You should ensure you have the latest version of Cygwin (from
1138         <A
1139 HREF="http://www.cygwin.com/"
1140 TARGET="_top"
1141 >http://www.cygwin.com/</A
1142 >).
1143         Run the following commands from within a Cygwin bash shell.
1144       </P
1145 ><P
1146 >       First, <SPAN
1147 CLASS="emphasis"
1148 ><I
1149 CLASS="EMPHASIS"
1150 >make sure that you have freshly exported the right
1151         version into an empty directory</I
1152 ></SPAN
1153 >. (See "Building and releasing
1154         packages" above). Then get the Windows setup module:
1155       </P
1156 ><P
1157 >      <TABLE
1158 BORDER="0"
1159 BGCOLOR="#E0E0E0"
1160 WIDTH="100%"
1161 ><TR
1162 ><TD
1163 ><PRE
1164 CLASS="PROGRAMLISTING"
1165 >  cvs -z3  -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co winsetup</PRE
1166 ></TD
1167 ></TR
1168 ></TABLE
1169 >
1170       </P
1171 ><P
1172 >        Then you can build the package.  This is fully automated, and is
1173         controlled by <TT
1174 CLASS="FILENAME"
1175 >winsetup/GNUmakefile</TT
1176 >.
1177         All you need to do is:
1178       </P
1179 ><P
1180 >      <TABLE
1181 BORDER="0"
1182 BGCOLOR="#E0E0E0"
1183 WIDTH="100%"
1184 ><TR
1185 ><TD
1186 ><PRE
1187 CLASS="PROGRAMLISTING"
1188 >  cd winsetup
1189   make</PRE
1190 ></TD
1191 ></TR
1192 ></TABLE
1193 >
1194       </P
1195 ><P
1196 >        Now you can manually rename <TT
1197 CLASS="FILENAME"
1198 >privoxy_setup.exe</TT
1199 > to
1200         <TT
1201 CLASS="FILENAME"
1202 >privoxy_setup_X_Y_Z.exe</TT
1203 >, and upload it to
1204         SourceForge. When releasing the package on SourceForge, use the release notes
1205         and Change Log from the source tarball package.
1206       </P
1207 ></DIV
1208 ><DIV
1209 CLASS="SECT3"
1210 ><H3
1211 CLASS="SECT3"
1212 ><A
1213 NAME="NEWRELEASE-DEBIAN">6.3.7. Debian</H3
1214 ><P
1215 >        First, <SPAN
1216 CLASS="emphasis"
1217 ><I
1218 CLASS="EMPHASIS"
1219 >make sure that you have freshly exported the
1220         right version into an empty directory</I
1221 ></SPAN
1222 >. (See
1223         "Building and releasing packages" above).  Then add a log
1224         entry to <TT
1225 CLASS="FILENAME"
1226 >debian/changelog</TT
1227 >, if it is not
1228         already there, for example by running:
1229       </P
1230 ><P
1231 >        <TABLE
1232 BORDER="0"
1233 BGCOLOR="#E0E0E0"
1234 WIDTH="100%"
1235 ><TR
1236 ><TD
1237 ><PRE
1238 CLASS="PROGRAMLISTING"
1239 >  debchange -v 3.1.1-alpha-1 "New upstream version"</PRE
1240 ></TD
1241 ></TR
1242 ></TABLE
1243 >
1244       </P
1245 ><P
1246 >        Then, run: 
1247       </P
1248 ><P
1249 >        <TABLE
1250 BORDER="0"
1251 BGCOLOR="#E0E0E0"
1252 WIDTH="100%"
1253 ><TR
1254 ><TD
1255 ><PRE
1256 CLASS="PROGRAMLISTING"
1257 >  dpkg-buildpackage -rfakeroot -us -uc -b</PRE
1258 ></TD
1259 ></TR
1260 ></TABLE
1261 >
1262       </P
1263 ><P
1264 >        This will create
1265         <TT
1266 CLASS="FILENAME"
1267 >../privoxy_3.1.1-alpha-1_i386.deb</TT
1268 >
1269         which can be uploaded.  To upload the package to Sourceforge, simply
1270         issue
1271       </P
1272 ><P
1273 >        <TABLE
1274 BORDER="0"
1275 BGCOLOR="#E0E0E0"
1276 WIDTH="100%"
1277 ><TR
1278 ><TD
1279 ><PRE
1280 CLASS="PROGRAMLISTING"
1281 >  make debian-upload</PRE
1282 ></TD
1283 ></TR
1284 ></TABLE
1285 >
1286       </P
1287 ></DIV
1288 ><DIV
1289 CLASS="SECT3"
1290 ><H3
1291 CLASS="SECT3"
1292 ><A
1293 NAME="NEWRELEASE-MACOSX">6.3.8. Mac OSX</H3
1294 ><P
1295 >       First, <SPAN
1296 CLASS="emphasis"
1297 ><I
1298 CLASS="EMPHASIS"
1299 >make sure that you have freshly exported the right
1300         version into an empty directory</I
1301 ></SPAN
1302 >. (See "Building and releasing
1303         packages" above). Then get the Mac OSX setup module:
1304         </P
1305 ><P
1306 >       <TABLE
1307 BORDER="0"
1308 BGCOLOR="#E0E0E0"
1309 WIDTH="100%"
1310 ><TR
1311 ><TD
1312 ><PRE
1313 CLASS="PROGRAMLISTING"
1314 >  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co osxsetup</PRE
1315 ></TD
1316 ></TR
1317 ></TABLE
1318 >
1319         </P
1320 ><P
1321 >       Then run:
1322         </P
1323 ><P
1324 >       <TABLE
1325 BORDER="0"
1326 BGCOLOR="#E0E0E0"
1327 WIDTH="100%"
1328 ><TR
1329 ><TD
1330 ><PRE
1331 CLASS="PROGRAMLISTING"
1332 >  cd osxsetup
1333   build</PRE
1334 ></TD
1335 ></TR
1336 ></TABLE
1337 >
1338         </P
1339 ><P
1340 >       This will run <TT
1341 CLASS="FILENAME"
1342 >autoheader</TT
1343 >, <TT
1344 CLASS="FILENAME"
1345 >autoconf</TT
1346 > and
1347         <TT
1348 CLASS="FILENAME"
1349 >configure</TT
1350 > as well as <TT
1351 CLASS="FILENAME"
1352 >make</TT
1353 >.
1354         Finally, it will copy over the necessary files to the ./osxsetup/files directory
1355         for further processing by <TT
1356 CLASS="FILENAME"
1357 >PackageMaker</TT
1358 >.
1359         </P
1360 ><P
1361 >       Bring up PackageMaker with the PrivoxyPackage.pmsp definition file, modify the package
1362         name to match the release, and hit the "Create package" button.
1363         If you specify ./Privoxy.pkg as the output package name, you can then create
1364         the distributable zip file with the command:
1365         </P
1366 ><P
1367 >       <TABLE
1368 BORDER="0"
1369 BGCOLOR="#E0E0E0"
1370 WIDTH="100%"
1371 ><TR
1372 ><TD
1373 ><PRE
1374 CLASS="PROGRAMLISTING"
1375 >  zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg</PRE
1376 ></TD
1377 ></TR
1378 ></TABLE
1379 >
1380         </P
1381 ><P
1382 >       You can then upload <TT
1383 CLASS="FILENAME"
1384 >privoxyosx_setup_x.y.z.zip</TT
1385 > anonymously to 
1386         <TT
1387 CLASS="FILENAME"
1388 >uploads.sourceforge.net/incoming</TT
1389 >,
1390         create a release for it, and you're done. Use the release notes
1391         and Change Log from the source tarball package.
1392         </P
1393 ></DIV
1394 ><DIV
1395 CLASS="SECT3"
1396 ><H3
1397 CLASS="SECT3"
1398 ><A
1399 NAME="NEWRELEASE-FREEBSD">6.3.9. FreeBSD</H3
1400 ><P
1401 >       Login to Sourceforge's compile-farm via ssh:
1402         </P
1403 ><P
1404 >       <TABLE
1405 BORDER="0"
1406 BGCOLOR="#E0E0E0"
1407 WIDTH="100%"
1408 ><TR
1409 ><TD
1410 ><PRE
1411 CLASS="PROGRAMLISTING"
1412 >  ssh cf.sourceforge.net</PRE
1413 ></TD
1414 ></TR
1415 ></TABLE
1416 >
1417         </P
1418 ><P
1419 >       Choose the right operating system.
1420         When logged in, <SPAN
1421 CLASS="emphasis"
1422 ><I
1423 CLASS="EMPHASIS"
1424 >make sure that you have freshly exported the right
1425         version into an empty directory</I
1426 ></SPAN
1427 >. (See "Building and releasing
1428         packages" above). Then run:
1429         </P
1430 ><P
1431 >       <TABLE
1432 BORDER="0"
1433 BGCOLOR="#E0E0E0"
1434 WIDTH="100%"
1435 ><TR
1436 ><TD
1437 ><PRE
1438 CLASS="PROGRAMLISTING"
1439 >  cd current
1440   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
1441 ></TD
1442 ></TR
1443 ></TABLE
1444 >
1445         </P
1446 ><P
1447 >       Then run:
1448         </P
1449 ><P
1450 >       <TABLE
1451 BORDER="0"
1452 BGCOLOR="#E0E0E0"
1453 WIDTH="100%"
1454 ><TR
1455 ><TD
1456 ><PRE
1457 CLASS="PROGRAMLISTING"
1458 >  gmake freebsd-dist</PRE
1459 ></TD
1460 ></TR
1461 ></TABLE
1462 >
1463         </P
1464 ><P
1465 >       which creates a gzip'ed tar archive. Sadly, you cannot use <B
1466 CLASS="COMMAND"
1467 >make
1468         freebsd-upload</B
1469 > on the Sourceforge machine (no ncftpput). You now have
1470         to manually upload the archive to Sourceforge's ftp server and release
1471         the file publicly. Use the release notes and Change Log from the
1472         source tarball package.
1473         </P
1474 ></DIV
1475 ><DIV
1476 CLASS="SECT3"
1477 ><H3
1478 CLASS="SECT3"
1479 ><A
1480 NAME="NEWRELEASE-HPUX">6.3.10. HP-UX 11</H3
1481 ><P
1482 >       First, <SPAN
1483 CLASS="emphasis"
1484 ><I
1485 CLASS="EMPHASIS"
1486 >make sure that you have freshly exported the right
1487         version into an empty directory</I
1488 ></SPAN
1489 >. (See "Building and releasing
1490         packages" above). Then run:
1491         </P
1492 ><P
1493 >       <TABLE
1494 BORDER="0"
1495 BGCOLOR="#E0E0E0"
1496 WIDTH="100%"
1497 ><TR
1498 ><TD
1499 ><PRE
1500 CLASS="PROGRAMLISTING"
1501 >  cd current
1502   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
1503 ></TD
1504 ></TR
1505 ></TABLE
1506 >
1507         </P
1508 ><P
1509 >       Then do FIXME.
1510         </P
1511 ></DIV
1512 ><DIV
1513 CLASS="SECT3"
1514 ><H3
1515 CLASS="SECT3"
1516 ><A
1517 NAME="NEWRELEASE-AMIGA">6.3.11. Amiga OS</H3
1518 ><P
1519 >       First, <SPAN
1520 CLASS="emphasis"
1521 ><I
1522 CLASS="EMPHASIS"
1523 >make sure that you have freshly exported the right
1524         version into an empty directory</I
1525 ></SPAN
1526 >. (See "Building and releasing
1527         packages" above). Then run:
1528         </P
1529 ><P
1530 >       <TABLE
1531 BORDER="0"
1532 BGCOLOR="#E0E0E0"
1533 WIDTH="100%"
1534 ><TR
1535 ><TD
1536 ><PRE
1537 CLASS="PROGRAMLISTING"
1538 >  cd current
1539   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
1540 ></TD
1541 ></TR
1542 ></TABLE
1543 >
1544         </P
1545 ><P
1546 >       Then do FIXME.
1547         </P
1548 ></DIV
1549 ><DIV
1550 CLASS="SECT3"
1551 ><H3
1552 CLASS="SECT3"
1553 ><A
1554 NAME="NEWRELEASE-AIX">6.3.12. AIX</H3
1555 ><P
1556 >       Login to Sourceforge's compilefarm via ssh:
1557         </P
1558 ><P
1559 >       <TABLE
1560 BORDER="0"
1561 BGCOLOR="#E0E0E0"
1562 WIDTH="100%"
1563 ><TR
1564 ><TD
1565 ><PRE
1566 CLASS="PROGRAMLISTING"
1567 >  ssh cf.sourceforge.net</PRE
1568 ></TD
1569 ></TR
1570 ></TABLE
1571 >
1572         </P
1573 ><P
1574 >       Choose the right operating system.
1575         When logged in, <SPAN
1576 CLASS="emphasis"
1577 ><I
1578 CLASS="EMPHASIS"
1579 >make sure that you have freshly exported the right
1580         version into an empty directory</I
1581 ></SPAN
1582 >. (See "Building and releasing
1583         packages" above). Then run:
1584         </P
1585 ><P
1586 >       <TABLE
1587 BORDER="0"
1588 BGCOLOR="#E0E0E0"
1589 WIDTH="100%"
1590 ><TR
1591 ><TD
1592 ><PRE
1593 CLASS="PROGRAMLISTING"
1594 >  cd current
1595   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
1596 ></TD
1597 ></TR
1598 ></TABLE
1599 >
1600         </P
1601 ><P
1602 >       Then run:
1603         </P
1604 ><P
1605 >       <TABLE
1606 BORDER="0"
1607 BGCOLOR="#E0E0E0"
1608 WIDTH="100%"
1609 ><TR
1610 ><TD
1611 ><PRE
1612 CLASS="PROGRAMLISTING"
1613 >  make aix-dist</PRE
1614 ></TD
1615 ></TR
1616 ></TABLE
1617 >
1618         </P
1619 ><P
1620 >       which creates a gzip'ed tar archive. Sadly, you cannot use <B
1621 CLASS="COMMAND"
1622 >make
1623         aix-upload</B
1624 > on the Sourceforge machine (no ncftpput). You now have
1625         to manually upload the archive to Sourceforge's ftp server and release
1626         the file publicly. Use the release notes and Change Log from the
1627         source tarball package.
1628         </P
1629 ></DIV
1630 ></DIV
1631 ><DIV
1632 CLASS="SECT2"
1633 ><H2
1634 CLASS="SECT2"
1635 ><A
1636 NAME="RELEASING">6.4. Uploading and Releasing Your Package</H2
1637 ><P
1638 >      After the package is ready, it is time to upload it 
1639       to SourceForge, and go through the release steps. The upload
1640       is done via FTP:
1641     </P
1642 ><P
1643 >      <P
1644 ></P
1645 ><UL
1646 ><LI
1647 ><P
1648 >          Upload to: <A
1649 HREF="ftp://upload.sourceforge.net/incoming"
1650 TARGET="_top"
1651 >ftp://upload.sourceforge.net/incoming</A
1652 >
1653         </P
1654 ></LI
1655 ><LI
1656 ><P
1657 >         user: <TT
1658 CLASS="LITERAL"
1659 >anonymous</TT
1660 >
1661        </P
1662 ></LI
1663 ><LI
1664 ><P
1665 >         password: <TT
1666 CLASS="LITERAL"
1667 >ijbswa-developers@lists.sourceforge.net</TT
1668 >
1669        </P
1670 ></LI
1671 ></UL
1672 >
1673     </P
1674 ><P
1675 >     Or use the <B
1676 CLASS="COMMAND"
1677 >make</B
1678 > targets as described above.
1679     </P
1680 ><P
1681 >     Once this done go to <A
1682 HREF="http://sourceforge.net/project/admin/editpackages.php?group_id=11118"
1683 TARGET="_top"
1684 >http://sourceforge.net/project/admin/editpackages.php?group_id=11118</A
1685 >, 
1686      making sure you are logged in. Find your target platform in the 
1687      second column, and click <TT
1688 CLASS="LITERAL"
1689 >Add Release</TT
1690 >. You will 
1691      then need to create a new release for your package, using the format 
1692      of <TT
1693 CLASS="LITERAL"
1694 >$VERSION ($CODE_STATUS)</TT
1695 >, e.g. <SPAN
1696 CLASS="emphasis"
1697 ><I
1698 CLASS="EMPHASIS"
1699 >3.1.1
1700      (beta)</I
1701 ></SPAN
1702 >.
1703     </P
1704 ><P
1705 >     Now just follow the prompts. Be sure to add any appropriate Release
1706      notes. You should see your freshly uploaded packages in 
1707      <SPAN
1708 CLASS="QUOTE"
1709 >"Step 2. Add Files To This Release"</SPAN
1710 >. Check the 
1711      appropriate box(es). Remember at each step to hit the 
1712      <SPAN
1713 CLASS="QUOTE"
1714 >"Refresh/Submit"</SPAN
1715 > buttons! You should now see your 
1716      file(s) listed in Step 3. Fill out the forms with the appropriate 
1717      information for your platform, being sure to hit <SPAN
1718 CLASS="QUOTE"
1719 >"Update"</SPAN
1720 >
1721      for each file. If anyone is monitoring your platform, check the 
1722      <SPAN
1723 CLASS="QUOTE"
1724 >"email"</SPAN
1725 > box at the very bottom to notify them of 
1726      the new package. This should do it!
1727     </P
1728 ><P
1729 >     If you have made errors, or need to make changes, you can go through 
1730      essentially the same steps, but select <TT
1731 CLASS="LITERAL"
1732 >Edit Release</TT
1733 >, 
1734      instead of <TT
1735 CLASS="LITERAL"
1736 >Add Release</TT
1737 >.
1738     </P
1739 ></DIV
1740 ><DIV
1741 CLASS="SECT2"
1742 ><H2
1743 CLASS="SECT2"
1744 ><A
1745 NAME="AFTERRELEASE">6.5. After the Release</H2
1746 ><P
1747 >      When all (or: most of the) packages have been uploaded and made available,
1748       send an email to the <A
1749 HREF="mailto:ijbswa-announce@lists.sourceforge.net"
1750 TARGET="_top"
1751 >announce
1752       mailing list</A
1753 >, Subject: "Version X.Y.Z available for download". Be sure to
1754       include the
1755       <A
1756 HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
1757 TARGET="_top"
1758 >download
1759       location</A
1760 >, the release notes and the Changelog. Also, post an
1761       updated News item on the project page Sourceforge, and update the Home 
1762       page and docs linked from the Home page (see below).
1763      </P
1764 ></DIV
1765 ></DIV
1766 ><DIV
1767 CLASS="NAVFOOTER"
1768 ><HR
1769 ALIGN="LEFT"
1770 WIDTH="100%"><TABLE
1771 SUMMARY="Footer navigation table"
1772 WIDTH="100%"
1773 BORDER="0"
1774 CELLPADDING="0"
1775 CELLSPACING="0"
1776 ><TR
1777 ><TD
1778 WIDTH="33%"
1779 ALIGN="left"
1780 VALIGN="top"
1781 ><A
1782 HREF="testing.html"
1783 ACCESSKEY="P"
1784 >Prev</A
1785 ></TD
1786 ><TD
1787 WIDTH="34%"
1788 ALIGN="center"
1789 VALIGN="top"
1790 ><A
1791 HREF="index.html"
1792 ACCESSKEY="H"
1793 >Home</A
1794 ></TD
1795 ><TD
1796 WIDTH="33%"
1797 ALIGN="right"
1798 VALIGN="top"
1799 ><A
1800 HREF="webserver-update.html"
1801 ACCESSKEY="N"
1802 >Next</A
1803 ></TD
1804 ></TR
1805 ><TR
1806 ><TD
1807 WIDTH="33%"
1808 ALIGN="left"
1809 VALIGN="top"
1810 >Testing Guidelines</TD
1811 ><TD
1812 WIDTH="34%"
1813 ALIGN="center"
1814 VALIGN="top"
1815 >&nbsp;</TD
1816 ><TD
1817 WIDTH="33%"
1818 ALIGN="right"
1819 VALIGN="top"
1820 >Update the Webserver</TD
1821 ></TR
1822 ></TABLE
1823 ></DIV
1824 ></BODY
1825 ></HTML
1826 >