You can now use 1 or more <Archive> tags in source packages to download more than 1
tarballs in workDir. This is especially useful for packages like thunderbird where
we're currently creating our own tarball to contain the source code + l10n files.
This will also be useful on some binary drivers which has different tarballs for
every architecture.
pisi will automatically chdir into the directory which matches pkgname-pkgversion. If
no directory matches this, you should provide WorkDir in actions.py as usually.
If you'd like to apply your patches to every subarchive directory, you'll have to
modify the patch levels and set WorkDir to "." (very very very rare case)
Example:
<Source>
..
..
..
<Archive sha1sum=".." type="tarbz2">http://nvidia.com/driver_x86.tar.bz2</Archive>
<Archive sha1sum=".." type="tarbz2">http://nvidia.com/driver_x86_64.tar.bz2</Archive>
</Source>
Example:
<Source>
<Name>psyco</Name>
..
..
<ExcludeArch>x86_64</ExcludeArch>
</Source>
will avoid the package psyco from building on systems where pisi.conf->architecture == x86_64
These are two seperate calls that just adds a repository and just updates a repository, respectively.
Checking distribution or architecture of a repository should be done by the pisi clients.
RepoDB has two methods for this (check_architecture, check_distribution) that return False when failed.
And any action desired should be taken after by the clients themselves. Removing a repository after a pisi
up is insane after a repository is added anyhow.
So for pisi-cli, from now on pisi add-repo will add, update and check the repository by default without asking
if you want to update the repository or not. If fetching the repository index from the given url fails,
pisi cli will remove the repository as before.
Two options added to pisi add-repo: --ignore-check and --no-fetch
If --ignore-check is given, pisi ignores the arch/distro check after a _successful_ add and update phase.
--no-fetch is for not fetching the repository index. If this option is given, pisi will be unable to check
the arch and distro of the repository (because we have no index to check) and will warn about this to continue.
Summary:
If a repository is added to pisi database, this means either it is checked or forced. Either way pisi will
use these repositories.
- Current pisi borks about invalid version string just before creating .pisi file.
Move that check to __init__ in Builder to fail as early as possible.
- Also handle unknown keywords in version strings to not fail with unhandled
exceptions.