summaryrefslogtreecommitdiff
path: root/README
blob: 0c438967e10757890e18365299612bbbda52ca5f (plain)
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
mozilla-devscripts is a collection of scripts based on Makefile inheritance
usable by Mozilla packages in Ubuntu.

- mozclient is an abstract tarball creator which provides a get-new-orig target
- compare is an install checker

The package contains rules for the following projects:
 - firefox-3.0
 - lightning-sunbird (from MOZILLA_1_8_BRANCH)
 - nspr
 - nss
 - seamonkey-2.0
 - thunderbird-3.0
 - xulrunner-1.9

=== mozclient ===

Creates a source tarball from CVS

A clean-up script, called "remove.binonly.sh", is called to remove all
binary-only files. It is applied to all projects before packing.
Traces of the cleaning are preserved inside that resulting tarball
in REMOVED+nobinonly.txt. If nothing has been removed, both the log and
the "+nobinonly" signature are dropped.

To use :

- in debian/control: add mozilla-devscripts to Build-Depends
- in debian/rules: add "include /usr/share/mozilla-devscripts/yourproject.mk"

The following targets are then available to the caller of debian/rules:
- get-orig-source
   Build a tarball according to parameters from project.mk
   and optionally using either DEBIAN_DATE or DEBIAN_TAG
- mozclient-status
   List all the registered CVS tags from upstream server

The caller could specify the following parameters:
DEBIAN_DATE in the form YYYYMMDDtHHMM
 ex: DEBIAN_DATE=20070911t1711
or
DEBIAN_TAG in the form CVS_TAG=debian_version
 ex: DEBIAN_TAG=FIREFOX_3_0b2_RC1=3.0~b2~rc1

Projects files are stored in /usr/share/mozilla-devscripts as .mk files.
They contain the following parameters:

- MOZCLIENT_TARGET (mandatory): a label, usually 'project-orig'
- MOZCLIENT_APPNAME (mandatory): package name
- MOZCLIENT_PROJECT (mandatory): CVS project name
- MOZCLIENT_BRANCH (optional): CVS branch name
- MOZCLIENT_FILE (mandatory): source file containing the version
- MOZCLIENT_GETVERSION (mandatory): how to transform the version
- MOZCLIENT_URL (mandatory): an URL (usually on Bonsai) listing commits
- MOZCLIENT_GETDATE (mandatory): get the last commit date for the project
- MOZCLIENT_EMBEDDED (optional): create an embedded tarball (default: 0)
- MOZCLIENT_WANTMOZDIR (optional): should the root dir be 'mozilla'?
  (default: 0 unless MOZCLIENT_EMBEDDED=1)

Example with firefox-3.0:

- in debian/control, add mozilla-devscripts to Build-Depends
- in debian/rules, add:
   include /usr/share/mozilla-devscripts/firefox-3.0.mk

That's it. You've gained get-orig-source.

You can now call it:
- debian/rules get-orig-source
  => firefox-3.0_3.0~b2~cvs20071120t1456+nobinonly.orig.tar.gz

- debian/rules get-orig-source DEBIAN_DATE=20070914t1713
  => firefox-3.0_3.0~a8~cvs20070914t1713+nobinonly.orig.tar.gz

- debian/rules get-orig-source DEBIAN_TAG=FIREFOX_3_0b2_RC1=3.0~b2~rc1
  => firefox-3.0_3.0~b2~rc1+nobinonly.orig.tar.gz

=== compare ===

Compares installed files and debs content

The following target is available to the caller:
compare: check the difference between what has been installed in debian/tmp
by the (upstream) make install rule and what has been put in the debs.

The following variable are available:
COMPARE_FILTER_IN and COMPARE_FILTER_OUT
By default, both are 'sed' commands that could be augmented (+=) or
overwritten by the caller.

To use (if not already done for another mozilla-devscripts script)

- in debian/control: add mozilla-devscripts to Build-Depends
- in debian/rules: add "include /usr/share/mozilla-devscripts/yourproject.mk"