You are on page 1of 3

How to prepare wxGTK distribution ================================= 0.

Introduction --------------This note explains what should be done, step by step, to prepare the packages 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.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 wxWidgets directory created by the first cvs command and do "cvs up -d" for each of them. Of course, you can also check out everything (use wxWidgets module name instead of wxGTK) if the bandwidth and disk space are not a problem. 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 -C --without-subdirs 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 wxGTK-samples-${version}.tar.bz2 wxGTK-${version}.tar.gz wxGTK-demos-${version}.tar.gz wxGTK-samples-${version}.tar.gz where version is something like 2.3.2. Note 1: "-j1" is needed now because make dist target is broken and doesn't 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 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

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 case). If everything goes well. for whatever reason. put the file wxGTK-${version}. .unx") so that they use wx-config in the PATH and not from the build tree 3. 4. RPMS. i686 and noarch.spec in SPECS one (hint: you can just link them from there -. a) Setting up the RPM tree: you should have the RPM tree set up properly before doing anything else.bz2 in SOURCES subdirectory and wxGTK. If.like this you won't forget to update them after redoing "make dist"). Then wait (and pray that nothing goes wrong because if anything does you'll have to restart from the very beginning because rpm doesn't allow to short circuit the package generation). 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.tar. Uploading the files ---------------------All files should be uploaded (via FTP) to several locations. b) Start RPM build by going to RPM_ROOT directory and typing "rpm -ba SPECS/wxGTK.-) as it might be not easy to detect errors in the verbose rpm output if anything goes wrong.rpmmacros containing at least a line like this: "%_topdir /biton/zeitlin/rpm" (replace the directory with $RPM_ROOT. you must have checked previously that the library could be built -. 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 (these are defaults.HowToBuild.-------------------Note that we didn't check if the library actually could be built -. during the RPM generation.out" (or "|& tee" if you're using the one true shell . you already have one under /usr/src/redhat and can just build there.spec". this should produce many files in SRPMS and RPMS/i386 subdirectories. It may be a good idea to append "2>&1 | tee wxGTK. Otherwise you may do it (without root rights) in any directory RPM_ROOT. RPM_ROOT should have the following subdirectories: BUILD.unx ("make -f makefile. If you are going to build the RPMs as root.this is because it is done during this step. you don't build the RPMs. SPECS and SRPMS. of course) In either case. Building the DEBs -------------------This is explained in more details in debian/README. You should also create the file ~/. SOURCES. RPMS should contain i386.txt. you can use --without option to change this).

a) incoming.ac.com: Interesting for wxUniversal.net and choose add/edit releases for more details b) ftp://biolpc22. + The Python mailing list: .http://www.macrumors.org + FreshMeat: .http://freshmeat.wxwidgets.sourceforge. go to project admin page on sf. probably need Robert's account) + MacNN: .net/projects/wxwidgets/ .follow the step by step + wx-announce mailing list: mailto:wx-announce@lists.com .net.com + LinuxDevices.org The standard announcement text is in docs/publicity/announce.Contact or Contribute or something + MacRumors: .york.macnn.Contact or Contribute or something + Apple Developers Connection: mailto: adcnews@apple.uk/pub (Julian has the password) 5.php/wxWidgets (only for stable releases. Announcing the release ------------------------+ update www.com .gnomefiles.wxwidgets.txt + GnomeFiles: .http://www.hit "new release" at the top .org/app.http://www.