File: README.source

package info (click to toggle)
lugaru 0~20110520.1%2Bhge4354%2Bdfsg-3
  • links: PTS, VCS
  • area: contrib
  • in suites: wheezy
  • size: 1,996 kB
  • sloc: cpp: 28,183; ansic: 733; makefile: 50; sh: 12
file content (106 lines) | stat: -rw-r--r-- 3,878 bytes parent folder | download
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
lugaru for Debian
--------------------

Contents:
 1. Install target
 2. Version control in Debian
    2.1 VCS setup for Debian changes
    2.2 VCS setup for new upstream versions
 3. Quilt

1. INSTALL TARGET
Lugaru's install target is controlled by LUGARU_INSTALL_PREFIX, it defaults to
/usr/local/


2. VERSION CONTROL IN DEBIAN
The Debian Lugaru git repository is set up as follows:

<googlecode mercurial>           master
                                   ||
<debian git>                     master
                                /      \
                           source       data
                           /                \
                    debian_source      debian_data

* <debian git> master:
  Converted directly from master branch of <http://code.google.com/p/lugaru>
  using git-hg from <https://github.com/offbytwo/git-hg>
* source:
  Branched from upstream_hg_master, Data items, Dependencies/, and Xcode/
  removed
* data:
  Branched from upstream_hg_master, Source items, Dependencies/, and Xcode/
  removed
* debian_source:
  Branched from source branch, debian packaging added (debian/)
* debian_data:
  Branched from data branch, debian packaging added (debian/)

Note that former merges have used different branch names than current.


2.1 VCS SETUP FOR DEBIAN CHANGES
Debian packaging work should happen on the debian_source branch, and NOT on
master. Hence, after a standard git clone it is convenient to do:
 $ git branch debian_source origin/debian_source
 $ git checkout debian_source

2.2 VCS SETUP FOR NEW UPSTREAM VERSIONS
In the case or releasing a new snapshot from upstream things are a bit more
complicated, the suggested way to set this up is is:
 i.   Clone the Debian git repository
 ii.  Use git-hg to clone the upstream mercurial repository
 iii. Manually add the hg integration to the Debian git clone
 iiv. Setup our local master branch to track the remote mercurial master branch
 iv.  Merge master into source
 v.   Merge source into debian_source
This integration does unfortunately not follow along as the git repository is
cloned, and hence will have to be setup locally for each person.

 i. Clone the Debian git repository
    $ git clone git://git.debian.org/git/pkg-games/lugaru.git lugaru-debian

 ii. Use git-hg to clone the upstream mercurial repository
     $ git clone https://github.com/offbytwo/git-hg.git git-hg
     $ cd git-hg/

     Get the required fast-export submodule
     $ git submodule update --init

     Edit git-hg to call fast-export with --force, it will otherwise fail with
     "Error: repository has at least one unnamed head" for the lugaru repository
     $ sed s/\$HG_FAST_EXPORT\ -r/\$HG_FAST_EXPORT\ --force\ -r/ -i bin/git-hg
     $ cd ..
     $ git-hg/bin/git-hg clone https://lugaru.googlecode.com/hg/ lugaru-hg-git

 iii. Manually add the hg integration to the Debian git clone
      $ cp -r lugaru-hg-git/.git/hgremote/ lugaru-debian/.git/
      $ cp -r lugaru-hg-git/.git/hgcheckout/ lugaru-debian/.git/
      $ cp lugaru-hg-git/.git/FETCH_HEAD lugaru-debian/.git/
      $ cp -r lugaru-hg-git/.git/refs/remotes/hg lugaru-debian/.git/refs/remotes

 iiv. Setup our local master branch to track the remote mercurial master branch
      $ git remote add hg .git/hgremote
      $ git checkout master
      $ git-hg pull

 iv. Merge master into source
     $ git branch source origin/source
     $ git checkout source
     $ git merge master

 v. Merge source into debian_source
    $ git branch debian_source origin/debian_source
    $ git checkout debian_source
    $ git merge source


3. QUILT
This package uses quilt to manage all modifications to the upstream
source.  Changes are stored in the source package as diffs in
debian/patches and applied during the build.

On Debian systems with quilt installed, further documentation is available in
`/usr/share/doc/quilt/README.source'