From Mageia wiki
Jump to: navigation, search


iurt is a collection of tools to create an automatic rebuild system. It contains the rebuild script, iurt, as well as the scheduler, ulri, and the upload script, emi.

Note: For a quick start please have a look at Packagers_Mentoring_Howto#iurt.

How to get it

Just install iurt using

  urpmi iurt

The source code is available at

How to use it

There are usage examples in the mentoring howto even for cross-compiling e.g. i586 packages on an x86_64 system, which is quite a common case for packagers.

For everything else, please refer to for now.

Here is one link to as the mandriva wiki doesn't exist anymore:


For each distro version be want to build, you must create a configuration file in the home of the user running iurt. This file is a perl script which will be loaded as a configuration variable. E.g. to recompile on cauldron, you must create a file named ~/.iurt.cauldron.conf.

When using iurt, the --distro option is here to decide which config file has to be built. Make use of the option --help_config to be sure your config file is ok.

Here is an example:
    home => "/home/mageia/",
    cache_home => "/home/mageia/.bugs/",
    supported_arch => [ 'i586', 'x86_64' ],
    upload => "kenobi:/home/mageia/uploads/",
    local_home => "/export/home/mageia/",
    unwanted_packages => '^monotone-',
    repository => '/mnt/BIGDISK/dist/',
    rsync_to => "mageia\@qa:/var/www/html/build/iurt/",
    admin => '',
    sendmail => 1,
    packager => 'Iurt the rebuild bot <>',
    install_chroot_binary => '~warly/files/rpm-rebuilder/',
    distribution => 'Mageia Linux',
    vendor => 'Mageia',
    basesystem_media => ''
  • home your home dir, defaults to $HOME;
  • cache_home where to store the iurt cache (for cooker this cache is about 3 MB), defaults to $HOME/.bugs/;
  • upload where to copy resulting packages, defaults to $HOME/uploads/;
  • local_home where to build packages (this can be different from you $HOME if you are on NFS and you want to compile locally), defaults to $HOME;
  • unwanted_packages if you do not want to compile a certain package, you can enter here a regexp, defaults to nothing;
  • repository is the location of your local packages, note that your packages must be in a Mageia like structure;
  • rsync_to can be set if you want to send the reports on another machine, the default is to do nothing;
  • admin who to spam with all the warning messages. Default is nothing;
  • sendmail if a warning mail will be sent for encountered error. Default is not to send mail;
  • packager field used as packager tag and mail origin. Default is 'Iurt';
  • install_chroot_binary program to create and manage chroot, it is not yet packaged and needs to be fetched for the CVS. Default is;
  • vendor default is Mageia;
  • distribution default is Mageia Linux;
  • basesystem_media to select which media will be used to create the initial chroot.

To have a full listing of available options, use iurt --config-help --distro cauldron so that you can debug your default values.

Note: at the first run iurt will be quite slow because it will need to scan all the packages to populate its cache.

Note2: It is highly recommended to use the same tree as Mageia, for storing your repository: /some/path/cauldron/$arch/media/main