]> git.saurik.com Git - wxWidgets.git/blame - docs/tech/tn0013.txt
improved out of memory handling by return failure status where possible and
[wxWidgets.git] / docs / tech / tn0013.txt
CommitLineData
d1cd84e7
VZ
1 How to prepare wxGTK distribution
2 =================================
6b5691cb
VZ
3
40. Introduction
5---------------
6
7This note explains what should be done, step by step, to prepare the packages
8for a wxGTK distribution.
9
101. Preparing the sources
11------------------------
12
13a) Do a fresh checkout using the command
14
d1cd84e7 15 cvs -d :pserver:anoncvs@cvs.wxwindows.org:/home/wxcvs co wxGTK
6b5691cb
VZ
16
17 NB: if you realize later that some needed files were not checked out
18 by this command, please modify CVSROOT/modules to include the missing
19 files so that it works for the next release!
20
21 You also need the samples, demos and contrib directories, so change to
22 wxWindows directory created by the first cvs command and do "cvs up -d"
23 for each of them.
24
25b) Create a build directory under wxWindows, e.g. I use "gtk-release",
26 "cd" to it and type "make -j1 dist bzip-dist-only". This should create
27 the following files;
28
29 wxGTK-${version}.tar.bz2
30 wxGTK-demos-${version}.tar.bz2
31 wxGTK-samples-${version}.tar.bz2
32 wxGTK-${version}.tar.gz
33 wxGTK-demos-${version}.tar.gz
34 wxGTK-samples-${version}.tar.gz
35
36 where version is something like 2.3.2.
37
38 Note 1: "-j1" is needed now because make dist target is broken and doesn't
39 allow parallelizing, if your make is aliased to "make -j4" (like
d1cd84e7 40 mine), it simply won't work.
6b5691cb
VZ
41
42 Note 2; there are also dist-only and bzip-dist targets, the "-only" suffix
43 means to just create the archive supposing that the files
d1cd84e7
VZ
44 themselves are already under _dist_dir/wxGTK-${version} where
45 "make dist" creates them
6b5691cb
VZ
46
472. Building the RPMs
48--------------------
49
50Note that we didn't check if the library actually could be built - this is
51because it is done during this step, during the RPM generation. If, for
52whatever reason, you don't build the RPMs, you must have checked previously
53that the library could be built - nothing worse than a release which doesn't
54even compile!
55
56The rest of this section applies to a system with RPM installed (Redhat in my
57case).
58
59a) Setting up the RPM tree: you should have the RPM tree set up properly
60 before doing anything else. If you are going to build the RPMs as root,
61 you already have one under /usr/src/redhat and can just build there.
62 Otherwise you may do it (without root rights) in any directory RPM_ROOT.
63 RPM_ROOT should have the following subdirectories: BUILD, RPMS, SOURCES,
64 SPECS and SRPMS. RPMS should contain i386, i686 and noarch. You should
65 also create the file ~/.rpmmacros containing at least the following line:
66 "%_topdir /biton/zeitlin/rpm".
67
68 In either case, put the file wxGTK-${version}.tar.bz2 in SOURCES
69 subdirectory and wxGTK.spec in SPECS one (hint: you can just link them from
70 there - like this you won't forget to update them after redoing "make
71 dist").
72
73b) Start RPM build by going to RPM_ROOT directory and typing "rpm -bb
74 SPECS/wxGTK.spec". It may be a good idea to append "2&>1 | tee wxGTK.out"
75 (or "|& tee" if you're using the one true shell ;-) as it might be not
76 easy to detect errors in the verbose rpm output if anything goes wrong.
77
78 Then wait (and pray that nothing goes wrong because if anything does
79 you'll have to restart from the very beginning because rpm doesn't allow
80 to short circuit the package generation).
81
82 If everything goes well, the following files are produced:
83
84 SRPMS/wxGTK-${version}-1.src.rpm
85 RPMS/i386/wxGTK-${version}-1.i386.rpm
86 RPMS/i386/wxGTK-devel-${version}-1.i386.rpm
87 RPMS/i386/wxGTK-gl-${version}-1.i386.rpm
88 RPMS/i386/wxGTK-static-${version}-1.i386.rpm
89
d1cd84e7
VZ
903. Building the DEBs
91--------------------
92
93[Ron is doing this]
94
954. Uploading the files
6b5691cb
VZ
96----------------------
97
98All 11 files should be uploaded (via FTP) to several locations.
99
100a) incoming.sourceforge.net, go to project admin page on sf.net and choose
101 add/edit releases for more details
102
d1cd84e7 103b) ftp.remstar.com (Julian has the password)
6b5691cb 104
d1cd84e7 1055. Announcing the release
6b5691cb
VZ
106-------------------------
107
e8565711
RR
108a) FreshMeat:
109 - http://freshmeat.net/projects/wxwindowsgtk/
110 - username and password are "wxgtk" for logging in
111 - hit "new release" at the top
112 - follow the step by step
d1cd84e7
VZ
113
114b) wx-announce mailing list: mailto:wx-announce@lists.wxwindows.org
115
116 [where is the announcement text? TODO]
1a2c3cae
VZ
117
118c) update www.wxwindows.org
119
e8565711
RR
120d) GNOME (very effective, stays on front page for days):
121 - http://www.gnome.org/applist
122 - Search for wxWindows
123 - Update the version number
124 - Ignore the error message
125
126e) MacNN:
127 - http://www.macnn.com
128 - Contact or Contribute or something
129
130f) MacRumors:
131 - http://www.macrumors.com
132 - Contact or Contribute or something
133
134g) Apple Developers Connection:
135 mailto: adcnews@apple.com
136
137h) LinuxDevices.com:
138 Interesting for wxUniversal.
139
140i) The Python mailing list:
141