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

English ; Français ;


I want to add a new package

  1. Check the Pending packages page to what the status of the package is
  2. Build the SRPM (for example using bm -sl).
  3. Import the packages with mgarepo import foo.src.rpm. Be sure to run this command under your ssh-agent, otherwise import will fail.
  4. Submit package to be built for Mageia: mgarepo submit foo

By default, mgarepo will work with cauldron.

The status of the submit can be visualized

I want to update a package in cauldron

  1. Do a checkout : mgarepo co foo.
  2. Make your changes locally, test them by building the package using bm -b -l or rpmbuild --define "_topdir $PWD" -ba SPECS/*.spec, installing it and then playing with it.
  3. If you added or removed patches or source files in your spec you can use mgarepo sync to add/remove them from the svn (for text files) or binrepo (for binary files). Alternatively you can use mgarepo upload file or mgarepo del file to upload or remove a file.
  4. Commit your changes: svn ci -m 'my changes explained'
  5. Request a new build: mgarepo submit foo

NB: when adding multi-line commit messages, every seperate entry must begin with the '-' character. Like

- Bumped release
- Added foo.patch

This is optional for single line messages, as in that case it's automatically added if not present. To create a multi-line message simply leave the current line unterminated (no final quote mark) and hit ENTER and continue writing. Finally terminate the last line with a quote mark. Or write the commit messages into a file and use the -F option for svn ci / mgarepo ci.

I want to submit a package in updates testing for a stable release

The updates testing is the repository where update candidates are submitted. Check the updates policy page for more details about what can go in that repository.

For example with Mageia 5 core repository updates :

  1. do a checkout : mgarepo co 5/foo or mgarepo co -d 5 foo
  2. Make your changes locally, test them by building the package using bm -b -l, installing it and then playing with it.
  3. If you added or removed patches or source files in your spec you can use mgarepo sync to add/remove them from the svn (for text files) or binrepo (for binary files). Alternatively you can use mgarepo upload file or mgarepo del file to upload or remove a file.
  4. commit your changes : mgarepo ci -m 'my changes explained'
  5. ask for a build : mgarepo submit 5/foo --define section=core/updates_testing -t 5

I want to backport a package

Backports policy: https://wiki.mageia.org/en/Backports_policy

I want to see who is the maintainer of a package

The maintainer name of a package is available at this URL (replace "[package]" with the package name in the URL): http://maintdb.mageia.org/[package]

Alternatively you can ask Sophie on IRC:

:maint [packagename]

If you are a packagers, you can use the following mgarepo command:

mgarepo maintdb get [packagename]

The full content of the maintainers database is also available at http://pkgsubmit.mageia.org/data/maintdb.txt

I want to be set as maintainer of a package

You can only do this if the package is currently maintained by nobody :

mgarepo maintdb set [packagename] [yourlogin]

(this can be done only by packagers, apprentices have no rights to the maintdb command)

I want to stop being the maintainer of a package

You can use the following mgarepo command :

mgarepo maintdb set [packagename] nobody

I don't have a packager account and want to do an anonymous checkout using mgarepo

You need to edit the mgarepo configuration file :

mkdir ~/.mgarepo; cp /etc/mgarepo.conf ~/.mgarepo/config

edit ~/.mgarepo/config and uncomment the following line :

mirror = svn://svn.mageia.org/svn/packages/

I want to handle the tainted and nonfree repositories

To use bm with the tainted repository, use the following command-line invocation:

 bm --define 'distro_section tainted'

Note the quotes and the space (that's what rpmbuild accepts - we just work here).

To submit it say:

 mgarepo submit --define section=tainted/release

You can also use "nonfree" instead of "tainted" in both examples above.