This is the first stable release of 2.4.x series. This release is
functionally identical to rc1.
Full changelog since version 2.3 is included in ChangeLog file.
Changes since 2.4_rc1
---------------------
transifex (2):
l10n: Updated Ukrainian (uk) translation to 10% (Коростіль Данило)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
This is the first release candidate for the upcoming 2.4.x releases.
This release fixes a regression introduced in beta2 and fixes a cosmetic
issue in the output of index command.
I think Pisi is quite ready for a stable release. Therefore, this may be
the last release before 2.4.
Changes since 2.4_beta2
-----------------------
fatih (4):
MANIFEST: Add pisi.xml.in to the tarball
Revert "build: Remove redundant dict variable"
build: Add a comment for the dict variable
index: Print CR character at the end
This is the second beta for the upcoming 2.4.x releases. This release
includes enhancements, important bug fixes, and translation updates.
Notable changes (see ChangeLog file for details):
- Support for 7-zip source archives
- Refactored check command
- Revised cli messages
- Switch from pygettext to xgettext
Changes since 2.4_beta1
-----------------------
fatih (11):
l10n/tr: Add missing space
addrepo: Handle all pisi errors occurred when updating the new repo
cli/check: Style fixes
cli/check: Fix usage string to show an example of -c option
l10n: Update messages
deletecache: Append dots to the info text for consistency
l10n: Update messages
autoxml: Check values against NoneType
autoxml: Remove redundant check
build: Remove redundant dict variable
archive: Handle possible conflicts if upper directories cannot be created
igungor (1):
l10n: Revert nl.po since it is the yali translation actually.
metin.akdere (4):
l10n: Switch from pygettext to xgettext
l10n: Remove deprecated pygettext module
l10n: Update messages
archive: Fix typo in recently added Archive7Zip class
onur (1):
actionsapi: Fix typo in shelltools documentation
ozan.caglayan (36):
operations/build: Add missing i18n() calls around strings
index: Add missing i18n() calls around strings
index: Print package names on the same line during source indexing
operations/build: Clean-up outputs
build: Prune another useless warning
cli: Suppress info about output directory
util: Raise FilePermissionDeniedError if the file cannot be read by the current user.
tree-wide: Don't use weird asterisks at line beginnings
cli: Add verbose and noln parameters to error() and status()
util: Don't pass the file name in the exception
Revert r37178 "cli: Add verbose and noln parameters to error() and status()"
index: Remove obfuscated and outdated comments
index: Heal multithreading related output problems
build: Mark the errors with the source package name to give more info
index: Use ctx.ui.info() instead of plain print
check: Refactor and improve whole check command
l10n: Update messages
Update TR translations
check: Print a warning if some files can't be read
l10n: Update messages
util: Drop old, unused, weird shortcut functions
util: Rename concat() to flatten_list() and optimize it
graph: Rename concat() to flatten_list()
util: remove unused copy_dir() too
util: add search_executable() to find search for an executable in PATH
archive: Add support for 7-Zip source archives
l10n: Update messages
rng: Add CCPL-Attribution-ShareAlike-NonCommercial-3.0
upgrade: Use flatten_list() which is ~9x faster than sum() construct
Drop old readme
graph: Use list comprehension for value sanitizing which is ~2x faster
graph: only replace allowed characters which are -,+,_
api: Generate some information about delete_cache
db: whitespace cleanup, update copyright date
sourcedb: whitespace cleanup, update copyright date
cli: Pretty print pisi search output
transifex (64):
l10n: Updated Dutch (Flemish) (nl) translation to 100% (Antoon Tolboom)
l10n: Updated German (de) translation to 100% (Stefan Wilhelm)
l10n: Updated Italian (it) translation to 82% (Ali Işıngör)
l10n: Updated Italian (it) translation to 82% (Ali Işıngör)
l10n: Updated Italian (it) translation to 83% (Ali Işıngör)
l10n: Updated Dutch (Flemish) (nl) translation to 100% (Antoon Tolboom)
l10n: Updated French (fr) translation to 100% (Philippe Svetoslavsky)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated German (de) translation to 100% (Stefan Wilhelm)
l10n: Updated Russian (ru) translation to 100% (Nikolay Semenov)
l10n: Updated French (fr) translation to 100% (Philippe Svetoslavsky)
l10n: Updated French (fr) translation to 100% (Philippe Svetoslavsky)
l10n: Updated Turkish (tr) translation to 100% (Fatih Aşıcı)
l10n: Updated Italian (it) translation to 83% (Ali Işıngör)
l10n: Updated Spanish (Castilian) (es) translation to 99% (Klemens Häckel)
l10n: Updated Italian (it) translation to 83% (Hudaverdi Sarialtin)
l10n: Updated Russian (ru) translation to 99% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 99% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 99% (Alexey Ivanes)
l10n: Updated German (de) translation to 98% (Stefan Wilhelm)
l10n: Updated Dutch (Flemish) (nl) translation to 100% (Antoon Tolboom)
l10n: Updated French (fr) translation to 99% (Philippe Svetoslavsky)
l10n: Updated French (fr) translation to 100% (Philippe Svetoslavsky)
l10n: Updated Italian (it) translation to 82% (Hudaverdi Sarialtin)
l10n: Updated Italian (it) translation to 83% (Hudaverdi Sarialtin)
l10n: Updated Italian (it) translation to 84% (Hudaverdi Sarialtin)
l10n: Updated Russian (ru) translation to 99% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 99% (Alexey Ivanes)
l10n: Initial Croatian (hr) translation (Ivica Koli)
l10n: Updated Croatian (hr) translation to 31% (Ivica Koli)
l10n: Updated Croatian (hr) translation to 38% (Ivica Koli)
l10n: Updated Croatian (hr) translation to 42% (Ivica Koli)
l10n: Updated German (de) translation to 100% (Stefan Wilhelm)
l10n: Updated Turkish (tr) translation to 100% (Fatih Aşıcı)
l10n: Updated Russian (ru) translation to 99% (Alexey Ivanes)
l10n: Updated Dutch (Flemish) (nl) translation to 100% (Antoon Tolboom)
l10n: Updated French (fr) translation to 100% (Philippe Svetoslavsky)
l10n: Updated Croatian (hr) translation to 42% (Ivica Koli)
l10n: Updated Croatian (hr) translation to 45% (Ivica Koli)
l10n: Updated Croatian (hr) translation to 47% (Ivica Koli)
l10n: Updated Croatian (hr) translation to 47% (Ivica Koli)
l10n: Updated Croatian (hr) translation to 52% (Ivica Koli)
l10n: Updated Croatian (hr) translation to 56% (Ivica Koli)
l10n: Updated Russian (ru) translation to 99% (Nikolay Semenov)
l10n: Updated Russian (ru) translation to 100% (Nikolay Semenov)
l10n: Updated German (de) translation to 100% (Stefan Wilhelm)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Croatian (hr) translation to 60% (Ivica Koli)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Italian (it) translation to 84% (Hudaverdi Sarialtin)
l10n: Updated Italian (it) translation to 85% (Hudaverdi Sarialtin)
l10n: Updated Italian (it) translation to 87% (Hudaverdi Sarialtin)
l10n: Updated Italian (it) translation to 88% (Hudaverdi Sarialtin)
l10n: Updated Italian (it) translation to 90% (Hudaverdi Sarialtin)
l10n: Updated Russian (ru) translation to 100% (Alexey Ivanes)
l10n: Updated Croatian (hr) translation to 60% (Ivica Koli)
This is the first beta for the upcoming 2.4.x releases. This release
includes enhancements, important bug fixes, and translation updates.
The most notable change is the parallelization of index module. This
reduces the time spent when indexing large repositories. Another
important change is the fix for failure when a directory in a package
becomes a symlink.
There are also behavioural changes introduced in this release:
* delta: If all files in a package have changed, delta is not created
unless requested explicitly.
* build: Additional source files are now copied before applying
patches.
* cli: add-repo command now fails when a repo name/uri is not given.
This is the forth alpha for the upcoming 2.4.x releases. This release
introduces two features as well as bug fixes and translation updates.
The first feature which is added in this release is an API addition for
use in buildfarm. With a new method, it is now possible to determine
the old packages that will be used to create delta packages from.
"Build flags" is another feature introduced in this release. Build flags
can be used to enable/disable some operations/packages at build time.
Currently, two flags are accepted: noDebug and noDelta.
Changes since 2.4_alpha3
------------------------
fatih (11):
build: Reload actions script for each build type
installdb: Parse directory names correctly
l10n: Update messages
build: Do not allow duplicate path values in spec file
build: Fail if a path does not start with a slash
build: Add a method to determine delta packages to be created
l10n: Update messages
index: Ignore debug packages of obsoleted packages
build,specfile: Implement support for build flags
dtd,rng: Accept BuildFlags tag inside Package tags
l10n: Update Turkish translations
igungor (1):
l10n: Revert the latest Italian translation which breaks pisi.
transifex (5):
l10n: Updated Italian (it) translation to 81% (Hudaverdi Sarialtin)
l10n: Updated French (fr) translation to 100% (Philippe Svetoslavsky)
l10n: Updated Dutch (Flemish) (nl) translation to 100% (Antoon Tolboom)
l10n: Updated Dutch (Flemish) (nl) translation to 100% (Antoon Tolboom)
l10n: Updated French (fr) translation to 100% (Philippe Svetoslavsky)
This is the third alpha for the upcoming 2.4.x releases. This release
introduces a new feature for building source packages with different
configurations using the same actions.py. This is achieved with
BuildType tags specified between Package tags.
It is also possible to write build dependencies inside Package tags with
this release. This is needed since additional build dependencies could
be needed for different build types.
Changes since 2.4_alpha2
------------------------
fatih (12):
build: Minor simplifications
build: More simplifications
build: Cosmetic change
build: Check build dependencies for unpack too
sourcearchive: Pass target dirs to unpack methods
specfile: Accept BuildType tag inside Package tags
build: Add support for build types
build: Colorize unpack message
specfile: Accept BuildDependencies inside Package tags
build: Iterate over Package tags to gather all build deps
build: Remove redundant check in previous commit
build,config: Add a new config option to ignore build types
ozan.caglayan (1):
actionsapi/kerneltools: Don't fail if listnewconfig is not available
transifex (4):
l10n: Updated Polish (pl) translation to 46% (Michał Komasa)
l10n: Updated Polish (pl) translation to 47% (Michał Komasa)
l10n: add uk (Коростіль Данило)
l10n: Updated Italian (it) translation to 81% (Ali Işıngör)
This is the first alpha for the upcoming 2.3.x releases. This
release adds lots of new features. The most significant ones are
the changes in the package format.
Changes since 2.3.2
-------------------
dfisek (1):
licenses: Add CeCILL-B license
fatih (136):
archive: Drop decompress function implemented for Python < 2.6
archive: Use pyliblzma for (de)compression with lzma
archive: Import bz2 and gzip modules only when needed
install: Disable keyboard interrupts while extracting
archive: Implement a separate class for tar.Z archives
archive: Add callback parameter to ArchiveTar.unpack_dir
archive: Allow passing a file-like object to ArchiveTar
install: Read install.tar.lzma without extracting it
scripts: Update unpisi to extract using file objects
archive: Code style fixes
archive: Refactor Archive{Bzip2,Gzip}.unpack_dir methods
build: Handle the exception raises when archive type is unknown
archive: Add support for xz compressed tar archives
archive: Add support for archive files compressed with lzma/xz
archive: Make "bz2" an alias for "bzip2"
util: Use Archive class in uncompress function
util: Check compression type passed to uncompress
archive: Guess archive type from file extension
cli/build: Code style fixes
build: Lots of code style fixes
build: Do not hardcode package formats in cli code
Change package format to use XZ compression
unpisi: Add support for package format 1.2
unpisi: Use pisi.package module instead of duplicating extraction code
unpisi: Extract install.tar* archive into 'install' subdir
unpisi: Do not fail if 'install' directory already exists
delta: Code style fixes
package: Implement common methods to read/create pisi files
build: Use the methods in package module to reduce code duplication
package: Use common code to get archive name and format
package: Add tmp_dir parameter to constructor
delta: Use new package api to create delta packages
delta: Remove temporary dir after creating delta packages
delta: Improve comment
constants: Remove unused strings
cli/build: Fix '-F help'
delta: Add an option to specify the format of delta package
delta: Extract install archive into a sub-directory
archive: Fix ArchiveZip adding empty dirs with incorrect paths
delta: Implement function to create multiple delta packages
cli/delta: Allow passing multiple old packages
package: Handle IO errors
cli: Ignore broken pipe errors
rng: Add CeCILL-B license
Move license files to uludag/trunk/doc/en
delta: Check the names of old and new packages
tests: Fix the test that overwrites /usr/bin/aclocal
rng: Add NCSA to the list of licenses
tests: Correct distro names and versions of example repositories
tests: Remove tmp dir before running tests
tests: Lots of fixes
tests: Fix shelltest
tests: Add a sample repository tree
tests: Build repo1
file: Add support for XZ-compressed files
file: Use isinstance() instead of type()
archive: Fix TypeError when adding an empty dir to ZIP archives
tests: Use the same Package instance when testing add_to_package
file: Implement is_compressed method and simplify choosemethod
tree-wide: Use is_compressed instead of hard-coding extensions
index: Use XZ for compression
tests: Use uncompressed index files
file: Set compression level to 9 for XZ
build: Handle actions.py errors
tests: Add more packages
tests: Add repo2 to simulate an updated state of repo1
tests: Set pisi config before running tests
tests: Build repo2
tests: Add new conflict tests
upgrade: Try to resolve conflicts by upgrading
tests: Fix InstallDB test
tests: Add tearDown method for cleanup
scenarioapi/constants: Use uncompressed index file
scenarioapi/pspec: Properly add conflicts
upgrade: Check if the conflicting package is already in the upgrade list
cli: Do not overwrite the value given by column parameter in formatted_output
cli: Use the parsed separator in line_format
actionsapi: Use octal values for all permissions
AUTHORS: Remove translators
AUTHORS: Update contributor list
AUTHORS: Add missing developers and contributors
actionsapi: Set localstatedir prefix to "/var"
archive: Comment a seek call as it causes a problem with Python 2.7
build: Fix typo in path collision check
specfile: Make package descriptions mandatory again
build: Generate a debug package for each sub-package
build: Add dependencies of debug packages
build: Move build number warning to the end
installdb: Check if some mandatory tags in metadata.xml exist
specfile: Replace "current" string in release/version values
build: Guess WorkDir from archive name
file: Remove unused gzip enum
file: Modify File class to accept multiple compression types
cli/index: Code style fixes and simplifications
file: Handle all compressed files
index: Add --compression-types option
build: Fail if user-defined WorkDir does not exist
build: Try WorkDir="." for archives with type "binary"
installdb: Real fix when Package tag is missing
cli/build: If spec file is not given, fallback to ./pspec.xml
config: Create directories if we have write access
install: Do not calculate the sum of cached file twice
build: Search WorkDir after unpacking sources
build: Call pkg_src_dir() to get WorkDir path
config: Just ignore if we can't create the directory
tests: Replace the path with __file__ in testCanAccessFile
util: Add support for parsing the upcoming package name format
build: Change filename format of packages
util: Add support for parsing the upcoming delta package name format
build: Change filename format of delta packages
util: Fix returned value
index: Add support for new filename format of delta packages
tree-wide: Fix get_delta() usage
config: Remove buildno option
api: Remove the code related to build numbers
atomicops: Remove build number checks
tree-wide: Remove --ignore-build-no options
build: Hold an identifier for the host the package is built on
cli/listinstalled: Replace --without-buildno with --with-build-host
installdb,cli/listinstalled: Thinko fix
installdb: Remove buildno-related stuff
packagedb: Ignore build numbers in old formats
history: Remove buildno-related stuff
specfile: Ignore build numbers
util: Add function to generate a filename from the package info given
build: Do not print error/warning counts if they equal to zero
build: Search old packages in {compiled,debug}_packages_dir too
build: Create delta packages after build if max_delta_count > 0
build: Hold a seperate list for new debug packages
build: Hold a dictionary for delta package lists
build: Return an empty list instead of None
build: Tweak info messages
build: Remove useless info message
build: Update state file after building all packages
build: Case fix
db: Bump cache version
fatih.arslan (5):
actionsapi/texlivemodules: Modified to work properly with TexLive 2009 version
actionsapi/texlivemodules: Fixes the behaviour of copying and moving of documentation files
actionsapi/texlivemodules.py: Fixes logical false result, using shlex for better parsing"
actionsapi/texlivemodules: Refactor language function, fixes the broken parsing ability
actionsapi/texlivemodules: patterns have to be null string for change
gkmngrgn (1):
pisi/actionsapi: Add rubymodules.py
gokcen.eraslan (10):
actionsapi/cmaketools: Remove Makefile check
actionsapi/cmaketools: Remove Makefile check from cmaketools.install
actionsapi: Add KDE4 module to easily compile and install cmake based KDE packages.
actionsapi: Add qt4 module to easily compile qmake based Qt packages.
actionsapi: Change importdir, plugindir and translationdir to importsdir, pluginsdir and translationsdir for better integrity
actionsapi: Revert last commit, use upstream names for importdir, translationdir and plugindir.
actionsapi: Fix translation dir.
actionsapi: Add includedir to qt4 module.
actionsapi: Add Pardus CFLAGS/CXXFLAGS as qmake parameter instead of make parameter.
Fix copy/paste typo
gokmen.goksel (1):
unpisi: Add support to extract packages to a target directory
igungor (1):
l10n: Fix warning in sv.po
onur (2):
rng: Add new locales
actionsapi/pisitools: Fix documentation of dolib
ozan.caglayan (4):
pisi/actionsapi: No need to check the existence of Makefile*
rng: Add Burmese locale
actionsapi/kerneltools: Don't show section mismatches
actionsapi/kerneltools: Refactor
sdalgic (1):
typo: fix typo in pisi/pisi/cli/blame.py
transifex (4):
l10n: Updated German (de) translation to 94% (Kaan Akşit)
l10n: Updated German (de) translation to 94% (Kaan Akşit)
l10n: Updated Italian (it) translation to 79% (Davide Siciliano)
l10n: Updated Italian (it) translation to 79% (Davide Siciliano)
This release fixes a serious regression which prevents using local
repositories with compressed index files. Also the compatibility
of repositories without distribution info is ignored now.
Changes since 2.3
-----------------
fatih (4):
rng: Allow 'critical' as a value for Type tag
repodb: Fix use of compressed local repositories
repodb: Do not check compatibility if distro info is not included
scripts/make-changelog: Replace [at]'s with @ char and use tab char for indentation
This is the first stable release of 2.3.x series. This release
includes assorted bug fixes that might be considered critical.
Full changelog since version 2.2.19 is included in ChangeLog file.
Changes since 2.3_rc1
---------------------
fatih (7):
install: Call flush/fsync for critical pisi files
repodb: Do not fail when Distribution tag is missing
repodb: Do not search index files of local repos in /var/lib/pisi
scripts: Add a script to generate ChangeLog files from svn log
scripts/make-changelog: Write bug report links
changelog: Rename old ChangeLog file
Remove NEWS file and update MANIFEST.in
ozan.caglayan (1):
Always use /root/.ccache for CCACHE_DIR for not bypassing ccache when we modify /root in actions.py. A more elegant way is to read CCACHE_DIR from pisi.conf
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.
- 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.