File: howto-distrib.txt

package info (click to toggle)
wxpython3.0 3.0.2.0%2Bdfsg-8
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 482,632 kB
  • sloc: cpp: 2,127,216; python: 294,089; makefile: 51,946; ansic: 19,033; sh: 3,013; xml: 1,629; perl: 17
file content (170 lines) | stat: -rw-r--r-- 4,810 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
How to make a wxPython distribution
===================================

This file documents all the steps that need to be taken to make a full
dsitribution of wxPython, building source and binary packages for
Linux, Windows and OSX.  Much of this info is just "notes to self" and
are specific to my machines and their custom setup, and may not be
entirly applicable to others.  If other folks are able to glean some
useful information from this then that is wonderful, but is not the
main intent of this document...



Preflight Checklist
-------------------

* Ensure that the version info in wxPython/config.py is correct.

* Ensure that all build machines are up to date with CVS, they should
  have the same versions of all the wxWidgets files if possible.  (Use
  a CVS tag if this is an official release.)

* Ensure that all SWIG files have been regnerated, by doing a "b 23 t"
  in wxPython, and then "b 23".  Check CVS status again, committing
  changes and updating on other build machines as neccessary.  This
  includes build scripts too, so as tweaks are made in the various
  processes below be sure to check in the scripts.

* Make the wxPython metadata XML file and ensure that it is committed 
  to CVS.  On Xavier do:

       docs/bin/simplify.py

* Ensure that docs/CHANGES.txt and docs/MigrationGuide.txt are
  updated, accurate and checked in to CVS.

* Regenerate the html versions of the ReST docs in wxPython/docs, and
  check in to CVS.  On Xavier do:

       cd wxPython/docs
       docutils-buildhtml	 



Windows  (build env is on Cyclops)
----------------------------------

* Do a clean build of the ansi and unicode hybrid versions of
  wxWidgets:

	cd wx/build/msw
	.make both-hybrid clean
	.make both-hybrid

* Build the tools. This btm script makes a static release version of
  wxWidgets, and then builds copies of wxrc.exe and tex2rtf.exe
  linking with that lib, placing them in wx/lib/vc_dll, (which you
  should have on the PATH.)

       .make_tools.btm

* Make the .mo files

       cd wx/locale
       makemo.py

* Make the HTMLHelp files.  In the wx\wxPython directory run: 

	distrib\makedocs.bat

* Clean any old wxPython builds:

	del /sx build build.unicode

* Build all four versions of wxPython installers:

	 b 23 a

* Build the -devel .zip file:

	dsitrib\makedev.bat $(VERSION)

* Copy the all the files created in wx\wxPython\dist to the file
  server at s:\Development\wxPython\dist\$(VERSION)



Linux
-----

The distribution build for Linux is split across two machines, one to
create the source archives and another to build the binaries.  On the
primary development box (Xavier) do the following steps from the
wx/wxPython dir:

* Clean out any former RPM build dirs, and any former dist files:

	rm -r _build_rpm
	rm dist/*


* Make the demo tarball:
       
       distrib/makedemo

* Make the docs tarball:

       distrib/makedocs

* Make the source tarball:

       distrib/makerpm 2.3 skipclean skiprpm

* Make the four SRPMs:

       distrib/makerpm 2.2 skipclean skipcopy skiptar srpm
       distrib/makerpm 2.3 skipclean skipcopy skiptar srpm
       distrib/makerpm 2.2 skipclean skipcopy skiptar srpm gtk2
       distrib/makerpm 2.3 skipclean skipcopy skiptar srpm gtk2

* Copy all the files created in wx/wxPython/dist to the file server at
  /stuff/Development/wxPython/dist/$(VERSION)



* The second half of the build process for Linux (building the binary
  RPMs) is performed on a fairly raw (uncustomized, only used for
  these builds, etc.) RedHat 9 machine.  This is done to make the RPMs
  as generic as possible, ensuring that there are no dependencies on
  non-standard libs and such that may be on my main development
  machine.  There are RH-9 VMware VMs both on Cyclops and on Xavier
  that are setup to do this, with both Python 2.2 and 2.3 installed,
  gtk+1.2 and gtk+2 devel libs, etc. As the root user, do the
  following:

     mkdir /tmp/build
     cd /tmp/build
     SRCDIR=/stuff/Development/wxPython/dist/$(VERSION)
     for srpm in $SRCDIR/*.src.rpm; do
	 myrpmbuild --rebuild $srpm
     done

* Copy the resulting RPMs to /stuff/Development/wxPython/dist/$(VERSION)




Mac OSX
-------

The Mac OSX build uses the tarball created on Linux, so it must be
created first and in place on the file server.  There are currently
two builds made of wxPythonOSX, one for Panther and Apple's version of
Python, and one for Jaguar and a self-installed MacPythonOSX.  

* On BigMac run the following as root:

     cd wx/wxPython
     distrib/mac/wxPythonOSX/build panther

* On Whopper run the following as root: 

     cd wx/wxPython
     distrib/mac/wxPythonOSX/build jaguar

* Copy the resulting disk image files in wx/wxPython/dist on each
  machine to /stuff/Development/wxPython/dist/$(VERSION) on the file
  server.