README
1Packaging is relatively complex, especially when supporting multiple
2packaging systems. Each platform works the same, only the names are
3changed. Each packaging system has a single top level Makefile target
4that does the entire process, which can be time consuming. Each of the
5other targets break the entire process into stages which make it much
6easier to debug, or redo only one stage of the entire process.
7
8For these targets to work correct, your build must be able to survive
9"make distcheck".
10
11xpi - Build a binary XPI package for Mozilla/Firefox
12snapshot - Build a binary tarball package for any distribution
13deb - Build a binary Debian/Ubuntu package
14rpm - Build a binary Redhat/Mandriva package
15ipkg - Build a binary IKG package
16alp - Build a binary package for the Access Linux Platform
17
18snapshot-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.
27
28
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.
34
35-build: this target builds the package in the _build sub
36 directory.
37
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.
42
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.
48
49RPM
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.
54
55 The version in the gnash.spec is editied to be consistant.
56
57DEB
58 All DEBs are built using dpkg-buildpackage. The version in the
59 changelog is editied to be consistant.
60