---------------
This note explains what should be done, step by step, to prepare the packages
-for a wxGTK distribution.
+for a wxGTK distribution. Note that the same instructions should be used for
+the other Unix-based ports including wxMotif, wxX11 and wxBase.
+
+See distrib/msw/makerpm for a script that embodies some of the steps
+below.
1. Preparing the sources
------------------------
a) Do a fresh checkout using the command
- cvs -d :pserver:anoncvs@cvs.wxwindows.org:/home/wxcvs co wxGTK
+ cvs -d :pserver:anoncvs@cvs.wxwidgets.org:/packs/cvsroots/wxwidgets co wxGTK
NB: if you realize later that some needed files were not checked out
by this command, please modify CVSROOT/modules to include the missing
files so that it works for the next release!
You also need the samples, demos and contrib directories, so change to
- wxWindows directory created by the first cvs command and do "cvs up -d"
+ wxWidgets directory created by the first cvs command and do "cvs up -d"
for each of them.
-b) Create a build directory under wxWindows, e.g. I use "gtk-release",
- "cd" to it and type "make -j1 dist bzip-dist-only". This should create
- the following files;
+b) Create a build directory under wxWidgets, e.g. I use "gtk-release",
+ "cd" to it and run configure: the options don't really matter, you can use
+ something like
+
+ ../configure --no-recursion
+
+ to make it run a bit faster.
+
+c) Then type "make -j1 dist bzip-dist-only". This should create the
+ following files;
wxGTK-${version}.tar.bz2
wxGTK-demos-${version}.tar.bz2
allow parallelizing, if your make is aliased to "make -j4" (like
mine), it simply won't work.
- Note 2; there are also dist-only and bzip-dist targets, the "-only" suffix
+ Note 2: there are also dist-only and bzip-dist targets, the "-only" suffix
means to just create the archive supposing that the files
themselves are already under _dist_dir/wxGTK-${version} where
"make dist" creates them
2. Building the RPMs
--------------------
-Note that we didn't check if the library actually could be built - this is
+Note that we didn't check if the library actually could be built -- this is
because it is done during this step, during the RPM generation. If, for
whatever reason, you don't build the RPMs, you must have checked previously
-that the library could be built - nothing worse than a release which doesn't
+that the library could be built -- nothing worse than a release which doesn't
even compile!
The rest of this section applies to a system with RPM installed (Redhat in my
Otherwise you may do it (without root rights) in any directory RPM_ROOT.
RPM_ROOT should have the following subdirectories: BUILD, RPMS, SOURCES,
SPECS and SRPMS. RPMS should contain i386, i686 and noarch. You should
- also create the file ~/.rpmmacros containing at least the following line:
- "%_topdir /biton/zeitlin/rpm".
+ also create the file ~/.rpmmacros containing at least a line like this:
+ "%_topdir /biton/zeitlin/rpm" (replace the directory with $RPM_ROOT, of
+ course)
In either case, put the file wxGTK-${version}.tar.bz2 in SOURCES
subdirectory and wxGTK.spec in SPECS one (hint: you can just link them from
- there - like this you won't forget to update them after redoing "make
+ there -- like this you won't forget to update them after redoing "make
dist").
-b) Start RPM build by going to RPM_ROOT directory and typing "rpm -bb
- SPECS/wxGTK.spec". It may be a good idea to append "2&>1 | tee wxGTK.out"
+b) Start RPM build by going to RPM_ROOT directory and typing "rpm -ba
+ SPECS/wxGTK.spec". It may be a good idea to append "2>&1 | tee wxGTK.out"
(or "|& tee" if you're using the one true shell ;-) as it might be not
easy to detect errors in the verbose rpm output if anything goes wrong.
RPMS/i386/wxGTK-gl-${version}-1.i386.rpm
RPMS/i386/wxGTK-static-${version}-1.i386.rpm
+ Use "rpm -ba --with gtk2" to build GTK+2 version of wxGTK and use
+ "rpm -ba --with gtk2 --with unicode" to build GTK+2 Unicode build.
+
+ Note: you may want to set the environment variable SMP to 3 or 4 on an
+ SMP machine to speed up the build (it uses "make -j$SMP" if the
+ variable is set)
+
+c) Test the resulting RPMs: install them using "rpm -i" (or "rpm -U) as usual
+ and try to build some samples using makefile.unx ("make -f makefile.unx")
+ so that they use wx-config in the PATH and not from the build tree
+
3. Building the DEBs
--------------------
a) incoming.sourceforge.net, go to project admin page on sf.net and choose
add/edit releases for more details
-b) ftp.remstar.com (Julian has the password)
+b) ftp://biolpc22.york.ac.uk/pub (Julian has the password)
5. Announcing the release
-------------------------
-a) FreshMeat: http://freshmeat.net/projects/wxwindowsgtk/
+a) FreshMeat:
+ - http://freshmeat.net/projects/wxwidgetsgtk/
+ - username and password are "wxgtk" for logging in
+ - hit "new release" at the top
+ - follow the step by step
-b) wx-announce mailing list: mailto:wx-announce@lists.wxwindows.org
+b) wx-announce mailing list: mailto:wx-announce@lists.wxwidgets.org
[where is the announcement text? TODO]
+
+c) update www.wxwidgets.org
+
+d) GNOME (very effective, stays on front page for days):
+ - http://www.gnome.org/applist
+ - Search for wxWidgets
+ - Update the version number
+ - Ignore the error message
+
+e) MacNN:
+ - http://www.macnn.com
+ - Contact or Contribute or something
+
+f) MacRumors:
+ - http://www.macrumors.com
+ - Contact or Contribute or something
+
+g) Apple Developers Connection:
+ mailto: adcnews@apple.com
+
+h) LinuxDevices.com:
+ Interesting for wxUniversal.
+
+i) The Python mailing list:
+