Other languages Deutsch ; English ; Français ; |
Contents
This page is meant for people interested in becoming Mageia packagers. It provides a guide for the first steps that lead to becoming an apprentice. If you are already a Mageia packager and want to become a mentor, see Becoming a Mageia Mentor.
What is needed to become a Mageia packager
To become a Mageia packager, you have to be mentored by an experienced Mageia packager. You will be an apprentice until your mentor considers you are ready to be a fully qualified packager.
There are very few general prerequisites.
The most important one is enthusiasm for Mageia, Linux and free software in general, as well as the enthusiasm to learn. The other prerequisites are more related to the basic usage of a Linux system, notably installing, removing packages, and good command-line skill.
Additional experiences, such as reporting and helping fix bugs, helping test programs (QA), patch triaging, as well as programming, are very useful. You might consider starting from there if you do not feel comfortable enough with taking on Mageia packaging, but this is not mandatory to become an apprentice.
To summarize, the prerequisites are:
- enthusiasm for the project
- enthusiasm to learn.
Everything else can be learned.
Joining the Mageia Community
Being a Mageia packager is being part of a community of people from all over the world. Becoming a Mageia packager, therefore, includes learning about and playing a part in that community.
Opening a Mageia account
The first step is to open a Mageia account (if you haven't already done so) at http://identity.mageia.org/. This will give you access to the various services that are used by the Mageia community.
Interacting with the Mageia community
There are two main ways for the Mageia community to talk: IRC and Mailing lists.
IRC is a good place for discussing in real time.
- development and packaging channel: #mageia-dev on Freenode server
- mentoring channel dedicated to beginners: #mageia-mentoring on Freenode server. This channel will be your communication channel with your mentor during your apprenticeship.
Meetings
The packaging team will have weekly meetings to speak about the global organization, coming releases, priorities to be fixed, link with other teams, new packagers ...
- when: every second Tuesday at 20h UTC ... (19h UTC during European daylight saving time). Check http://meetbot.mageia.org/mageia-dev/2013/ for the dates.
- where: on IRC #mageia-dev on Freenode server
- how long: usually less than 1h, except the last Tuesday of each month where we will have a global one.
Mailing-lists
You should sign up to various mailing lists to keep track of the current choices that the community is making.
- discuss@ml.mageia.org is a list useful to all contributors, for general discussions of the directions of Mageia.
- dev@ml.mageia.org is essential for all packagers (or apprentices), for discussions about packaging and development.
Some other lists useful to packagers :
- bugs@ml.mageia.org: Bugzilla emails about submitted bugs
- changelog@ml.mageia.org: all new releases of packages submitted - we will work on a specific one regarding backports, this has to be defined later
- packages-commits@ml.mageia.org: all packages commits on Mageia svn
See the mailing lists page for details about subscribing.
Learning about the distribution
The purpose of the Mageia community is mainly to build the Mageia Linux distribution. As an apprentice, it is necessary to familiarize yourself with it.
The best way to get familiar with it is to run Mageia on your computers. There is the current stable version that you should run on your current machines. As an apprentice, however, your goal should be to run Cauldron, the development (unstable) version of Mageia, at least on a test machine, or in a virtual environment.
You will learn about Mageia also by participating in other tasks than packaging. You can help the Bug Squad, the Documentation team, the Internationalisation Team (i18n) or the QA Team. You can also just help informally by testing your favorite software and reporting bugs.
Another way to familiarize yourself with Mageia is to read and understand the documentation. This wiki is meant to play such a role and you will need it as a reference during your training.
Documentation to read
Here is a list of links you should read before starting, using Mageia documentation or more generic ones.
What is packaging?
Mageia packaging links
- Packagers Howto start
- Packagers RPM tutorial - A Mageia tutorial for packagers
- Packaging guidelines
- Packaging for beginners - A page explaining packaging
- Packaging hints - A sort of FAQ or "don't forget" page about packaging
- RPM spec file policy
Packaging in other distributions
- Rpm.org : http://www.rpm.org/ and http://www.rpm.org/max-rpm-snapshot/
- SUSE packaging tutorial (no info about target OS in the rpm name)
Finding a mentor
After reading carefully the previous paragraphs and following the tutorial as much as possible, the last step in becoming an apprentice is to find a mentor.
First, complete these steps :
- Enter your info in the apprentice candidate table below. Be sure to include your email address, so a mentor can contact you.
- Subscribe to and then post a request for a mentor on the dev mailing list.
To find a mentor, you then do any (or all) of :
- Ask for a mentor on IRC (freenode #mageia-mentoring).
- Contact a mentor directly, listed in the Becoming a Mageia Mentor page.
If everything works correctly, a mentor should contact you within a couple of weeks. Coming regularly on IRC (#mageia-mentoring) and asking there will speed up that process.
Once you get a mentor, follow the page Packagers Howto start.
Packaging apprentice candidates
Packaging apprentices looking for a mentor may add their name at the end of this table.
Before doing this, be sure to read the previous sections. To add your name to this list, you have to be logged in to the wiki using your Mageia identity account.
Mageia_id name |
time zone |
(opt) languages |
date added |
interests / skills / comments | |
---|---|---|---|---|---|
example ex name |
example@foo.org | GMT+3 | pt, en | YYYY-MM-DD | anything |
andre999 André Blais |
andre999@laposte.net | UTC-5 | fr, en | 2018-11-18 | supporting Maté desktop, Mageia tools / programming various languages / longtime mga/mdv user + previous apprentice |
dima2387 Dmytro Selin |
dima2387@ukr.net | UTC+2 | rus, en | 2018-12-09 | Mageia tools /want to learn C++ coding (have minimum experience)/I have a lot experience in shell and python scripting. P.S. I am also longtime mga/mdv user |
iceflower Nicolas Peifer |
nic@linuxonfire.de | UTC+1/UTC+2 | de, en | 2019-03-06 | Gnome, Java and other adventures / professional software developer (Java), Linux user for 9+ years |
Packaging apprentices :
In edit mode, copy the template line below to end of table (just before "|}"), and add your info.
{{Pkg:appr-cand| | | |UTC-| |2011-mm-dd|interests+skills }}
Required for contact | |
time zone | e.g. UTC+1 for France, UTC-8 for California, etc. |
languages | (optional) Languages preferred, if not only English |
date added | To see how long you have been waiting for a mentor |
Main Apprenticeship Principles
As an apprentice, your goal is to learn, and for that, your mentor will help. He will set some tasks for you and will supervise your progress. You are of course free to suggests the packages you might be interested in.
A packager contributes to the distribution by two main means: svn (the repository for package sources) and the build system (which produces the binary packages and propagates them). As an apprentice, you will go through the following stages:
- Apprentice (Initiate): no svn commit rights, everything goes through your mentor except for the bugzilla part, where the mentor must ask for bugzilla edit rights to qa or sysadmin list.
- Apprentice+ (Padawan): svn commit rights, but your mentor reviews and submits the packages
- Packager (Jedi): all the rights ... and the responsibility :-)
Graduation Criteria
From Initiate to Padawan, the apprentice needs to have:
- posted a presentation email to our dev mailing list.
- attended the Packaging Seminar 1
- opened a bug report
- fixed a bug (from a bug report, all the way to the end, can be the same)
- helped validate at least one update for QA
- mentor committed at least 5 patches to spec files without problems
The mentor, in agreement with the mentoring manager, decides when the apprentice is ready to become Padawan.
From Padawan to Jedi, the apprentice needs to have:
- attended the Packaging Seminar 2
- provided an update for a stable release (with patching, bug report, advisory)
- mentor pushed at least 10 packages touched without problems
- mentor/SIG sends email on -dev.
The packager meeting decides about graduation.
Apprenticeship in progress
This table should be updated by the mentoring manager.
Mageia ID | Mentor(s) | Initiate | Padawan | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Intro email | Seminar 1 | Bug report | Fix Bug | QA validation | 5 Patches pushed | Padawan | Seminar 2 | Update | 10 Packages pushed | Graduation email | ||
arusekk | zezinho | |||||||||||
andi89gi | zezinho | |||||||||||
afk | zezinho | |||||||||||
adrienguichard | zezinho | Done | Ok | Ok | Ok | Ok | Done | |||||
kcp | zezinho | Done | ||||||||||
diogoleal | zezinho | Done | Ok | Ok | Ok | Ok | Ok | Yes | ||||
nerdsville | zezinho | Done | Ok | No | ||||||||
xboxboy | zezinho | Done | Ok | Ok | Ok | No | ||||||
annubis | juancho | Done | ||||||||||
marja | doktor5000 & shlomif/rindolf | Done | Done | OK | OK | OK | OK | Yes | OK | |||
adriend | daviddavid | Done | Video | OK | OK | |||||||
jamescategory | shlomif/rindolf | Done | ||||||||||
Crox | pterjan | Done | Done | |||||||||
jeffrobins | malo | Done | Video | |||||||||
aleksjan | shlomif/rindolf | |||||||||||
pitahaya | shlomif/rindolf (formerly blue_prawn) | Done | Video | |||||||||
yannick56 | ofaurax | Done | Video | OK | OK | .. | .. | |||||
nmartin | philippem | Done | OK | OK | OK | OK | Yes | OK | ||||
rwobben / Roelof Wobben | shlomif/rindolf | Done | Video | OK | OK | 5/5 patches | ||||||
bersuit / Alfonso Vera | juancho | Done | Done | OK | OK | OK | OK | Yes | OK | OK | OK | |
Steve / Steve Havelka | Akien | |||||||||||
Azlinon / Richard Houser | shlomif/rindolf | Done | Video | OK. | OK. Bug 8605 | 3/5 patches (1st, 2nd 3rd) | ||||||
alket / Alket Rexhepi | Akien | Done | OK | |||||||||
lukenukem | Akien | Done | Video | OK | OK | OK | 3/5 patches - steam, bumblebee, primus | OK | ||||
Moufinure (Pierre Gnaedig) | shlomif/rindolf | Done | Video | |||||||||
stratocaster7 | Luigi12 | Done | Video | OK | OK | 5/5 patches | ||||||
TheSuperGeek | neoclust | Done | Vidéo | OK | OK | |||||||
JMiahMan | ngompa | Done | Video | OK | OK | |||||||
yoriy | primary: zezinho + secondary: shlomi/rindolf | Done | ||||||||||
dima2387 | primary: kekepower + secondary: zezinho | Done | OK | |||||||||
jybz | daviddavid | Done |
For mentors, see Becoming_a_Mageia_Mentor