Pisi was selecting "icon-naming-utils-0.8.90-7-1.pisi" when both
icon-naming-utils-0.8.90-7-1.pisi
icon-naming-utils-0.8.90-8-1.pisi
files exist in the same directory. With this commit, it chooses the one
with greater release number.
pisi.version.Version is one of most frequently used class in pisi
(esp. when calculating dependencies). This new function is a fast
alternative which returns a tuple representation of version strings.
Since python is able to compare tuple and list objects, we do not
have to write a special compare function.
Here are some results:
In [7]: %timeit -n100000 pisi.version.make_version("1.2.3.4.5")
100000 loops, best of 3: 8.12 us per loop
In [8]: %timeit -n100000 pisi.version.Version("1.2.3.4.5")
100000 loops, best of 3: 60.6 us per loop
In [9]: %timeit -n100000 pisi.version.make_version("1.2") < pisi.version.make_version("1.3")
100000 loops, best of 3: 10.1 us per loop
In [10]: %timeit -n100000 pisi.version.Version("1.2") < pisi.version.Version("1.3")
100000 loops, best of 3: 85.4 us per loop
Since release number are integers, we don't have to use Version objects.
Also piksemel returns tags in the order they are written. So we don't
have to iterate all update tags.
This is the second alpha for the upcoming 2.3.x releases. Beside the
minor refactoring and cosmetic changes, this release includes important
bug fixes related to delta packages. Also the installation of pisi
packages with the old format is fixed.
Changes since 2.3_alpha1
------------------------
fatih (18):
Refactor get_file_type function
Add missing shebang
Fix archive tests
Create valid repos for test cases
Fix exceptions when path includes a trailing slash
Install files into correct paths when the old package format is used.
Remove redundant variable
Print human readable error messages. We must use str instead of unicode in order to use __str__ method of exception classes.
Check if the old and new paths refer to the same file when relocating or cleaning up.
Show missing files in the output of pisi check
Update ChangeLog
Take -D parameter into account when checking files
Take -D parameter into account when looking for file permission changes
Yet another place that doesn't take -D parameter into account
Update messages
Catch empty dirs when searching for abandoned files. Always show abandoned files whether the --debug option is given or not.
Do not show traceback for handled pisi errors
Do not print an empty exception message
klemens (1):
update of some spanish language files (kh)
sdalgic (2):
correct the function name.
warn_and_remove needs one more argument=repo
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.