aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 5684db339da5ab41f9d47b8cb83660a7520ea999 (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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Mageia build system & tools

***This is an attempt to summarize, document and organize the whole tools making
the buildsystem here at Mageia.***

## Big picture

TODO _show_ what are all the pieces of the build system,
how they interact, who interacts with these, and what are the basic actions
of each actor, and expected reactions.

Objects:

 * source code
 * spec file
 * source package
 * compiled package
 * packages repository
 * system image
 * ?

Roles:

 * distribution release manager
 * build system admin
 * packages repository admin
 * packager
 * system (scheduled/triggered tasks)

----
## Tools

It currently comprises:

 * bcd
 * iurt
 * youri
 * mgarepo
 * web
 * draklive (in soft/draklive and soft/draklive-install)


### bcd

 * BCD a new tool to build Mandriva ISO.
 * License: GNU LGPL 2.1

 * works: manually (can be automated?)
 * for: distribution release manager
 * input: distribution repository + specific configurations
 * output: installable ISO image of the distribution (what about live images? other images?)

### draklive

 * draklive is...
 * License: GNU GPL 2+

 * works: manually (can be automated?)
 * for: distribution release manager
 * input: distribution repository + specific configuration
 * output:

### iurt

 * No READMEs. Descriptions taken from header docs:
   * iurt: compare and rebuild packages on different architecture
   * emi: upload packages in queue when all the mandatory architectures are done
   * ulri: compare and rebuild packages on different architecture
 * TODOs are in comments in the code, should be checked for current validity.
 * License: GNU GPL v2+

 * works: manually
 * for: packager
 * input: ?
 * output: ?

### youri

 * YOURI stands for "Youri Offers an Upload & Repository Infrastucture".
 * It aims to build tools making management of a coherent set of packages easier.
   Managing a package repository involves many tasks, such as keeping packages
   tree tidy, generating packages indexes, synchronising bug report system,
   running coherency checks, checking for available updates, etc...
   Instead of a gazillion project-specific scripts, we aim to provide a generic
   package-format independant framework, so as to build coherent and robust tools.

 * Components:
   * youri-check allows to check packages
   * youri-upload allows to upload packages

 * License: Perl License

 * works: automatically and manually?
 * for: buildsystem/repository admin?
 * input: ?
 * output: ?

### mgarepo

 * mgarepo is the tool used to manage RPM packages in a subversion repository
   on Mageia.
 * It is a fork of the repsys tool used by Mandriva.
 * It is used to create, tag releases, generate .src.rpm, generate changelog,
   and request new package releases for build. It mostly acts as a interface
   to svn(1) commands and small task scripts run that on the build system side
   over ssh(1).
 * For more information, see mgarepo(8)
 * The discussion on the development of mageiarepo takes place on the
   Mageia developers mailing list.
 * License: 
 * Howtos: https://wiki.mageia.org/en/Mgarepo

 * works: manually
 * for: packager
 * input: ?
 * output: ?

### web

 * hosts components to report various states in the build system
   (upload queue, uploaded packages and build results, etc.)
 * License:

 * works: auto
 * for: anyone willing to checkout status info about the whole system
 * input: various data sources in the system (TODO details)
 * output: HTML documents and parsable data structures (JSON, text)

----
## Code

Code is available in:

 - [Subversion](svn://svn.mageia.org/svn/soft/build_system),
 - [Web view](http://svnweb.mageia.org/soft/build_system).

---
## TODO & BUGS

 * please check out [our quite extensive Bugzilla](https://bugs.mageia.org/buglist.cgi?query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=BuildSystem&product=Infrastructure)
   and use it for further bugs.



----