summaryrefslogtreecommitdiff
path: root/Software/ProposedXAppsCVSStructure.mdwn
blob: 70dbfd457828a23fe36d6bcfffe3cfb08da3c3db (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


## Proposed Xapps CVS Structure

*NOTE* that this is all beneath `/cvs/xapps`, hence all references to xorg are to a vendor import of the relevant code at `/cvs/xapps/xorg` (see below) 

`xorg/xc/programs/*` 

`otherprogramdirs already there` 

We import vendor source on the `XORG` branch into `xorg/xc/programs/*` using the original directory structure 

We create a `-base` module for the root directory containing `configure.ac` and `Makefile.am` scripts for each package. 

We create a _meta-module_ for each package containing the right directories. 


## Example:

xkbprogs - contains setxkbmap, xkbcomp, xkbevd, xkbprint & xkbutils, 

---+++Create a xapps/xkbprogs-base module: _xkbprogs-base_ 
[[!format txt """
 CONTENTS
 ChangeLog
 Makefile.am
 TODO
 autogen.sh
 configure.ac
"""]]

### Edit CVSROOT/module


[[!format txt """
# xkbprogs module information
setxkbmap xorg/xc/programs/setxkbmap
xkbcomp xorg/xc/programs/xkbcomp
xkbevd   xorg/xc/programs/xkbevd
xkbprint  xorg/xc/programs/xkbprint
xkbutils  xorg/xc/programs/xkbutils
xkbprogs xapps/xkbprogs-base &setxkbmap &xkbcomp &xkbevd &xkbprint &xkbutils
"""]]
We can now `cvs co xkbprogs` and get 
[[!format txt """
 CONTENTS
 ChangeLog
 Makefile.am
 TODO
 autogen.sh
 configure.ac
  setxkbmap/
        FILES
  xkbcomp/
        FILES
  xkbevd/
        FILES
  xkbprint/
        FILES
  xkbutils/
        FILES
"""]]

## Advantages of this method

* Allows us to group the packages whilst still being able to easily diff against upstream CVS. 

* Allows us to leave the Imakefile structure completely intact (i.e. only add autotools support, not remove anything for now) 

* We just add one reference to the jhbuild moduleinfo file for each of the projects. 

---++Disadvantages of this method * Slightly complicated structure. 

* Merging upstream eventually may require addition of module information to upstream CVS 

-- Main.[[MarkHymers|MarkHymers]] - 25 Jun 2004