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