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
|
# 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.
----
## Tools
It currently comprises:
* bcd
* iurt
* youri
* mgarepo
* web
### 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?)
### 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.
----
|