]> git.saurik.com Git - wxWidgets.git/blame - docs/tech/tn0013.txt
No change
[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
00fd036c
VZ
8for a wxGTK distribution. Note that the same instructions should be used for
9the other Unix-based ports including wxMotif, wxX11 and wxBase.
6b5691cb
VZ
10
111. Preparing the sources
12------------------------
13
14a) Do a fresh checkout using the command
15
2b5f62a0 16 cvs -d :pserver:anoncvs@cvs.wxwindows.org:/packs/cvsroots/wxwindows co wxGTK
6b5691cb
VZ
17
18 NB: if you realize later that some needed files were not checked out
19 by this command, please modify CVSROOT/modules to include the missing
20 files so that it works for the next release!
21
22 You also need the samples, demos and contrib directories, so change to
23 wxWindows directory created by the first cvs command and do "cvs up -d"
24 for each of them.
25
26b) Create a build directory under wxWindows, e.g. I use "gtk-release",
00fd036c
VZ
27 "cd" to it and run configure: the options don't really matter, you can use
28 something like
29
30 ../configure --no-recursion
31
32 to make it run a bit faster.
33
34c) Then type "make -j1 dist bzip-dist-only". This should create the
35 following files;
6b5691cb
VZ
36
37 wxGTK-${version}.tar.bz2
38 wxGTK-demos-${version}.tar.bz2
39 wxGTK-samples-${version}.tar.bz2
40 wxGTK-${version}.tar.gz
41 wxGTK-demos-${version}.tar.gz
42 wxGTK-samples-${version}.tar.gz
43
44 where version is something like 2.3.2.
45
46 Note 1: "-j1" is needed now because make dist target is broken and doesn't
47 allow parallelizing, if your make is aliased to "make -j4" (like
d1cd84e7 48 mine), it simply won't work.
6b5691cb 49
00fd036c 50 Note 2: there are also dist-only and bzip-dist targets, the "-only" suffix
6b5691cb 51 means to just create the archive supposing that the files
d1cd84e7
VZ
52 themselves are already under _dist_dir/wxGTK-${version} where
53 "make dist" creates them
6b5691cb
VZ
54
552. Building the RPMs
56--------------------
57
00fd036c 58Note that we didn't check if the library actually could be built -- this is
6b5691cb
VZ
59because it is done during this step, during the RPM generation. If, for
60whatever reason, you don't build the RPMs, you must have checked previously
00fd036c 61that the library could be built -- nothing worse than a release which doesn't
6b5691cb
VZ
62even compile!
63
64The rest of this section applies to a system with RPM installed (Redhat in my
65case).
66
67a) Setting up the RPM tree: you should have the RPM tree set up properly
68 before doing anything else. If you are going to build the RPMs as root,
69 you already have one under /usr/src/redhat and can just build there.
70 Otherwise you may do it (without root rights) in any directory RPM_ROOT.
71 RPM_ROOT should have the following subdirectories: BUILD, RPMS, SOURCES,
72 SPECS and SRPMS. RPMS should contain i386, i686 and noarch. You should
00fd036c
VZ
73 also create the file ~/.rpmmacros containing at least a line like this:
74 "%_topdir /biton/zeitlin/rpm" (replace the directory with $RPM_ROOT, of
75 course)
6b5691cb
VZ
76
77 In either case, put the file wxGTK-${version}.tar.bz2 in SOURCES
78 subdirectory and wxGTK.spec in SPECS one (hint: you can just link them from
00fd036c 79 there -- like this you won't forget to update them after redoing "make
6b5691cb
VZ
80 dist").
81
00fd036c 82b) Start RPM build by going to RPM_ROOT directory and typing "rpm -ba
2b5f62a0 83 SPECS/wxGTK.spec". It may be a good idea to append "2>&1 | tee wxGTK.out"
6b5691cb
VZ
84 (or "|& tee" if you're using the one true shell ;-) as it might be not
85 easy to detect errors in the verbose rpm output if anything goes wrong.
86
87 Then wait (and pray that nothing goes wrong because if anything does
88 you'll have to restart from the very beginning because rpm doesn't allow
89 to short circuit the package generation).
90
91 If everything goes well, the following files are produced:
92
93 SRPMS/wxGTK-${version}-1.src.rpm
94 RPMS/i386/wxGTK-${version}-1.i386.rpm
95 RPMS/i386/wxGTK-devel-${version}-1.i386.rpm
96 RPMS/i386/wxGTK-gl-${version}-1.i386.rpm
97 RPMS/i386/wxGTK-static-${version}-1.i386.rpm
98
fad5a51f
VS
99 Use "rpm -ba --with gtk2" to build GTK+2 version of wxGTK and use
100 "rpm -ba --with gtk2 --with unicode" to build GTK+2 Unicode build.
00fd036c
VZ
101
102 Note: you may want to set the environment variable SMP to 3 or 4 on an
103 SMP machine to speed up the build (it uses "make -j$SMP" if the
104 variable is set)
105
106c) Test the resulting RPMs: install them using "rpm -i" (or "rpm -U) as usual
107 and try to build some samples using makefile.unx ("make -f makefile.unx")
108 so that they use wx-config in the PATH and not from the build tree
109
d1cd84e7
VZ
1103. Building the DEBs
111--------------------
112
113[Ron is doing this]
114
1154. Uploading the files
6b5691cb
VZ
116----------------------
117
118All 11 files should be uploaded (via FTP) to several locations.
119
120a) incoming.sourceforge.net, go to project admin page on sf.net and choose
121 add/edit releases for more details
122
f44b23b6 123b) ftp://biolpc22.york.ac.uk/pub (Julian has the password)
6b5691cb 124
d1cd84e7 1255. Announcing the release
6b5691cb
VZ
126-------------------------
127
e8565711
RR
128a) FreshMeat:
129 - http://freshmeat.net/projects/wxwindowsgtk/
130 - username and password are "wxgtk" for logging in
131 - hit "new release" at the top
132 - follow the step by step
d1cd84e7
VZ
133
134b) wx-announce mailing list: mailto:wx-announce@lists.wxwindows.org
135
136 [where is the announcement text? TODO]
1a2c3cae
VZ
137
138c) update www.wxwindows.org
139
e8565711
RR
140d) GNOME (very effective, stays on front page for days):
141 - http://www.gnome.org/applist
142 - Search for wxWindows
143 - Update the version number
144 - Ignore the error message
00fd036c 145
e8565711
RR
146e) MacNN:
147 - http://www.macnn.com
148 - Contact or Contribute or something
149
150f) MacRumors:
151 - http://www.macrumors.com
152 - Contact or Contribute or something
153
154g) Apple Developers Connection:
155 mailto: adcnews@apple.com
00fd036c 156
e8565711
RR
157h) LinuxDevices.com:
158 Interesting for wxUniversal.
159
160i) The Python mailing list:
161