Other languages Deutsch ; English ; Français ; |
Synopsis: 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. |
Contents
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 Liberachat server
- mentoring channel dedicated to beginners: #mageia-mentoring on Liberachat 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 Liberachat 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 (#mageia-dev).
- 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 | UTC+3 | pt, en | YYYY-MM-DD | What you would like to work with (example areas/programs), what coding and tools you master or like to learn, are you a long time user, do you work on other parts of Mageia. |
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 |
joselp Jose López |
joselp@e.email | UTC+1 | es | 2021-04-09 | I package some apps for Blogdrake repo, from spec file and srpm. I'm user of Mandriva/Mageia from 2008, and I am in QA team and Translations team of Mageia |
magicd3vil Michael Slíva |
michael@sliva.dev | UTC+1 | cs, en | 2022-03-12 | I am a Linux enthusiast, programmer, sysadmin, and avid supporter of open-source software and community. After a lot of distro-hopping, I chose Mageia back in 2018 and never turned back. I want to give back to this great community as a packager while learning something useful and new at the same time. I am knowledgeable at using terminal, shell scripting, bash, and I've repackaged a few packages for myself before. I've also contributed to the Czech translation of the Mageia doc_installer on the Transifex in the past. |
katnatek José Alberto Valle Cid |
j.alberto.vc@gmail.com | UTC-6 | es, en | 2023-09-23 | I am member of blogdrake.net the Official Community for Spanish Talking people of Mageia, I start with Mandrake in my University times, after some time I come back near the time Mandrake change the name to Mandriva, with other friends of BlogDrake start to learn to package by our side and create the BlogDrake repository, I make some stuff or take care of other for the BlogDrake Community, I use scripts in bash or php created or tweaked by me to simplify my task administrating the repository. I contribute in spanish translation in wiki and transifex , make bug reporting, a few update testing and help in some bug reports, I even sometimes give a hand in wiki pages of other languages, recently i join to qa team. |
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 valid. | 5 Patches | Seminar 2 | Update | 10 Packages | Graduation email Or last update | ||
Template | Example | 2021-02-14 | Done | Done | Done | Done | 5/5 app1 app2 app3 app4 app5 |
Done | Done | 10/10 app1 app2 app3 app4 app5 app6 app7 app8 app9 app10 |
Done 2021-02-14] |
katnatek | papoteur | 2023-10-11 | Done | Done | Done | Done | lyx mythtv task-plasma5 (spectacle) obconf pidgin-googlechat |
Done | Done | python-setuptools-git-versioning
python-sphinxcontrib-jquery whatsie evdi awf-extended |
|
marja | doktor5000 | Done | Done | Done | Done | Done | 5/5 ? |
Done | |||
Crox | pterjan | Done | Done | ||||||||
yannick56 | ofaurax | 2013-07-xx | Done | Done | Done | .. | .. | ||||
nmartin | philippem | Done | Done | Done | Done | 5/5 ? |
Done | ||||
TheSuperGeek | neoclust | Done | Done | Done | Done | ||||||
JMiahMan | ngompa | 2017-07-13 | Done | Done | Done | ||||||
yoriy | 2018-04-07 | ||||||||||
dima2387 | kekepower | 2018-12-08 | Done | ||||||||
jybz | neoclust | 2020-02-12 | Done | Done | |||||||
emel_punk | neoclust | 2020-06-26 2022-02-17 | Done | ||||||||
Papoteur | Eight_Doctor | 2021-09-07 | Done 32313 | Done | solfege qt3 nicotine+ pkcs11-helper |
Done | Done | 10/10 python-twisted python-django python-django-registration cockpit python-waitress python-ujson python-rencode msec python-qt5-chart xdotool |
2022-05-31 | ||
linuxero | neoclust | Done | |||||||||
pol4n | neoclust | 2022-03-11 | Done | Done | Done | Done | rpcbind/sitecopy/spamassassin/ssdeep/sslsplit | Done | Done | tap woff2 shairplay ntpsec clusterscripts nagios-plugins xymons zathuras rizins vnstat |
2022-08-18 |
joselp | papoteur,mokraemer | Done | Done | photomontage | |||||||
zekemx | kekepower | Done | 1. conky | displaylink new-lg4ff oversteer |
For mentors, see Becoming_a_Mageia_Mentor