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
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
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
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.
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
55 The version in the gnash.spec is editied to be consistant.
58 All DEBs are built using dpkg-buildpackage. The version in the
59 changelog is editied to be consistant.