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
![]() |
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 isinstall-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