]>
Commit | Line | Data |
---|---|---|
1 | How to prepare wxGTK distribution | |
2 | ================================= | |
3 | ||
4 | 0. Introduction | |
5 | --------------- | |
6 | ||
7 | This note explains what should be done, step by step, to prepare the packages | |
8 | for a wxGTK distribution. | |
9 | ||
10 | 1. Preparing the sources | |
11 | ------------------------ | |
12 | ||
13 | a) Do a fresh checkout using the command | |
14 | ||
15 | cvs -d :pserver:anoncvs@cvs.wxwindows.org:/home/wxcvs co wxGTK | |
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 | ||
25 | b) 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 | |
40 | mine), it simply won't work. | |
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 | |
44 | themselves are already under _dist_dir/wxGTK-${version} where | |
45 | "make dist" creates them | |
46 | ||
47 | 2. Building the RPMs | |
48 | -------------------- | |
49 | ||
50 | Note that we didn't check if the library actually could be built - this is | |
51 | because it is done during this step, during the RPM generation. If, for | |
52 | whatever reason, you don't build the RPMs, you must have checked previously | |
53 | that the library could be built - nothing worse than a release which doesn't | |
54 | even compile! | |
55 | ||
56 | The rest of this section applies to a system with RPM installed (Redhat in my | |
57 | case). | |
58 | ||
59 | a) 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 | ||
73 | b) 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 | ||
90 | 3. Building the DEBs | |
91 | -------------------- | |
92 | ||
93 | [Ron is doing this] | |
94 | ||
95 | 4. Uploading the files | |
96 | ---------------------- | |
97 | ||
98 | All 11 files should be uploaded (via FTP) to several locations. | |
99 | ||
100 | a) incoming.sourceforge.net, go to project admin page on sf.net and choose | |
101 | add/edit releases for more details | |
102 | ||
103 | b) ftp.remstar.com (Julian has the password) | |
104 | ||
105 | 5. Announcing the release | |
106 | ------------------------- | |
107 | ||
108 | a) 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 | |
113 | ||
114 | b) wx-announce mailing list: mailto:wx-announce@lists.wxwindows.org | |
115 | ||
116 | [where is the announcement text? TODO] | |
117 | ||
118 | c) update www.wxwindows.org | |
119 | ||
120 | d) 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 | ||
126 | e) MacNN: | |
127 | - http://www.macnn.com | |
128 | - Contact or Contribute or something | |
129 | ||
130 | f) MacRumors: | |
131 | - http://www.macrumors.com | |
132 | - Contact or Contribute or something | |
133 | ||
134 | g) Apple Developers Connection: | |
135 | mailto: adcnews@apple.com | |
136 | ||
137 | h) LinuxDevices.com: | |
138 | Interesting for wxUniversal. | |
139 | ||
140 | i) The Python mailing list: | |
141 |