From Mageia wiki
Jump to: navigation, search


Synopsis:
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. If you want to package from a .spec file, you should use rpmbuild or mock instead.

How to get it

Just install iurt using

# urpmi iurt

The source code is available at http://gitweb.mageia.org/software/build-system/iurt/

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

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.

First hints are provided also in /usr/share/doc/iurt/README

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

Configuration

For each distro version you 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.

As of today, Mageia 8 era, installing iurt will provide you with a default configuration file for cauldron: /etc/iurt/build/cauldron.conf

Dragon-head.png Here be dragons!
Be careful, this file is just a template and it does not provide a full configuration for cauldron.

A starting point could be to copy it into ~/.iurt.8.conf and to modify it to build for Mageia 8.

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 => 'warly@mageia.org', sendmail => 1, packager => 'Iurt the rebuild bot <warly@mageia.org>', install_chroot_binary => '~warly/files/rpm-rebuilder/install-chroot-tar.sh', 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 install-chroot-tar.sh;
  • 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.
Note:
It is highly recommended to use the same tree as Mageia, for storing your repository

/some/path/cauldron/$arch/media/main