/[soft]/build_system/README.md
ViewVC logotype

Contents of /build_system/README.md

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6489 - (show annotations) (download)
Wed Nov 21 08:23:48 2012 UTC (11 years, 5 months ago) by rda
File size: 5384 byte(s)
rewrite tools presentation list + links
1 # Mageia build system & tools
2
3 ***This is an attempt to summarize, document and organize the whole tools making
4 the buildsystem here at Mageia.***
5
6 ## Big picture
7
8 TODO _show_ what are all the pieces of the build system,
9 how they interact, who interacts with these, and what are the basic actions
10 of each actor, and expected reactions.
11
12 See possible docs:
13
14 * [BS details on Mandriva wiki](http://wiki.mandriva.com/en/Build_System_Details)
15 * [Dev tasks, BS theory on Mandriva wiki](http://wiki.mandriva.com/en/Development/Tasks/Packaging/BuildSystem/Theory)
16 * [Dev tasks, BS overview on Mandriva wiki](http://wiki.mandriva.com/en/Development/Tasks/Packaging/BuildSystem/Overview)
17 * [Packagers HOWTO](https://wiki.mageia.org/en/Packagers_Howto_start)
18
19 Objects:
20
21 * source code
22 * spec file
23 * source package
24 * compiled package
25 * packages repository
26 * system image
27 * ?
28
29 Roles:
30
31 * distribution release manager
32 * build system admin
33 * packages repository admin
34 * packager
35 * system (scheduled/triggered tasks)
36
37 ----
38 ## Tools included
39
40 Packager tools:
41
42 * mgarepo - the tool used to manage RPM packages in a subversion repository on Mageia.
43
44 Building & pkg management tools:
45
46 * iurt, emi & ulri
47 * youri - the suite uploading and managing the RPM repositories after the builds
48
49 Tools to build final images:
50
51 * bcd - for installer ISOs
52 * draklive - for live ISOs
53 * ?
54
55 Reporting tools:
56
57 * web
58
59
60 TODO testing tools? other final builds tools? how/where/when are isolinux/*, dosutils/*, misc/* and install/* (.iso and .img included) built in distrib/{arch}?
61
62 Details follow.
63
64 ----
65
66 ### bcd
67
68 * BCD a new tool to build Mandriva ISO.
69 * License: GNU LGPL 2.1
70
71 * works: manually (can be automated?)
72 * for: distribution release manager
73 * input: distribution repository + specific configurations
74 * output: installable ISO image of the distribution (what about live images? other images?)
75
76 ### draklive
77
78 * draklive is...
79 * License: GNU GPL 2+
80 * Code is in svn://svn.mageia.org/svn/soft/{draklive,draklive-install}
81
82 * works: manually or automated
83 * for: distribution release manager
84 * input: distribution repository + specific configuration
85 * output:
86
87 ### iurt
88
89 * Descriptions taken from header docs:
90 * iurt: build packages inside clean chroots
91 * emi: upload packages in queue when all the mandatory architectures are done
92 * ulri:
93 * sends packages to the build nodes for each architecture
94 * collects built packages and logs
95 * TODOs are in comments in the code, should be checked for current validity.
96 * License: GNU GPL v2+
97
98 * iurt docs:
99 * [iurt HOWTO on Mandriva wiki](http://wiki.mandriva.com/en/Development/Howto/Iurt)
100 * [iurt analysis on Mandriva wiki](http://wiki.mandriva.com/en/Development/Tasks/Packaging/IurtAnalysis)
101
102 * works: manually
103 * for: packager
104 * input: source package
105 * output: compiled packages
106
107 ### youri
108
109 * YOURI stands for "Youri Offers an Upload & Repository Infrastucture".
110 * It aims to build tools making management of a coherent set of packages easier.
111 Managing a package repository involves many tasks, such as keeping packages
112 tree tidy, generating packages indexes, synchronising bug report system,
113 running coherency checks, checking for available updates, etc...
114 Instead of a gazillion project-specific scripts, we aim to provide a generic
115 package-format independant framework, so as to build coherent and robust tools.
116
117 * Components:
118 * youri-check allows to check packages
119 * youri-upload allows to upload packages
120
121 * License: Perl License
122
123 * works: automatically and manually?
124 * for: buildsystem/repository admin?
125 * input: ?
126 * output: ?
127
128 ### mgarepo
129
130 * mgarepo is the tool used to manage RPM packages in a subversion repository
131 on Mageia.
132 * It is a fork of the repsys tool used by Mandriva.
133 * It is used to create, tag releases, generate .src.rpm, generate changelog,
134 and request new package releases for build. It mostly acts as a interface
135 to svn(1) commands and small task scripts run that on the build system side
136 over ssh(1).
137 * For more information, see mgarepo(8)
138 * The discussion on the development of mageiarepo takes place on the
139 Mageia developers mailing list.
140 * License:
141 * Howtos: [mgarepo](https://wiki.mageia.org/en/Mgarepo)
142
143 * works: manually
144 * for: packager
145 * input: ?
146 * output: ?
147
148 ### web
149
150 * hosts components to report various states in the build system
151 (upload queue, uploaded packages and build results, etc.)
152 * License:
153
154 * works: auto
155 * for: anyone willing to checkout status info about the whole system
156 * input: various data sources in the system (TODO details)
157 * output: HTML documents and parsable data structures (JSON, text)
158
159 ----
160 ## Code
161
162 Code is available in:
163
164 - [Subversion](svn://svn.mageia.org/svn/soft/build_system),
165 - [Web view](http://svnweb.mageia.org/soft/build_system).
166
167 ---
168 ## TODO & BUGS
169
170 * 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)
171 and use it for further bugs.
172 * see and compare/update from:
173 * [Dev tasks for BS improvement on Mandriva Wiki](http://wiki.mandriva.com/en/Development/Tasks/Packaging/BuildSystem/Improvements)
174 * [Proposals for SoC 2012](https://wiki.mageia.org/en/SummerOfCode2012#Projects_Proposals)
175 *
176
177
178 ----

  ViewVC Help
Powered by ViewVC 1.1.30