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