6df000e1ef709066271cf7128b55c4666a57671f
[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.64
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 WIDTH="100%"
32 BORDER="0"
33 CELLPADDING="0"
34 CELLSPACING="0"
35 ><TR
36 ><TH
37 COLSPAN="3"
38 ALIGN="center"
39 >Privoxy Developer Manual</TH
40 ></TR
41 ><TR
42 ><TD
43 WIDTH="10%"
44 ALIGN="left"
45 VALIGN="bottom"
46 ><A
47 HREF="testing.html"
48 >Prev</A
49 ></TD
50 ><TD
51 WIDTH="80%"
52 ALIGN="center"
53 VALIGN="bottom"
54 ></TD
55 ><TD
56 WIDTH="10%"
57 ALIGN="right"
58 VALIGN="bottom"
59 ><A
60 HREF="webserver-update.html"
61 >Next</A
62 ></TD
63 ></TR
64 ></TABLE
65 ><HR
66 ALIGN="LEFT"
67 WIDTH="100%"></DIV
68 ><DIV
69 CLASS="SECT1"
70 ><H1
71 CLASS="SECT1"
72 ><A
73 NAME="NEWRELEASE"
74 >8. Releasing a New Version</A
75 ></H1
76 ><P
77 >        When we release versions of <SPAN
78 CLASS="APPLICATION"
79 >Privoxy</SPAN
80 >,
81         our work leaves our cozy secret lab and has to work in the cold
82         RealWorld[tm]. Once it is released, there is no way to call it
83         back, so it is very important that great care is taken to ensure
84         that everything runs fine, and not to introduce problems in the
85         very last minute.
86     </P
87 ><P
88 >        So when releasing a new version, please adhere exactly to the
89         procedure outlined in this chapter.
90     </P
91 ><P
92 >       The following programs are required to follow this process:
93         <TT
94 CLASS="FILENAME"
95 >ncftpput</TT
96 > (ncftp), <TT
97 CLASS="FILENAME"
98 >scp, ssh</TT
99 > (ssh),
100         <TT
101 CLASS="FILENAME"
102 >gmake</TT
103 > (GNU's version of make), autoconf, cvs.
104     </P
105 ><P
106 >        In the following text, replace X, Y and Z with the actual version number
107         (X = major, Y = minor, Z = point):
108     </P
109 ><DIV
110 CLASS="SECT2"
111 ><H2
112 CLASS="SECT2"
113 ><A
114 NAME="BEFORERELEASE"
115 >8.1. Before the Release</A
116 ></H2
117 ><P
118 >       The following <I
119 CLASS="EMPHASIS"
120 >must be done by one of the
121        developers</I
122 > prior to each new release.
123      </P
124 ><P
125 >      <P
126 ></P
127 ><UL
128 ><LI
129 ><P
130 >         Make sure that everybody who has worked on the code in the last
131          couple of days has had a chance to yell <SPAN
132 CLASS="QUOTE"
133 >"no!"</SPAN
134 > in case
135          they have pending changes/fixes in their pipelines.
136         </P
137 ></LI
138 ><LI
139 ><P
140 >         Increment the version number and increase or reset the RPM release number
141          in <TT
142 CLASS="FILENAME"
143 >configure.in</TT
144 > as appropriate. 
145        </P
146 ></LI
147 ><LI
148 ><P
149 >        If the default <TT
150 CLASS="FILENAME"
151 >actionsfile</TT
152 > has changed since last
153         release, bump up its version info in this line:
154        </P
155 ><P
156
157         <TABLE
158 BORDER="0"
159 BGCOLOR="#E0E0E0"
160 WIDTH="90%"
161 ><TR
162 ><TD
163 ><PRE
164 CLASS="PROGRAMLISTING"
165 >  {+add-header{X-Actions-File-Version: A.B} -filter -no-popups}</PRE
166 ></TD
167 ></TR
168 ></TABLE
169 >
170        </P
171 ><P
172
173         Then change the version info in doc/webserver/actions/index.php,
174         line: '$required_actions_file_version = "A.B";'
175        </P
176 ></LI
177 ><LI
178 ><P
179 >        If the HTML documentation is not in sync with the SGML sources
180         you need to regenerate it. (If in doubt, just do it.) See the
181         Section "Updating the webserver" in this manual for details.
182        </P
183 ></LI
184 ><LI
185 ><P
186 >        <I
187 CLASS="EMPHASIS"
188 >Commit all files that were changed in the above steps!</I
189 >
190        </P
191 ></LI
192 ><LI
193 ><P
194 >        Tag all files in CVS with the version number with
195         <SPAN
196 CLASS="QUOTE"
197 >"<B
198 CLASS="COMMAND"
199 >cvs tag v_X_Y_Z</B
200 >"</SPAN
201 >.
202         Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.
203        </P
204 ></LI
205 ></UL
206 >
207      </P
208 ></DIV
209 ><DIV
210 CLASS="SECT2"
211 ><H2
212 CLASS="SECT2"
213 ><A
214 NAME="THERELEASE"
215 >8.2. Building and Releasing the Packages</A
216 ></H2
217 ><P
218 >      Now the individual packages can be built and released. Note that for
219       GPL reasons the first package to be released is always the source tarball.
220      </P
221 ><P
222 >      For <I
223 CLASS="EMPHASIS"
224 >all</I
225 > types of packages, including the source tarball,
226       <I
227 CLASS="EMPHASIS"
228 >you must make sure that you build from clean sources by exporting
229       the right version from CVS into an empty directory:</I
230 >.
231      </P
232 ><P
233 >      <TABLE
234 BORDER="0"
235 BGCOLOR="#E0E0E0"
236 WIDTH="100%"
237 ><TR
238 ><TD
239 ><PRE
240 CLASS="PROGRAMLISTING"
241 >  mkdir dist # delete or choose different name if it already exists
242   cd dist
243   cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
244   cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current</PRE
245 ></TD
246 ></TR
247 ></TABLE
248 >
249     </P
250 ><P
251 >     <I
252 CLASS="EMPHASIS"
253 >Do NOT change</I
254 > a single bit, including, but not limited to
255      version information after export from CVS. This is to make sure that
256      all release packages, and with them, all future bug reports, are based
257      on exactly the same code.
258     </P
259 ><P
260 >     Please find additional instructions for the source tarball and the
261      individual platform dependent binary packages below.
262     </P
263 ><DIV
264 CLASS="SECT3"
265 ><H3
266 CLASS="SECT3"
267 ><A
268 NAME="NEWRELEASE-TARBALL"
269 >8.2.1. Source Tarball</A
270 ></H3
271 ><P
272 >       First, <I
273 CLASS="EMPHASIS"
274 >make sure that you have freshly exported the right
275         version into an empty directory</I
276 >. (See "Building and releasing
277         packages" above). Then run:
278         </P
279 ><P
280 >       <TABLE
281 BORDER="0"
282 BGCOLOR="#E0E0E0"
283 WIDTH="100%"
284 ><TR
285 ><TD
286 ><PRE
287 CLASS="PROGRAMLISTING"
288 >  cd current
289   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
290 ></TD
291 ></TR
292 ></TABLE
293 >
294         </P
295 ><P
296 >       Then do:
297         </P
298 ><P
299 >       <TABLE
300 BORDER="0"
301 BGCOLOR="#E0E0E0"
302 WIDTH="100%"
303 ><TR
304 ><TD
305 ><PRE
306 CLASS="PROGRAMLISTING"
307 >  make tarball-dist</PRE
308 ></TD
309 ></TR
310 ></TABLE
311 >
312         </P
313 ><P
314 >       To upload the package to Sourceforge, simply issue
315         </P
316 ><P
317 >       <TABLE
318 BORDER="0"
319 BGCOLOR="#E0E0E0"
320 WIDTH="100%"
321 ><TR
322 ><TD
323 ><PRE
324 CLASS="PROGRAMLISTING"
325 >  make tarball-upload</PRE
326 ></TD
327 ></TR
328 ></TABLE
329 >
330         </P
331 ><P
332 >       Go to the displayed URL and release the file publicly on Sourceforge.
333         For the change log field, use the relevant section of the
334         <TT
335 CLASS="FILENAME"
336 >ChangeLog</TT
337 > file.
338       </P
339 ></DIV
340 ><DIV
341 CLASS="SECT3"
342 ><H3
343 CLASS="SECT3"
344 ><A
345 NAME="NEWRELEASE-RPM"
346 >8.2.2. SuSE or Red Hat</A
347 ></H3
348 ><P
349 >       First, <I
350 CLASS="EMPHASIS"
351 >make sure that you have freshly exported the right
352         version into an empty directory</I
353 >. (See "Building and releasing
354         packages" above). Then run:
355         </P
356 ><P
357 >       <TABLE
358 BORDER="0"
359 BGCOLOR="#E0E0E0"
360 WIDTH="100%"
361 ><TR
362 ><TD
363 ><PRE
364 CLASS="PROGRAMLISTING"
365 >  cd current
366   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
367 ></TD
368 ></TR
369 ></TABLE
370 >
371         </P
372 ><P
373 >       Then do
374         </P
375 ><P
376 >       <TABLE
377 BORDER="0"
378 BGCOLOR="#E0E0E0"
379 WIDTH="100%"
380 ><TR
381 ><TD
382 ><PRE
383 CLASS="PROGRAMLISTING"
384 >  make suse-dist (or make redhat-dist)</PRE
385 ></TD
386 ></TR
387 ></TABLE
388 >
389         </P
390 ><P
391 >       To upload the package to Sourceforge, simply issue
392         </P
393 ><P
394 >       <TABLE
395 BORDER="0"
396 BGCOLOR="#E0E0E0"
397 WIDTH="100%"
398 ><TR
399 ><TD
400 ><PRE
401 CLASS="PROGRAMLISTING"
402 >  make suse-upload (or make redhat-upload)</PRE
403 ></TD
404 ></TR
405 ></TABLE
406 >
407         </P
408 ><P
409 >       Go to the displayed URL and release the file publicly on Sourceforge.
410         Use the release notes and Ã§hange log from the source tarball package.
411       </P
412 ></DIV
413 ><DIV
414 CLASS="SECT3"
415 ><H3
416 CLASS="SECT3"
417 ><A
418 NAME="NEWRELEASE-OS2"
419 >8.2.3. OS/2</A
420 ></H3
421 ><P
422 >       First, <I
423 CLASS="EMPHASIS"
424 >make sure that you have freshly exported the right
425         version into an empty directory</I
426 >. (See "Building and releasing
427         packages" above). Then get the OS/2 Setup module:
428         </P
429 ><P
430 >       <TABLE
431 BORDER="0"
432 BGCOLOR="#E0E0E0"
433 WIDTH="100%"
434 ><TR
435 ><TD
436 ><PRE
437 CLASS="PROGRAMLISTING"
438 >  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup</PRE
439 ></TD
440 ></TR
441 ></TABLE
442 >
443         </P
444 ><P
445 >       You will need a mix of development tools.
446         The main compilation takes place with IBM Visual Age C++.
447         Some ancillary work takes place with GNU tools, available from
448         various sources like hobbes.nmsu.edu.
449         Specificially, you will need <TT
450 CLASS="FILENAME"
451 >autoheader</TT
452 >,
453         <TT
454 CLASS="FILENAME"
455 >autoconf</TT
456 > and <TT
457 CLASS="FILENAME"
458 >sh</TT
459 > tools.
460         The packaging takes place with WarpIN, available from various sources, including
461         its home page: <A
462 HREF="http://www.xworkplace.org/"
463 TARGET="_top"
464 >xworkplace</A
465 >.
466         </P
467 ><P
468 >       Change directory to the <TT
469 CLASS="FILENAME"
470 >os2setup</TT
471 > directory.
472         Edit the os2build.cmd file to set the final executable filename.
473         For example, 
474         </P
475 ><P
476 >       <TABLE
477 BORDER="0"
478 BGCOLOR="#E0E0E0"
479 WIDTH="100%"
480 ><TR
481 ><TD
482 ><PRE
483 CLASS="PROGRAMLISTING"
484 >  installExeName='privoxyos2_setup_X.Y.Z.exe'</PRE
485 ></TD
486 ></TR
487 ></TABLE
488 >
489         </P
490 ><P
491 >       Next, edit the <TT
492 CLASS="FILENAME"
493 >IJB.wis</TT
494 > file so the release number matches
495         in the <TT
496 CLASS="FILENAME"
497 >PACKAGEID</TT
498 > section:
499         </P
500 ><P
501 >       <TABLE
502 BORDER="0"
503 BGCOLOR="#E0E0E0"
504 WIDTH="100%"
505 ><TR
506 ><TD
507 ><PRE
508 CLASS="PROGRAMLISTING"
509 >  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"</PRE
510 ></TD
511 ></TR
512 ></TABLE
513 >
514         </P
515 ><P
516 >       You're now ready to build.  Run:
517         </P
518 ><P
519 >       <TABLE
520 BORDER="0"
521 BGCOLOR="#E0E0E0"
522 WIDTH="100%"
523 ><TR
524 ><TD
525 ><PRE
526 CLASS="PROGRAMLISTING"
527 >  os2build</PRE
528 ></TD
529 ></TR
530 ></TABLE
531 >
532         </P
533 ><P
534 >         You will find the  WarpIN-installable executable in the
535         <TT
536 CLASS="FILENAME"
537 >./files</TT
538 > directory. Upload this anonymously to
539          <TT
540 CLASS="FILENAME"
541 >uploads.sourceforge.net/incoming</TT
542 >, create a release
543          for it, and you're done. Use the release notes and Change Log from the
544          source tarball package.
545         </P
546 ></DIV
547 ><DIV
548 CLASS="SECT3"
549 ><H3
550 CLASS="SECT3"
551 ><A
552 NAME="NEWRELEASE-SOLARIS"
553 >8.2.4. Solaris</A
554 ></H3
555 ><P
556 >       Login to Sourceforge's compilefarm via ssh:
557         </P
558 ><P
559 >       <TABLE
560 BORDER="0"
561 BGCOLOR="#E0E0E0"
562 WIDTH="100%"
563 ><TR
564 ><TD
565 ><PRE
566 CLASS="PROGRAMLISTING"
567 >  ssh cf.sourceforge.net</PRE
568 ></TD
569 ></TR
570 ></TABLE
571 >
572         </P
573 ><P
574 >       Choose the right operating system (not the Debian one).
575         When logged in, <I
576 CLASS="EMPHASIS"
577 >make sure that you have freshly exported the right
578         version into an empty directory</I
579 >. (See "Building and releasing
580         packages" above). Then run:
581         </P
582 ><P
583 >       <TABLE
584 BORDER="0"
585 BGCOLOR="#E0E0E0"
586 WIDTH="100%"
587 ><TR
588 ><TD
589 ><PRE
590 CLASS="PROGRAMLISTING"
591 >  cd current
592   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
593 ></TD
594 ></TR
595 ></TABLE
596 >
597         </P
598 ><P
599 >       Then run
600         </P
601 ><P
602 >       <TABLE
603 BORDER="0"
604 BGCOLOR="#E0E0E0"
605 WIDTH="100%"
606 ><TR
607 ><TD
608 ><PRE
609 CLASS="PROGRAMLISTING"
610 >  gmake solaris-dist</PRE
611 ></TD
612 ></TR
613 ></TABLE
614 >
615         </P
616 ><P
617 >       which creates a gzip'ed tar archive. Sadly, you cannot use <B
618 CLASS="COMMAND"
619 >make
620         solaris-upload</B
621 > on the Sourceforge machine (no ncftpput). You now have
622         to manually upload the archive to Sourceforge's ftp server and release
623         the file publicly. Use the release notes and Change Log from the
624         source tarball package.
625         </P
626 ></DIV
627 ><DIV
628 CLASS="SECT3"
629 ><H3
630 CLASS="SECT3"
631 ><A
632 NAME="NEWRELEASE-WINDOWS"
633 >8.2.5. Windows</A
634 ></H3
635 ><P
636 >        You should ensure you have the latest version of Cygwin (from
637         <A
638 HREF="http://www.cygwin.com/"
639 TARGET="_top"
640 >http://www.cygwin.com/</A
641 >).
642         Run the following commands from within a Cygwin bash shell.
643       </P
644 ><P
645 >       First, <I
646 CLASS="EMPHASIS"
647 >make sure that you have freshly exported the right
648         version into an empty directory</I
649 >. (See "Building and releasing
650         packages" above). Then get the Windows setup module:
651       </P
652 ><P
653 >      <TABLE
654 BORDER="0"
655 BGCOLOR="#E0E0E0"
656 WIDTH="100%"
657 ><TR
658 ><TD
659 ><PRE
660 CLASS="PROGRAMLISTING"
661 >        cvs -z3  -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co winsetup</PRE
662 ></TD
663 ></TR
664 ></TABLE
665 >
666       </P
667 ><P
668 >        Then you can build the package.  This is fully automated, and is
669         controlled by <TT
670 CLASS="FILENAME"
671 >winsetup/GNUmakefile</TT
672 >.
673         All you need to do is:
674       </P
675 ><P
676 >      <TABLE
677 BORDER="0"
678 BGCOLOR="#E0E0E0"
679 WIDTH="100%"
680 ><TR
681 ><TD
682 ><PRE
683 CLASS="PROGRAMLISTING"
684 >        cd winsetup
685         make</PRE
686 ></TD
687 ></TR
688 ></TABLE
689 >
690       </P
691 ><P
692 >        Now you can manually rename <TT
693 CLASS="FILENAME"
694 >privoxy_setup.exe</TT
695 > to
696         <TT
697 CLASS="FILENAME"
698 >privoxy_setup_X_Y_Z.exe</TT
699 >, and upload it to
700         SourceForge. When releasing the package on SourceForge, use the release notes
701         and Change Log from the source tarball package.
702       </P
703 ></DIV
704 ><DIV
705 CLASS="SECT3"
706 ><H3
707 CLASS="SECT3"
708 ><A
709 NAME="NEWRELEASE-DEBIAN"
710 >8.2.6. Debian</A
711 ></H3
712 ><P
713 >       First, <I
714 CLASS="EMPHASIS"
715 >make sure that you have freshly exported the right
716         version into an empty directory</I
717 >. (See "Building and releasing
718         packages" above). Then, run:
719         </P
720 ><P
721 >       <TABLE
722 BORDER="0"
723 BGCOLOR="#E0E0E0"
724 WIDTH="100%"
725 ><TR
726 ><TD
727 ><PRE
728 CLASS="PROGRAMLISTING"
729 >  cd current
730   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
731 ></TD
732 ></TR
733 ></TABLE
734 >
735         </P
736 ><P
737 >       Then do FIXME.
738         </P
739 ></DIV
740 ><DIV
741 CLASS="SECT3"
742 ><H3
743 CLASS="SECT3"
744 ><A
745 NAME="NEWRELEASE-MACOSX"
746 >8.2.7. Mac OSX</A
747 ></H3
748 ><P
749 >       First, <I
750 CLASS="EMPHASIS"
751 >make sure that you have freshly exported the right
752         version into an empty directory</I
753 >. (See "Building and releasing
754         packages" above). Then get the Mac OSX setup module:
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 >  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co osxsetup</PRE
766 ></TD
767 ></TR
768 ></TABLE
769 >
770         </P
771 ><P
772 >       Then run:
773         </P
774 ><P
775 >       <TABLE
776 BORDER="0"
777 BGCOLOR="#E0E0E0"
778 WIDTH="100%"
779 ><TR
780 ><TD
781 ><PRE
782 CLASS="PROGRAMLISTING"
783 >  cd osxsetup
784   build</PRE
785 ></TD
786 ></TR
787 ></TABLE
788 >
789         </P
790 ><P
791 >       This will run <TT
792 CLASS="FILENAME"
793 >autoheader</TT
794 >, <TT
795 CLASS="FILENAME"
796 >autoconf</TT
797 > and
798         <TT
799 CLASS="FILENAME"
800 >configure</TT
801 > as well as <TT
802 CLASS="FILENAME"
803 >make</TT
804 >.
805         Finally, it will copy over the necessary files to the ./osxsetup/files directory
806         for further processing by <TT
807 CLASS="FILENAME"
808 >PackageMaker</TT
809 >.
810         </P
811 ><P
812 >       Bring up PackageMaker with the PrivoxyPackage.pmsp definition file, modify the package
813         name to match the release, and hit the "Create package" button.
814         If you specify ./Privoxy.pkg as the output package name, you can then create
815         the distributable zip file with the command:
816         </P
817 ><P
818 >       <TABLE
819 BORDER="0"
820 BGCOLOR="#E0E0E0"
821 WIDTH="100%"
822 ><TR
823 ><TD
824 ><PRE
825 CLASS="PROGRAMLISTING"
826 >zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg</PRE
827 ></TD
828 ></TR
829 ></TABLE
830 >
831         </P
832 ><P
833 >       You can then upload <TT
834 CLASS="FILENAME"
835 >privoxyosx_setup_x.y.z.zip</TT
836 > anonymously to 
837         <TT
838 CLASS="FILENAME"
839 >uploads.sourceforge.net/incoming</TT
840 >,
841         create a release for it, and you're done. Use the release notes
842         and Change Log from the source tarball package.
843         </P
844 ></DIV
845 ><DIV
846 CLASS="SECT3"
847 ><H3
848 CLASS="SECT3"
849 ><A
850 NAME="NEWRELEASE-FREEBSD"
851 >8.2.8. FreeBSD</A
852 ></H3
853 ><P
854 >       Login to Sourceforge's compilefarm via ssh:
855         </P
856 ><P
857 >       <TABLE
858 BORDER="0"
859 BGCOLOR="#E0E0E0"
860 WIDTH="100%"
861 ><TR
862 ><TD
863 ><PRE
864 CLASS="PROGRAMLISTING"
865 >  ssh cf.sourceforge.net</PRE
866 ></TD
867 ></TR
868 ></TABLE
869 >
870         </P
871 ><P
872 >       Choose the right operating system.
873         When logged in, <I
874 CLASS="EMPHASIS"
875 >make sure that you have freshly exported the right
876         version into an empty directory</I
877 >. (See "Building and releasing
878         packages" above). Then run:
879         </P
880 ><P
881 >       <TABLE
882 BORDER="0"
883 BGCOLOR="#E0E0E0"
884 WIDTH="100%"
885 ><TR
886 ><TD
887 ><PRE
888 CLASS="PROGRAMLISTING"
889 >  cd current
890   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
891 ></TD
892 ></TR
893 ></TABLE
894 >
895         </P
896 ><P
897 >       Then run:
898         </P
899 ><P
900 >       <TABLE
901 BORDER="0"
902 BGCOLOR="#E0E0E0"
903 WIDTH="100%"
904 ><TR
905 ><TD
906 ><PRE
907 CLASS="PROGRAMLISTING"
908 >  gmake freebsd-dist</PRE
909 ></TD
910 ></TR
911 ></TABLE
912 >
913         </P
914 ><P
915 >       which creates a gzip'ed tar archive. Sadly, you cannot use <B
916 CLASS="COMMAND"
917 >make
918         freebsd-upload</B
919 > on the Sourceforge machine (no ncftpput). You now have
920         to manually upload the archive to Sourceforge's ftp server and release
921         the file publicly. Use the release notes and Change Log from the
922         source tarball package.
923         </P
924 ></DIV
925 ><DIV
926 CLASS="SECT3"
927 ><H3
928 CLASS="SECT3"
929 ><A
930 NAME="NEWRELEASE-HPUX"
931 >8.2.9. HP-UX 11</A
932 ></H3
933 ><P
934 >       First, <I
935 CLASS="EMPHASIS"
936 >make sure that you have freshly exported the right
937         version into an empty directory</I
938 >. (See "Building and releasing
939         packages" above). Then 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 >  cd current
951   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
952 ></TD
953 ></TR
954 ></TABLE
955 >
956         </P
957 ><P
958 >       Then do FIXME.
959         </P
960 ></DIV
961 ><DIV
962 CLASS="SECT3"
963 ><H3
964 CLASS="SECT3"
965 ><A
966 NAME="NEWRELEASE-AMIGA"
967 >8.2.10. Amiga OS</A
968 ></H3
969 ><P
970 >       First, <I
971 CLASS="EMPHASIS"
972 >make sure that you have freshly exported the right
973         version into an empty directory</I
974 >. (See "Building and releasing
975         packages" above). Then run:
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 >  cd current
987   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
988 ></TD
989 ></TR
990 ></TABLE
991 >
992         </P
993 ><P
994 >       Then do FIXME.
995         </P
996 ></DIV
997 ><DIV
998 CLASS="SECT3"
999 ><H3
1000 CLASS="SECT3"
1001 ><A
1002 NAME="NEWRELEASE-AIX"
1003 >8.2.11. AIX</A
1004 ></H3
1005 ><P
1006 >       Login to Sourceforge's compilefarm via ssh:
1007         </P
1008 ><P
1009 >       <TABLE
1010 BORDER="0"
1011 BGCOLOR="#E0E0E0"
1012 WIDTH="100%"
1013 ><TR
1014 ><TD
1015 ><PRE
1016 CLASS="PROGRAMLISTING"
1017 >  ssh cf.sourceforge.net</PRE
1018 ></TD
1019 ></TR
1020 ></TABLE
1021 >
1022         </P
1023 ><P
1024 >       Choose the right operating system.
1025         When logged in, <I
1026 CLASS="EMPHASIS"
1027 >make sure that you have freshly exported the right
1028         version into an empty directory</I
1029 >. (See "Building and releasing
1030         packages" above). Then run:
1031         </P
1032 ><P
1033 >       <TABLE
1034 BORDER="0"
1035 BGCOLOR="#E0E0E0"
1036 WIDTH="100%"
1037 ><TR
1038 ><TD
1039 ><PRE
1040 CLASS="PROGRAMLISTING"
1041 >  cd current
1042   autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
1043 ></TD
1044 ></TR
1045 ></TABLE
1046 >
1047         </P
1048 ><P
1049 >       Then run:
1050         </P
1051 ><P
1052 >       <TABLE
1053 BORDER="0"
1054 BGCOLOR="#E0E0E0"
1055 WIDTH="100%"
1056 ><TR
1057 ><TD
1058 ><PRE
1059 CLASS="PROGRAMLISTING"
1060 >  make aix-dist</PRE
1061 ></TD
1062 ></TR
1063 ></TABLE
1064 >
1065         </P
1066 ><P
1067 >       which creates a gzip'ed tar archive. Sadly, you cannot use <B
1068 CLASS="COMMAND"
1069 >make
1070         aix-upload</B
1071 > on the Sourceforge machine (no ncftpput). You now have
1072         to manually upload the archive to Sourceforge's ftp server and release
1073         the file publicly. Use the release notes and Change Log from the
1074         source tarball package.
1075         </P
1076 ></DIV
1077 ></DIV
1078 ><DIV
1079 CLASS="SECT2"
1080 ><H2
1081 CLASS="SECT2"
1082 ><A
1083 NAME="RELEASING"
1084 >8.3. Uploading and Releasing Your Package</A
1085 ></H2
1086 ><P
1087 >      After the package is ready, it is time to upload it 
1088       to SourceForge, and go through the release steps. The upload 
1089       is done via FTP:
1090     </P
1091 ><P
1092 >      <P
1093 ></P
1094 ><UL
1095 ><LI
1096 ><P
1097 >          Upload to: <A
1098 HREF="ftp://upload.sourceforge.net/incoming"
1099 TARGET="_top"
1100 >ftp://upload.sourceforge.net/incoming</A
1101 >
1102         </P
1103 ></LI
1104 ><LI
1105 ><P
1106 >         user: <TT
1107 CLASS="LITERAL"
1108 >anonymous</TT
1109 >
1110        </P
1111 ></LI
1112 ><LI
1113 ><P
1114 >         password: <TT
1115 CLASS="LITERAL"
1116 >ijbswa-developers@lists.sourceforge.net</TT
1117 >
1118        </P
1119 ></LI
1120 ></UL
1121 >
1122     </P
1123 ><P
1124 >     Once this done go to <A
1125 HREF="http://sourceforge.net/project/admin/editpackages.php?group_id=11118"
1126 TARGET="_top"
1127 >http://sourceforge.net/project/admin/editpackages.php?group_id=11118</A
1128 >, 
1129      making sure you are logged in. Find your target platform in the 
1130      second column, and click <TT
1131 CLASS="LITERAL"
1132 >Add Release</TT
1133 >. You will 
1134      then need to create a new release for your package, using the format 
1135      of <TT
1136 CLASS="LITERAL"
1137 >$VERSION ($CODE_STATUS)</TT
1138 >, e.g. <I
1139 CLASS="EMPHASIS"
1140 >2.9.14
1141      (beta)</I
1142 >.
1143     </P
1144 ><P
1145 >     Now just follow the prompts. Be sure to add any appropriate Release
1146      notes. You should see your freshly uploaded packages in 
1147      <SPAN
1148 CLASS="QUOTE"
1149 >"Step 2. Add Files To This Release"</SPAN
1150 >. Check the 
1151      appropriate box(es). Remember at each step to hit the 
1152      <SPAN
1153 CLASS="QUOTE"
1154 >"Refresh/Submit"</SPAN
1155 > buttons! You should now see your 
1156      file(s) listed in Step 3. Fill out the forms with the appropriate 
1157      information for your platform, being sure to hit <SPAN
1158 CLASS="QUOTE"
1159 >"Update"</SPAN
1160 >
1161      for each file. If anyone is monitoring your platform, check the 
1162      <SPAN
1163 CLASS="QUOTE"
1164 >"email"</SPAN
1165 > box at the very bottom to notify them of 
1166      the new package. This should do it!
1167     </P
1168 ><P
1169 >     If you have made errors, or need to make changes, you can go through 
1170      essentially the same steps, but select <TT
1171 CLASS="LITERAL"
1172 >Edit Release</TT
1173 >, 
1174      instead of <TT
1175 CLASS="LITERAL"
1176 >Add Release</TT
1177 >.
1178     </P
1179 ></DIV
1180 ><DIV
1181 CLASS="SECT2"
1182 ><H2
1183 CLASS="SECT2"
1184 ><A
1185 NAME="AFTERRELEASE"
1186 >8.4. After the Release</A
1187 ></H2
1188 ><P
1189 >      When all (or: most of the) packages have been uploaded and made available,
1190       send an email to the <A
1191 HREF="mailto:ijbswa-announce@lists.sourceforge.net"
1192 TARGET="_top"
1193 >announce
1194       mailing list</A
1195 >, Subject: "Version X.Y.Z available for download". Be sure to
1196       include the
1197       <A
1198 HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
1199 TARGET="_top"
1200 >download
1201       location</A
1202 >, the release notes and the change log.
1203      </P
1204 ></DIV
1205 ></DIV
1206 ><DIV
1207 CLASS="NAVFOOTER"
1208 ><HR
1209 ALIGN="LEFT"
1210 WIDTH="100%"><TABLE
1211 WIDTH="100%"
1212 BORDER="0"
1213 CELLPADDING="0"
1214 CELLSPACING="0"
1215 ><TR
1216 ><TD
1217 WIDTH="33%"
1218 ALIGN="left"
1219 VALIGN="top"
1220 ><A
1221 HREF="testing.html"
1222 >Prev</A
1223 ></TD
1224 ><TD
1225 WIDTH="34%"
1226 ALIGN="center"
1227 VALIGN="top"
1228 ><A
1229 HREF="index.html"
1230 >Home</A
1231 ></TD
1232 ><TD
1233 WIDTH="33%"
1234 ALIGN="right"
1235 VALIGN="top"
1236 ><A
1237 HREF="webserver-update.html"
1238 >Next</A
1239 ></TD
1240 ></TR
1241 ><TR
1242 ><TD
1243 WIDTH="33%"
1244 ALIGN="left"
1245 VALIGN="top"
1246 >Testing Guidelines</TD
1247 ><TD
1248 WIDTH="34%"
1249 ALIGN="center"
1250 VALIGN="top"
1251 >&nbsp;</TD
1252 ><TD
1253 WIDTH="33%"
1254 ALIGN="right"
1255 VALIGN="top"
1256 >Update the Webserver</TD
1257 ></TR
1258 ></TABLE
1259 ></DIV
1260 ></BODY
1261 ></HTML
1262 >