cast 0 so comparisons with pointers doesn't generate a compiler warning
[gnash.git] / packaging / README
blob121aa8968e44cd70c9f39021bcc4b97699be099c
1 Packaging is relatively complex, especially when supporting multiple
2 packaging systems. Each platform works the same, only the names are
3 changed. Each packaging system has a single top level Makefile target
4 that does the entire process, which can be time consuming. Each of the
5 other targets break the entire process into stages which make it much
6 easier to debug, or redo only one stage of the entire process.
8 For these targets to work correct, your build must be able to survive
9 "make distcheck".
11 xpi      - Build a binary XPI package for Mozilla/Firefox
12 snapshot - Build a binary tarball package for any distribution
13 deb      - Build a binary Debian/Ubuntu package
14 rpm      - Build a binary Redhat/Mandriva package
15 ipkg     - Build a binary IKG package
16 alp      - Build a binary package for the Access Linux Platform
18 snapshot-src: is the primary target used to build the source directory
19               with the correct name. This target uses the internal
20               Automake target "distdir" to make the distribution
21               directory. This always names the sub directory created
22               to hold the distribution files "gnash-trunk". Snapshot-src
23               then renames the sub directory to be gnash-revno, and
24               modifies the configure.ac file in the subdirectory to
25               have the correct version number. All packaging targets
26               start by calling snapshot-src.
29 -configure:  this target configures the package with the appropriate flags
30              in a _build subdirectory in the snapshot distribution sub
31              directory created by snapshot-src. Each package format
32              often requires a different set of configure options,
33              although some options are common, like setting --prefix=/usr.
35 -build:      this target builds the package in the _build sub
36              directory.
38 -install:    this target installs the fresh build and sets DESTDIR so
39              all the files get installed in temporary directory as we
40              don't want to stomp on any preinstalled Gnash on our
41              build machine.
43 -bundle:     this target uses the files from the temporary
44              installation directory to make the actual package in the
45              correct format. This often involves copying files from
46              the source packaging directories, and other tweaks to
47              create the package correctly.
49 RPM
50         All RPMs are built using rpmbuild. Although rpmbuild is
51         primarily used to build packages in one pass via "-ba", it is
52         possible to run the different phases seperately, which makes
53         debugging easier.
55         The version in the gnash.spec is editied to be consistant.
57 DEB
58         All DEBs are built using dpkg-buildpackage. The version in the
59         changelog is editied to be consistant.