From Mageia wiki
Jump to: navigation, search


Drakconf multiflag.png
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.

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:

  1. enthusiasm for the project
  2. 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

Packaging in other distributions

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 :

  1. Enter your info in the apprentice candidate table below. Be sure to include your email address, so a mentor can contact you.
  2. 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 :

  1. Ask for a mentor on IRC (#mageia-dev).
  2. 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
email 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 }}
email 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:

  1. 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.
  2. Apprentice+ (Padawan): svn commit rights, but your mentor reviews and submits the packages
  3. Packager (Jedi): all the rights ... and the responsibility :-)


Graduation Criteria

From Initiate to Padawan, the apprentice needs to have:

  1. posted a presentation email to our dev mailing list.
  2. attended the Packaging Seminar 1
  3. opened a bug report
  4. fixed a bug (from a bug report, all the way to the end, can be the same)
  5. helped validate at least one update for QA
  6. 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:

  1. attended the Packaging Seminar 2
  2. provided an update for a stable release (with patching, bug report, advisory)
  3. mentor pushed at least 10 packages touched without problems
  4. 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 ngompa 2023-10-11 Done Done python-setuptools-git-versioning

python-sphinxcontrib-jquery

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
zekemx kekepower Done 1. conky


For mentors, see Becoming_a_Mageia_Mentor


Return to the main packaging team page