From Mageia wiki
Jump to: navigation, search
Drakconf multiflag.png
Other languages

Deutsch ; English ; Français ;



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 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

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 (freenode #mageia-mentoring).
  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 GMT+3 pt, en YYYY-MM-DD anything
Dimke
mandrake@dipl-ing-kessler.de UTC+1 de, en 2018-09-21 First step: Repair/bugfix for vpnc package. Then, let's see / as time permits. Skills: Bash, Perl, Python, C/C++, SQL, SVN, GIT...


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 validation 5 Patches pushed Padawan Seminar 2 Update 10 Packages pushed Graduation email
arusekk zezinho
andi89gi zezinho
afk zezinho
adrienguichard zezinho 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
kekePower (stig) shlomif/rindolf Done Video OK OK OK OK (5/5) Yes OK Yes 10/10 (1. ncftp; 2. postfix; 3.fltk; 4. soundconverter; 5. qt-mobility. 6. libplayer; 7. gzip. 8. tint2; 9. botan2; 10. shc)
yoriy primary: zezinho + secondary: shlomi/rindolf Done


For mentors, see Becoming_a_Mageia_Mentor


Return to the main packaging team page