This is the first alpha for the upcoming 2.3.x releases. This
release adds new features for building source packages on different
architectures.
Changes since 2.2.19
--------------------
Fatih Aşıcı (3):
Allow comparing Version objects with strings
Add target attribute to Archive tag. It can be used to extract the archive into a sub-directory.
Remove the check for repository architecture
Gökçen Eraslan (1):
Replace FileError with ctx.ui.error since FileError is defined in pisitoolsfunctions.
Ozan Çağlayan (8):
Add Maintainer tag to components.xml.
Handle possible None values for obj when the element is optional
The size of the list doesn't really matter at all (#11818)
Real fix for #6748: The exception is raised both in getcwd() and chdir()
Blacklisted system.base packages aren't really ignored during update (#9991)
Feature: Add ability to avoid source packages from building on specific architectures
Feature: Use <AdditionalFiles> in <Source> tags
Feature: Add ability to use multiple <Archive> tags for a source package
Serdar Dalgıç (1):
Use glob.glob0 and lstrip instead of glob.glob to fix exceptions raising when an invalid file path is used.
Typos in filePaths in pspec.xml were sometimes ignored and abandoned files were not succesfully caught in some cases. Now it is fixed.
Thanks Fatih for the collaboration.
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.