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

Annotation of /build_system/README.md

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6447 - (hide annotations) (download)
Wed Nov 14 17:39:24 2012 UTC (11 years, 5 months ago) by rda
File size: 4536 byte(s)
links to additional resources on Mandriva and Mageia wikis (thx blino)
1 rda 6445 # 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 rda 6447 See possible docs:
13     * http://wiki.mandriva.com/en/Build_System_Details
14     * http://wiki.mandriva.com/en/Development/Tasks/Packaging/BuildSystem/Theory
15     * http://wiki.mandriva.com/en/Development/Tasks/Packaging/BuildSystem/Overview
16     * https://wiki.mageia.org/en/Packagers_Howto_start
17    
18 rda 6446 Objects:
19    
20     * source code
21     * spec file
22     * source package
23     * compiled package
24     * packages repository
25     * system image
26     * ?
27    
28     Roles:
29    
30     * distribution release manager
31     * build system admin
32     * packages repository admin
33     * packager
34     * system (scheduled/triggered tasks)
35    
36 rda 6445 ----
37     ## Tools
38    
39     It currently comprises:
40    
41     * bcd
42     * iurt
43     * youri
44     * mgarepo
45     * web
46 rda 6446 * draklive (in soft/draklive and soft/draklive-install)
47 rda 6445
48    
49     ### bcd
50    
51     * BCD a new tool to build Mandriva ISO.
52     * License: GNU LGPL 2.1
53    
54     * works: manually (can be automated?)
55     * for: distribution release manager
56     * input: distribution repository + specific configurations
57     * output: installable ISO image of the distribution (what about live images? other images?)
58    
59 rda 6446 ### draklive
60    
61     * draklive is...
62     * License: GNU GPL 2+
63    
64 rda 6447 * works: manually or automated
65 rda 6446 * for: distribution release manager
66     * input: distribution repository + specific configuration
67     * output:
68    
69 rda 6445 ### iurt
70    
71 rda 6447 * Descriptions taken from header docs:
72 rda 6445 * iurt: compare and rebuild packages on different architecture
73     * emi: upload packages in queue when all the mandatory architectures are done
74     * ulri: compare and rebuild packages on different architecture
75     * TODOs are in comments in the code, should be checked for current validity.
76     * License: GNU GPL v2+
77    
78 rda 6447 * iurt docs:
79     * http://wiki.mandriva.com/en/Development/Howto/Iurt
80     * http://wiki.mandriva.com/en/Development/Tasks/Packaging/IurtAnalysis
81    
82 rda 6445 * works: manually
83     * for: packager
84     * input: ?
85     * output: ?
86    
87     ### youri
88    
89     * YOURI stands for "Youri Offers an Upload & Repository Infrastucture".
90     * It aims to build tools making management of a coherent set of packages easier.
91     Managing a package repository involves many tasks, such as keeping packages
92     tree tidy, generating packages indexes, synchronising bug report system,
93     running coherency checks, checking for available updates, etc...
94     Instead of a gazillion project-specific scripts, we aim to provide a generic
95     package-format independant framework, so as to build coherent and robust tools.
96    
97     * Components:
98     * youri-check allows to check packages
99     * youri-upload allows to upload packages
100    
101     * License: Perl License
102    
103     * works: automatically and manually?
104     * for: buildsystem/repository admin?
105     * input: ?
106     * output: ?
107    
108     ### mgarepo
109    
110     * mgarepo is the tool used to manage RPM packages in a subversion repository
111     on Mageia.
112     * It is a fork of the repsys tool used by Mandriva.
113     * It is used to create, tag releases, generate .src.rpm, generate changelog,
114     and request new package releases for build. It mostly acts as a interface
115     to svn(1) commands and small task scripts run that on the build system side
116     over ssh(1).
117     * For more information, see mgarepo(8)
118     * The discussion on the development of mageiarepo takes place on the
119     Mageia developers mailing list.
120     * License:
121     * Howtos: https://wiki.mageia.org/en/Mgarepo
122    
123     * works: manually
124     * for: packager
125     * input: ?
126     * output: ?
127    
128     ### web
129    
130     * hosts components to report various states in the build system
131     (upload queue, uploaded packages and build results, etc.)
132     * License:
133    
134     * works: auto
135     * for: anyone willing to checkout status info about the whole system
136     * input: various data sources in the system (TODO details)
137     * output: HTML documents and parsable data structures (JSON, text)
138    
139     ----
140     ## Code
141    
142     Code is available in:
143    
144     - [Subversion](svn://svn.mageia.org/svn/soft/build_system),
145     - [Web view](http://svnweb.mageia.org/soft/build_system).
146    
147     ---
148     ## TODO & BUGS
149    
150     * 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)
151     and use it for further bugs.
152 rda 6447 * see and compare/update from:
153     * http://wiki.mandriva.com/en/Development/Tasks/Packaging/BuildSystem/Improvements
154     * https://wiki.mageia.org/en/SummerOfCode2012#Projects_Proposals
155     *
156 rda 6445
157    
158     ----

  ViewVC Help
Powered by ViewVC 1.1.30