diff --git a/TODO b/TODO
deleted file mode 100644
index 58744759..00000000
--- a/TODO
+++ /dev/null
@@ -1,189 +0,0 @@
-
-Here we take notes of the strange stuff, so we can refactor them after
-Pardus 2007 release.
-
-
-==> Python 2.5 support
-* We should use python2.5
-
-==> Locale support
-* bindtextdomain and textdomain calls are not necessary, because
-gettext.translation() dont use them.
-
-* setlocale call is probably necessary for some stuff, but not for
-message translation, it seems gettext.translation() api looks for
-environment LC_ALL, LC_MESSAGES anyway.
-
-* pygettext.py shouldn't be needed at all. Plain xgettext works with
-python source.
-
-
-==> Utility functions
-* sha1_file and sha1_data functions has some
-exception confusion. These two functions should be a lot simpler.
-
-* get_file_hashes is overly complex and contains strange code like:
-for r, d, f in os.walk(parent, topdown=False): pass
-
-* To estimate required disk size for the packages more accurately we can
-calculate package size + (nr of files * inode size of fs).
-
-* Why in a world like this there exists *parse_package* util functions? These must be all methods of package class
-
-* Remove all unneeded util functions, most of them belongs its classes
-
-==> code readability
-* Public functions should contain doc strings.
-
-* Python builtins like file, list, etc should be avoided in variable names.
-There is even a file.py module!
-
-* a,b,c,d,f,r,_i,A,B,C,G are equally bad.
-
-* some import'ed modules are not used inside the importer modules, cleanup needed.
-
-* Would be very good if we can avoid "from x import y" form, it makes it
-harder to reload modules.
-
-* Convert all String Concatenation into "%s" % string form which is much faster, readable and correct
-
-==> exceptions
-* Current model is bad. Exception names should tell what is the error type. Instead
-we have one Error exception in every module. If I call pisi.api.install("lala"),
-I should get pisi.api.PackageNotFound or pisi.install.PackageNotFound or something
-like that. For every kind of error, you get pisi.api.Error now, and only way to find
-out exact error is try to parse error string (which is localized).
-
-* class Exception(Exception) is evil.
-
-* There shouldn't be a bare Except: clause in pisi modules.
-
-
-==> database
-* We should have a DB performance test suite to find important points to make faster,
-if we cannot measure, we cannot improve.
-
-* [FIXED] We should use "2" as pickle protocol. currently we use old binary pickle protocol "1". New
-protocol generally produces more compact pickled objects (dbshelve.py)
-
-* History, and Summary-Description objects should be kept in seperate db files. This way
-we can have faster searches and probably faster access to packages and better memory footprint
-
-* For big objects with many member objects (Package, from pisi.metadata) we might investigate
-writing our own simple serialization routines for some objects like Conflicts or additionalfiles.
-
-* context singleton is a mess. Maybe we should consider another approach to access common db objects
-
-* ComponentDB should not hold lists of Packages that belongs to it. A new index for components to package DB
-should be enough.
-
-* Current implementation of repository system is suboptimal. We add every package to a Dictionary as value
-and repository name as key and add that dictionary to db. For example if I am adding package foo to
-packages db, I am actually adding, a Dictionary with ["repotype", foo] to db.
-This is cheap, bloated and slow. We must have different repository databases for packages.
-
-* We should really consider using a simple and fast relational database (sqlite) for database operations. Here
-is the rationale and some issues.
-- Current implementation uses berkeleydb as a storage of dictionaries, with keys and Pickled Python objects.
-This approach simplifies coding requirements but leads to some problems.
-1. Some operations cannot be done effectively. Searching can only be done by iterating all objects and searching
-one by one. component, reverse dependencies etc are holding lists of package names that are updated on every
-package operation, Multiple repository problem is
-
-2.Performance: although fast, pickling and unpickling whole objects is still a time consuming process.
-Pickled Objects contains object metadata and are larger then the data they hold, so reading, writing pickled
-Objects to db is slower than reading and writing only necessary fields. large objects (Order of kilobytes)
-causes berkeleydb data buckets to overflow and caches works less efficently.
-
-4.Disk usage: Using pickled objects requires more memory and disk space. Total size of a current pisi database
-is over 100Mb, if we modify files.bdb to only hold filenames and packages, size is still around 50MB.
-
-Rational Databases offers number of advantages and disadvantages:
-
-Advantages:
-+ Relational databases offers much more flexible operations on stored data. Searching, grouping, sorting
-can be done by database engine efficently.
-+ There will be only a single database file and much smaller database size compared to berkeleydb files
-holding pickled python objects.
-+ Since database no longer holds pickled python objects, it is possible to read and modify the database
-by other programs written in different languages (Java, C++ etc.)
-+ SQL lite is generally very fast, probably beating "Berkeleydb with pickled objects" by the order of 4-5 on
-queries.
-
-Disadvantages
-- Using a relational database will require more coding when adding and retrieving contents of objects.
-- Introducing SQL language makes code more complex and harder to maintain.
-- Designing a good schema, identifying required indexes etc. takes time
-- Some developers are superstitious about sql and relational databases ;)
-
-==> class attributes
-* In some classes there are some attributes assigned but never
-used. (see remove_unused_attributes.patch)
-
-* PiSi uses heavy classes and creates thousands of instances of them
- (Package, Metadata, Dependency, ...). These classes should define
- __slots__ to reduce the heap used.
-
-
-==> actionsAPI
-* Get rid of ugly exception model
-* Refactor/clean the code
-* Add strict checks to models
-* Maybe? Get rid of functional logic, switch to OO one
-* ActionsAPI still needs an updated API document
-
-
-==> PiSi API
-* Write a real one
-
-
-==> Function parameters
-* Check function parameters and see if some parameters (especially the
-ones named tmpDir/tmp_dir/target_dir) are redundant now. See
-http://liste.uludag.org.tr/uludag-commits/2007-February/010070.html
-
-* conflict.py
-conflicts method takes a pkg_name parameter but doesn't use it at all
-
-
-==> Fixes (that need API breakage)
-* http://liste.uludag.org.tr/uludag-commits/2007-February/010117.html
-
-==> Logging
-
-* Improve logging with all needed update/downgrade/install/remove information so one can easily find the history of packages,
-currently PiSi wrotes everyting into logs which is not usefull. Also this information can be used for rollback and reporting.
-
-==> operations.py and atomicoperations.py
-
-* These modules have gone so big and become untraceable... divide all operations to their related modules
- under a pisi.operations module...
-
-==> function code lengths
-
-* we have some functions that goes pages long... divide all of them to small digestable chunks..
- avoid writing functions longer than your editor's screen.
-
-==> assertions
-
-* Lots of assertions used in the code with no following descriptive string information.
-
-==> repo order
-
-* When trying to install a package or looking for a dependency for a package the first found package
- in "repo order" is used. This design decision is not very good. When a new repo that has the latest
- version of any package is added and if it is the last repo in order, pisi can not upgrade to this
- package.
-
- We can remove this order thing and in this situation we can use the latest version of the package.
- This should also lead to some other problems but between these two not very good solutions this
- seems to be the better one.
-
-==> autoxml
-
-* When setting a Long type attribute or tag of an autoxml class, value must be Long type. Otherwise,
- autoxml.write() fails in x86_64
-
-==> COMAR
-
-* pisi-cli should use comar.
diff --git a/apimigration b/apimigration
deleted file mode 100644
index 2c0b0592..00000000
--- a/apimigration
+++ /dev/null
@@ -1,96 +0,0 @@
-Possible API Migrations
-=======================
-
-Pisi does not have an api. All the projects use its internal modules to do their
-jobs. This file holds a list of these usages for api migration.
-
-PiSi
-====
-
-Pisi itself also should not use internal db modules. It can also use this abstracted
-api layer from the needed places.
-
-* packagedb.remove_repo
-* sourcedb.remove_repo
-* packagedb.which_repo
-* repodb.get_repo
-* packagedb.get_package
-* installdb.is_installed
-* packagedb.get_rev_deps
-* installdb.get_version
-* packagedb.has_package
-* packagedb.add_package
-* componentdb.add_package
-* filesdb.has_file
-* filesdb.get_file
-* installdb.get_info
-* installdb.files
-* installdb.pkg_dir
-* installdb.install
-* filesdb.add_files
-* componentdb.add_spec
-* sourcedb.add_spec
-* componentdb.get_union_comp
-* componentdb.remove_spec
-* installdb.get_version
-* componentdb.remove_repo
-* componentdb.remove_package
-* componentdb.update_component
-* componentdb.add_package
-* installdb.remove
-* filesdb.remove_files
-* sourcedb.pkgtosrc
-* sourcedb.get_spec
-* sourcedb.get_source
-* sourcedb.get_spec_repo
-* repodb.get_repo
-* componentdb.has_component
-* componentdb.get_component
-* installdb.is_installed
-* packagedb.list_packages
-* installdb.list_installed
-* componentdb.get_union_packages
-* componentdb.list_components
-* repodb.list
-* sourcedb.list
-* installdb.list_pending
-* filesdb.match_files
-
-Package Manager
-===============
-
-Package Manager should not use internal db modules of pisi. It should only use pisi
-api.
-
-* repodb.get_repo
-* packagedb.get_package
-
- pisi.itemsbyrepo.installed or pisi.itemsbyrepo.repos should not be used by package manager.
- Instead api should have functions like api.get_installed_packages, api.get_repo_packages and
- get_all_packages/get_packages.
-
-* componentdb.list_components
-* repodb.list
-* componentdb.get_union_comp
-* componentdb.get_union_packages
-
-Yali
-====
-
-Yali should not use internal db modules of pisi. It should only use pisi api.
-
-* api.add_repo
-* api.update_repo
-* api.remove_repo
-* api.install
-* packagedb.list_packages
-* installdb.list_pending
-* api.configure_pending
-* packagedb.get_package
-
-Buildfarm
-=========
-
-Buildfarm should not use internal db modules of pisi. It should only use pisi api.
-
-* api.create_delta_package
diff --git a/pisi-cli2.5 b/pisi-cli2.5
index 056c3369..aaeea9d1 100755
--- a/pisi-cli2.5
+++ b/pisi-cli2.5
@@ -22,20 +22,11 @@ import pisi.context as ctx
import pisi.cli.pisicli as pisicli
import gettext
-gettext.bindtextdomain('pisi', "/usr/share/locale")
-gettext.textdomain('pisi')
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
-def sig_handler(sig, frame):
- if sig == signal.SIGTERM:
- exit()
-
def exit():
- try:
- pisi.api.finalize()
- except KeyboardInterrupt: # raised pending interrupt
- pass
+ pisi.api.finalize()
sys.exit(1)
def handle_exception(exception, value, tb):
@@ -82,8 +73,6 @@ if __name__ == "__main__":
sys.excepthook = handle_exception
- signal.signal(signal.SIGTERM, sig_handler)
-
locale.setlocale(locale.LC_ALL, '')
cli = pisicli.PisiCLI()
cli.run_command()
diff --git a/pisi-spec.dtd b/pisi-spec.dtd
index 34573db2..95bef334 100644
--- a/pisi-spec.dtd
+++ b/pisi-spec.dtd
@@ -78,7 +78,6 @@
RuntimeDependencies |
Files |
Conflicts |
- Replaces |
AdditionalFiles |
Provides
)*>
@@ -91,14 +90,6 @@
-
-
-
-
-
-
-
-
@@ -124,7 +115,8 @@ suck anyway -->
-
+
+
diff --git a/pisi-spec.rng b/pisi-spec.rng
deleted file mode 100644
index b3c063a7..00000000
--- a/pisi-spec.rng
+++ /dev/null
@@ -1,502 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [0-9a-zA-Z\-_+]*
- 255
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 255
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- app
- app:console
- app:gui
- app:web
- library
- service
- data
- data:doc
- data:font
- kernel
- driver
- locale
- locale:tr
- locale:en
- locale:es
- locale:nl
- locale:fr
- locale:de
- locale:it
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- targz
- tarbz2
- tarlzma
- tar
- zip
- gzip
- binary
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- executable
- library
- data
- config
- doc
- man
- info
- localedata
- header
-
-
-
-
-
- false
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- security
- bug
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pisi/__init__.py b/pisi/__init__.py
index f6b72007..e70cca9c 100644
--- a/pisi/__init__.py
+++ b/pisi/__init__.py
@@ -12,9 +12,9 @@
# PiSi version
-__version__ = "1.1_20070305"
+__version__ = "1.1.5"
-__dbversion__ = "1.1_20070305"
+__dbversion__ = "1.1.5"
__filesdbversion__ = "1.0.5" # yes, this is the real bottleneck
__all__ = [ 'api', 'config', 'configfile', 'packagedb', 'installdb', 'search' ]
diff --git a/pisi/actionsapi/pythonmodules.py b/pisi/actionsapi/pythonmodules.py
index bbd658f7..f50fc95a 100644
--- a/pisi/actionsapi/pythonmodules.py
+++ b/pisi/actionsapi/pythonmodules.py
@@ -58,7 +58,7 @@ def install(parameters = ''):
for doc in DDOCS:
if can_access_file(doc):
- pisitools.dodoc(doc)
+ dodoc(doc)
def run(parameters = ''):
'''executes parameters with python'''
diff --git a/pisi/api.py b/pisi/api.py
index f5c72a4e..0bb8f25e 100644
--- a/pisi/api.py
+++ b/pisi/api.py
@@ -21,19 +21,16 @@ __trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
import pisi
-import pisi.db
import pisi.context as ctx
import pisi.uri
import pisi.util
import pisi.dependency as dependency
import pisi.pgraph as pgraph
-import pisi.db.packagedb
-import pisi.db.repodb
-import pisi.db.installdb
-import pisi.db.filesdb
-import pisi.db.componentdb
-import pisi.db.sourcedb
-import pisi.db.lockeddbshelve as shelve
+import pisi.packagedb
+import pisi.repodb
+import pisi.installdb
+import pisi.sourcedb
+import pisi.lockeddbshelve as shelve
import pisi.index
import pisi.config
import pisi.metadata
@@ -108,12 +105,12 @@ def init(database = True, write = True,
ctx.database = database
if database:
shelve.init_dbenv(write=write)
- ctx.repodb = pisi.db.repodb.RepoDB()
- ctx.installdb = pisi.db.installdb.InstallDB()
- ctx.filesdb = pisi.db.filesdb.FilesDB()
- ctx.componentdb = pisi.db.componentdb.ComponentDB()
- ctx.packagedb = pisi.db.packagedb.PackageDB()
- ctx.sourcedb = pisi.db.sourcedb.SourceDB()
+ ctx.repodb = pisi.repodb.init()
+ ctx.installdb = pisi.installdb.init()
+ ctx.filesdb = pisi.files.FilesDB()
+ ctx.componentdb = pisi.component.ComponentDB()
+ ctx.packagedb = pisi.packagedb.init_db()
+ ctx.sourcedb = pisi.sourcedb.init()
else:
ctx.repodb = None
ctx.installdb = None
@@ -131,12 +128,9 @@ def finalize():
if ctx.log:
ctx.loghandler.flush()
ctx.log.removeHandler(ctx.loghandler)
- if ctx.repodb != None:
- ctx.repodb.close()
- ctx.repodb = None
- if ctx.installdb != None:
- ctx.installdb.close()
- ctx.installdb = None
+
+ pisi.repodb.finalize()
+ pisi.installdb.finalize()
if ctx.filesdb != None:
ctx.filesdb.close()
ctx.filesdb = None
@@ -144,10 +138,10 @@ def finalize():
ctx.componentdb.close()
ctx.componentdb = None
if ctx.packagedb:
- ctx.packagedb.close()
+ pisi.packagedb.finalize_db()
ctx.packagedb = None
- if ctx.sourcedb != None:
- ctx.sourcedb.close()
+ if ctx.sourcedb:
+ pisi.sourcedb.finalize()
ctx.sourcedb = None
if ctx.dbenv:
ctx.dbenv.close()
@@ -164,16 +158,18 @@ def list_installed():
"""Return a set of installed package names."""
return set(ctx.installdb.list_installed())
+def list_replaces(repo = None):
+ """Returns a dict of the replaced packages."""
+ return ctx.packagedb.get_replaces(repo = repo)
+
def list_available(repo = None):
"""Return a set of available package names."""
return set(ctx.packagedb.list_packages(repo = repo))
def list_upgradable():
- ignore_build = ctx.get_option('ignore_build_no')
+ return filter(pisi.operations.is_upgradable, ctx.installdb.list_installed()) + ctx.packagedb.get_replaces().keys()
- return filter(pisi.operations.is_upgradable, ctx.installdb.list_installed())
-
-def package_graph(A, repo = pisi.db.itembyrepodb.installed, ignore_installed = False):
+def package_graph(A, repo = pisi.itembyrepodb.installed, ignore_installed = False):
"""Construct a package relations graph.
Graph will contain all dependencies of packages A, if ignore_installed
@@ -197,7 +193,7 @@ def package_graph(A, repo = pisi.db.itembyrepodb.installed, ignore_installed = F
while len(B) > 0:
Bp = set()
for x in B:
- pkg = get_repo_package(x, repo)
+ pkg = ctx.packagedb.get_package(x, repo)
#print pkg
for dep in pkg.runtimeDependencies():
if ignore_installed:
@@ -236,24 +232,24 @@ def generate_base_upgrade(A):
def generate_conflicts(A):
# returns the conflicting packages list of the to be installed packages.
- # @C: conflicting and must be removed packages list to proceed
- # @D: list of the conflicting packages _with each other_ in the to be installed list
- # @E: dictionary that contains which package in the to be installed list conflicts
+ # @conflicting_pkgs: conflicting and must be removed packages list to proceed
+ # @conflicts_inorder: list of the conflicting packages _with each other_ in the to be installed list
+ # @conflicting_pairs: dictionary that contains which package in the to be installed list conflicts
# with which packages
- (C, D, E) = calculate_conflicts(A, ctx.packagedb)
- return (C, D, E)
+ (conflicting_pkgs, conflicts_inorder, conflicting_pairs) = pisi.conflict.calculate_conflicts(A, ctx.packagedb)
+ return (conflicting_pkgs, conflicts_inorder, conflicting_pairs)
def generate_pending_order(A):
# returns pending package list in reverse topological order of dependency
- G_f = pgraph.PGraph(ctx.packagedb, pisi.db.itembyrepodb.installed) # construct G_f
+ G_f = pgraph.PGraph(ctx.packagedb, pisi.itembyrepodb.installed) # construct G_f
for x in A.keys():
G_f.add_package(x)
B = A
while len(B) > 0:
Bp = set()
for x in B.keys():
- pkg = get_installed_package(x)
+ pkg = ctx.packagedb.get_package(x, pisi.itembyrepodb.installed)
for dep in pkg.runtimeDependencies():
if dep.package in G_f.vertices():
G_f.add_dep(x, dep)
@@ -321,10 +317,10 @@ def info_file(package_fn):
def info_name(package_name, installed=False):
"""Fetch package information for the given package."""
if installed:
- package = get_installed_package(package_name)
+ package = ctx.packagedb.get_package(package_name, pisi.itembyrepodb.installed)
repo = None
else:
- package, repo = ctx.packagedb.get_package_repo(package_name, pisi.db.itembyrepodb.repos)
+ package, repo = ctx.packagedb.get_package_repo(package_name, pisi.itembyrepodb.repos)
metadata = pisi.metadata.MetaData()
metadata.package = package
@@ -341,10 +337,10 @@ def info_name(package_name, installed=False):
files = None
return metadata, files, repo
-def search_package_terms(terms, repo = pisi.db.itembyrepodb.all):
+def search_package_terms(terms, repo = pisi.itembyrepodb.all):
return search_in_packages(terms, ctx.packagedb.list_packages(repo), repo)
-def search_in_packages(terms, packages, repo = pisi.db.itembyrepodb.all):
+def search_in_packages(terms, packages, repo = pisi.itembyrepodb.all):
def search(package, term):
term = unicode(term).lower()
@@ -355,7 +351,7 @@ def search_in_packages(terms, packages, repo = pisi.db.itembyrepodb.all):
found = []
for name in packages:
- pkg = get_repo_package(name, repo)
+ pkg = ctx.packagedb.get_package(name, repo)
if terms == filter(lambda x:search(pkg, x), terms):
found.append(name)
@@ -364,14 +360,14 @@ def search_in_packages(terms, packages, repo = pisi.db.itembyrepodb.all):
def check(package):
md, files = info(package, True)
corrupt = []
- for file in files.list:
- if file.hash and file.type != "config" \
- and not os.path.islink('/' + file.path):
- ctx.ui.info(_("Checking /%s ") % file.path, noln=True, verbose=True)
+ for f in files.list:
+ if f.hash and f.type != "config" \
+ and not os.path.islink('/' + f.path):
+ ctx.ui.info(_("Checking /%s ") % f.path, noln=True, verbose=True)
try:
- if file.hash != pisi.util.sha1_file('/' + file.path):
- corrupt.append(file)
- ctx.ui.error(_("\nCorrupt file: %s") % file)
+ if f.hash != pisi.util.sha1_file('/' + f.path):
+ corrupt.append(f)
+ ctx.ui.error(_("\nCorrupt file: %s") % f)
else:
ctx.ui.info(_("OK"), verbose=True)
except pisi.util.FileError,e:
@@ -395,6 +391,23 @@ def index(dirs=None, output='pisi-index.xml', skip_sources=False, skip_signing=F
index.write(output, sha1sum=True, compress=pisi.file.File.bz2, sign=pisi.file.File.detached)
ctx.ui.info(_('* Index file written'))
+def add_repo(name, indexuri, at = None):
+ if ctx.repodb.has_repo(name):
+ raise Error(_('Repo %s already present.') % name)
+ else:
+ repo = pisi.repodb.Repo(pisi.uri.URI(indexuri))
+ ctx.repodb.add_repo(name, repo, at = at)
+ ctx.ui.info(_('Repo %s added to system.') % name)
+
+def remove_repo(name):
+ if ctx.repodb.has_repo(name):
+ ctx.repodb.remove_repo(name)
+ pisi.util.clean_dir(os.path.join(ctx.config.index_dir(), name))
+ ctx.ui.info(_('Repo %s removed from system.') % name)
+ else:
+ ctx.ui.error(_('Repository %s does not exist. Cannot remove.')
+ % name)
+
def list_repos():
return ctx.repodb.list()
@@ -451,7 +464,7 @@ def rebuild_repo(repo):
def rebuild_db(files=False):
- assert ctx.database == False
+ assert not ctx.database
# Bug 2596
# finds and cleans duplicate package directories under '/var/lib/pisi/package'
@@ -502,13 +515,13 @@ def rebuild_db(files=False):
percent = progress.update(processed),
info = _("Rebuilding package database"))
- def reload_indices(txn):
+ def reload_indices():
index_dir = ctx.config.index_dir()
if os.path.exists(index_dir): # it may have been erased, or we may be upgrading from a previous version -- exa
for repo in os.listdir(index_dir):
indexuri = pisi.util.join_path(ctx.config.lib_dir(), 'index', repo, 'uri')
indexuri = open(indexuri, 'r').readline()
- pisi.api.add_repository(repo, indexuri)
+ pisi.api.add_repo(repo, indexuri)
pisi.api.rebuild_repo(repo)
# check db schema versions
@@ -516,7 +529,7 @@ def rebuild_db(files=False):
shelve.check_dbversion('filesdbversion', pisi.__filesdbversion__, write=False)
except KeyboardInterrupt:
raise
- except Exception, e: #FIXME: what exception could we catch here, replace with that.
+ except Exception: #FIXME: what exception could we catch here, replace with that.
files = True # exception means the files db version was wrong
shelve.init_dbenv(write=True, writeversion=True)
destroy(files) # bye bye
@@ -532,68 +545,9 @@ def rebuild_db(files=False):
clean_duplicates()
txn = ctx.dbenv.txn_begin()
reload_packages(files, txn)
- reload_indices(txn)
+ reload_indices()
txn.commit()
-
-############################ Under Construction ##############################
-
-### Package Database Operations ###
-
-## Returns the package informations of the given repository
-# @param name Name of the package
-# @param repo Name of the repository
-def get_repo_package(name, repo=pisi.db.itembyrepodb.repos):
- # FIXME: * currently we return the first package in repo order
- # * we should get rid of itembyrepodb enums
- # * transparent transaction support
- return ctx.packagedb.get_package(name, repo, txn=None)
-
-## Returns the installed package information
-# @param name Name of the package
-def get_installed_package(name):
- # FIXME: * we should get rid of itembyrepodb enums
- # * transparent transaction support
- return ctx.packagedb.get_package(name, pisi.db.itembyrepodb.installed, txn=None)
-
-### Repo Database Operations ###
-
-## Adds a new repository to the pisi database
-# @param name Name of the repository
-# @param uri Repository location
-def add_repository(name, uri):
- if ctx.repodb.has_repo(name):
- raise Error(_('Repo %s already present.') % name)
- else:
- repo = pisi.db.repodb.Repo(pisi.uri.URI(uri))
- ctx.repodb.add_repo(name, repo)
- ctx.ui.info(_('Repo %s added to system.') % name)
-
-## Removes an existing repository from the pisi database
-# @param name Name of the repository
-def remove_repository(name):
- if ctx.repodb.has_repo(name):
- ctx.repodb.remove_repo(name)
- pisi.util.clean_dir(os.path.join(ctx.config.index_dir(), name))
- ctx.ui.info(_('Repo %s removed from system.') % name)
- else:
- ctx.ui.error(_('Repository %s does not exist. Cannot remove.')
- % name)
-
-### Source Database Operations ###
-
-### Component Database Operations ###
-
-### Files Database Operations ###
-
-### Delta Package Operations ###
-
-## Creates a delta package from the given .pisi package paths.
-# @param old_package Path of the older package
-# @param new_package Path of the newer package
-def create_delta_package(old_package, new_package):
- pisi.delta.create_delta_package(old_package, new_package)
-
############# FIXME: this was a quick fix. ##############################
# api was importing other module's functions and providing them as api functions. This is wrong.
@@ -630,7 +584,7 @@ def upgrade_base(*args, **kw):
return pisi.operations.upgrade_base(*args, **kw)
def calculate_conflicts(*args, **kw):
- return pisi.operations.calculate_conflicts(*args, **kw)
+ return pisi.conflict.calculate_conflicts(*args, **kw)
def reorder_base_packages(*args, **kw):
return pisi.operations.reorder_base_packages(*args, **kw)
diff --git a/pisi/archive.py b/pisi/archive.py
index 92cb8fc1..15118602 100644
--- a/pisi/archive.py
+++ b/pisi/archive.py
@@ -43,11 +43,12 @@ class ArchiveBase(object):
self.type = atype
def unpack(self, target_dir, clean_dir = False):
+ self.target_dir = target_dir
# first we check if we need to clean-up our working env.
- if os.path.exists(target_dir) and clean_dir:
- util.clean_dir(target_dir)
+ if os.path.exists(self.target_dir) and clean_dir:
+ util.clean_dir(self.target_dir)
- os.makedirs(target_dir)
+ os.makedirs(self.target_dir)
class ArchiveBinary(ArchiveBase):
diff --git a/pisi/atomicoperations.py b/pisi/atomicoperations.py
index 12448bb6..a68f87d9 100644
--- a/pisi/atomicoperations.py
+++ b/pisi/atomicoperations.py
@@ -15,15 +15,12 @@ import gettext
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
-import sys
import os
import bsddb3.db as db
import shutil
import pisi
import pisi.context as ctx
-import pisi.db.packagedb as packagedb
-import pisi.dependency as dependency
import pisi.conflict
import pisi.util as util
import pisi.metadata
@@ -32,6 +29,7 @@ import pisi.uri
import pisi.ui
import pisi.version
import pisi.delta
+import pisi.packagedb
class Error(pisi.Error):
pass
@@ -43,8 +41,12 @@ class NotfoundError(pisi.Error):
class AtomicOperation(object):
- def __init__(self):
- pass
+ def __init__(self, ignore_dep = None):
+ #self.package = package
+ if ignore_dep==None:
+ self.ignore_dep = ctx.config.get_option('ignore_dependency')
+ else:
+ self.ignore_dep = ignore_dep
def run(self, package):
"perform an atomic package operation"
@@ -55,14 +57,14 @@ class Install(AtomicOperation):
"Install class, provides install routines for pisi packages"
@staticmethod
- def from_name(name):
+ def from_name(name, ignore_dep = None):
# download package and return an installer object
# find package in repository
repo = ctx.packagedb.which_repo(name)
if repo:
ctx.ui.info(_("Package %s found in repository %s") % (name, repo))
repo = ctx.repodb.get_repo(repo)
- pkg = pisi.api.get_repo_package(name)
+ pkg = ctx.packagedb.get_package(name)
delta = None
# Package is installed. This is an upgrade. Check delta.
@@ -85,13 +87,13 @@ class Install(AtomicOperation):
ctx.ui.info(_("Package URI: %s") % pkg_path, verbose=True)
- return Install(pkg_path)
+ return Install(pkg_path, ignore_dep)
else:
raise Error(_("Package %s not found in any active repository.") % name)
- def __init__(self, package_fname, ignore_file_conflicts = None):
+ def __init__(self, package_fname, ignore_dep = None, ignore_file_conflicts = None):
"initialize from a file name"
- super(Install, self).__init__()
+ super(Install, self).__init__(ignore_dep)
if not ignore_file_conflicts:
ignore_file_conflicts = ctx.get_option('ignore_file_conflicts')
self.ignore_file_conflicts = ignore_file_conflicts
@@ -145,7 +147,7 @@ class Install(AtomicOperation):
# check comar
if self.metadata.package.providesComar and ctx.comar:
import pisi.comariface as comariface
- com = comariface.get_comar()
+ comariface.get_comar()
def check_relations(self):
# check dependencies
@@ -157,15 +159,25 @@ class Install(AtomicOperation):
# check if package is in database
# If it is not, put it into 3rd party packagedb
if not ctx.packagedb.has_package(self.pkginfo.name):
- ctx.packagedb.add_package(self.pkginfo, pisi.db.itembyrepodb.thirdparty)
+ ctx.packagedb.add_package(self.pkginfo, pisi.itembyrepodb.thirdparty)
+ # If it is explicitly specified that package conflicts with this package and also
+ # we passed check_conflicts tests in operations.py than this means a non-conflicting
+ # pkg is in "order" to be installed that has no file conflict problem with this package.
+ # PS: we need this because "order" generating code does not consider conflicts.
+ def really_conflicts(pkg):
+ if not self.pkginfo.conflicts:
+ return True
+
+ return not pkg in map(lambda x:x.package, self.pkginfo.conflicts)
+
# check file conflicts
file_conflicts = []
- for file in self.files.list:
- if ctx.filesdb.has_file(file.path):
- pkg, existing_file = ctx.filesdb.get_file(file.path)
- dst = pisi.util.join_path(ctx.config.dest_dir(), file.path)
- if pkg != self.pkginfo.name and not os.path.isdir(dst):
+ for f in self.files.list:
+ if ctx.filesdb.has_file(f.path):
+ pkg, existing_file = ctx.filesdb.get_file(f.path)
+ dst = pisi.util.join_path(ctx.config.dest_dir(), f.path)
+ if pkg != self.pkginfo.name and not os.path.isdir(dst) and really_conflicts(pkg):
file_conflicts.append( (pkg, existing_file) )
if file_conflicts:
file_conflicts_str = ""
@@ -187,6 +199,7 @@ class Install(AtomicOperation):
if ctx.installdb.is_installed(pkg.name): # is this a reinstallation?
#FIXME: consider REPOSITORY instead of DISTRIBUTION -- exa
+ #ipackage = ctx.packagedb.get_package(pkg.name, pisi.itembyrepodb.installed)
ipkg = ctx.installdb.get_info(pkg.name)
repomismatch = ipkg.distribution != pkg.distribution
@@ -273,8 +286,8 @@ class Install(AtomicOperation):
fpath = pisi.util.join_path(ctx.config.dest_dir(), config.path)
if os.path.exists(fpath) and not os.path.isdir(fpath):
if os.path.islink(fpath):
- file = os.readlink(fpath)
- if os.path.exists(file) and pisi.util.sha1_data(file) != config.hash:
+ f = os.readlink(fpath)
+ if os.path.exists(f) and pisi.util.sha1_data(f) != config.hash:
changed = True
else:
if pisi.util.sha1_file(fpath) != config.hash:
@@ -332,8 +345,8 @@ class Install(AtomicOperation):
# remove left over files from the old package.
def clean_leftovers():
- new = set(map(lambda x: str(x.path), self.files.list))
- old = set(map(lambda x: str(x.path), self.old_files.list))
+ new = set(str(f.path) for f in self.files.list)
+ old = set(str(f.path) for f in self.old_files.list)
leftover = old - new
old_fileinfo = {}
for fileinfo in self.old_files.list:
@@ -347,19 +360,19 @@ class Install(AtomicOperation):
old = filter(lambda x: x.type == 'config', self.old_files.list)
# get config path lists
- newconfig = set(map(lambda x: str(x.path), new))
- oldconfig = set(map(lambda x: str(x.path), old))
+ newconfig = set(str(x.path) for x in new)
+ oldconfig = set(str(x.path) for x in old)
config_overlaps = newconfig & oldconfig
if config_overlaps:
files = filter(lambda x: x.path in config_overlaps, old)
- for file in files:
- check_config_changed(file)
+ for f in files:
+ check_config_changed(f)
else:
- for file in self.files.list:
- if file.type == 'config':
+ for f in self.files.list:
+ if f.type == 'config':
# there may be left over config files
- check_config_changed(file)
+ check_config_changed(f)
if self.package_fname.endswith(ctx.const.delta_package_suffix):
relocate_files()
@@ -369,9 +382,6 @@ class Install(AtomicOperation):
if config_changed:
rename_configs()
- if self.package_fname.endswith(ctx.const.delta_package_suffix):
- relocate_files()
-
if self.reinstall:
clean_leftovers()
@@ -414,7 +424,7 @@ class Install(AtomicOperation):
ctx.filesdb.add_files(self.metadata.package.name, self.files, txn=txn)
# installed packages
- ctx.packagedb.add_package(self.pkginfo, pisi.db.itembyrepodb.installed, txn=txn)
+ ctx.packagedb.add_package(self.pkginfo, pisi.itembyrepodb.installed, txn=txn)
def install_single(pkg, upgrade = False):
@@ -440,10 +450,10 @@ def install_single_name(name, upgrade = False):
class Remove(AtomicOperation):
- def __init__(self, package_name):
- super(Remove, self).__init__()
+ def __init__(self, package_name, ignore_dep = None):
+ super(Remove, self).__init__(ignore_dep)
self.package_name = package_name
- self.package = pisi.api.get_installed_package(self.package_name)
+ self.package = ctx.packagedb.get_package(self.package_name, pisi.itembyrepodb.installed)
try:
self.files = ctx.installdb.files(self.package_name)
except pisi.Error, e:
@@ -509,7 +519,7 @@ class Remove(AtomicOperation):
try:
if pisi.util.sha1_file(fpath) == fileinfo.hash:
os.unlink(fpath)
- except pisi.util.FileError, e:
+ except pisi.util.FileError:
pass
else:
if os.path.isfile(fpath) or os.path.islink(fpath):
@@ -541,7 +551,8 @@ class Remove(AtomicOperation):
def remove_db(self, txn):
ctx.installdb.remove(self.package_name, txn)
ctx.filesdb.remove_files(self.files, txn)
- pisi.db.packagedb.remove_tracking_package(self.package_name, txn)
+ # FIXME: something goes wrong here, if we use ctx operations ends up with segmentation fault!
+ pisi.packagedb.remove_tracking_package(self.package_name, txn)
def remove_single(package_name):
@@ -568,7 +579,7 @@ def virtual_install(metadata, files, txn):
ctx.filesdb.add_files(metadata.package.name, files, txn=txn)
# installed packages
- ctx.packagedb.add_package(metadata.package, pisi.db.itembyrepodb.installed, txn=txn)
+ ctx.packagedb.add_package(metadata.package, pisi.itembyrepodb.installed, txn=txn)
def resurrect_package(package_fn, write_files, txn = None):
"""Resurrect the package from xml files"""
diff --git a/pisi/build.py b/pisi/build.py
index 292a8fb6..b4275527 100644
--- a/pisi/build.py
+++ b/pisi/build.py
@@ -13,7 +13,6 @@
# python standard library
import os
-import sys
import glob
import copy
import stat
@@ -129,6 +128,8 @@ class Builder:
else:
self.specdir = os.path.dirname(self.specuri.get_uri())
+ self.read_translations(self.specdir)
+
self.sourceArchive = pisi.sourcearchive.SourceArchive(self.spec, self.pkg_work_dir())
self.set_environment_vars()
@@ -142,9 +143,12 @@ class Builder:
specuri = pisi.uri.URI(os.path.realpath(specuri.get_uri())) # FIXME: doesn't work for file://
self.specuri = specuri
spec = pisi.specfile.SpecFile()
- spec.read(specuri, ctx.config.tmp_dir())
+ spec.read(self.specuri, ctx.config.tmp_dir())
self.spec = spec
+ def read_translations(self, specdir):
+ self.spec.read_translations(pisi.util.join_path(specdir, ctx.const.translations_file))
+
# directory accessor functions
# pkg_x_dir: per package directory for storing info type x
@@ -237,6 +241,7 @@ class Builder:
#self.location = os.path.dirname(self.url.uri)
self.fetch_actionsfile()
+ self.fetch_translationsfile()
self.fetch_patches()
self.fetch_comarfiles()
self.fetch_additionalFiles()
@@ -247,6 +252,14 @@ class Builder:
actionsuri = pisi.util.join_path(self.specdiruri, ctx.const.actions_file)
self.download(actionsuri, self.destdir)
+ def fetch_translationsfile(self):
+ translationsuri = pisi.util.join_path(self.specdiruri, ctx.const.translations_file)
+ try:
+ self.download(translationsuri, self.destdir)
+ except pisi.fetcher.FetchError:
+ # translations.xml is not mandatory for PiSi
+ pass
+
def fetch_patches(self):
spec = self.spec
for patch in spec.source.patches:
@@ -402,6 +415,9 @@ class Builder:
return pisi.util.join_path(self.pkg_work_dir(), workdir)
+ def log_sandbox_violation(self, operation, path, canonical_path):
+ ctx.ui.error(_("Sandbox violation: %s (%s -> %s)") % (operation, path, canonical_path))
+
def run_action_function(self, func, mandatory=False):
"""Calls the corresponding function in actions.py.
@@ -412,13 +428,33 @@ class Builder:
curDir = os.getcwd()
os.chdir(self.srcDir)
-
if func in self.actionLocals:
- self.actionLocals[func]()
+ if ctx.get_option('ignore_sandbox'):
+ self.actionLocals[func]()
+ else:
+ import catbox
+ # stupid autoconf family needs /usr/lib/conftest* and /usr/lib/cf* for some conftest,
+ # http://sources.gentoo.org/viewcvs.py/portage/trunk/sandbox/files/sandbox/sandbox.c also permits these
+ valid_dirs = [self.pkg_dir(), "/tmp/", "/var/tmp/", "/dev/tty", "/dev/pts/", "/dev/pty", "/dev/null", "/dev/zero", "/dev/ptmx", "/proc/", "/usr/lib/conftest", "/usr/lib/cf"]
+ if ctx.config.values.build.buildhelper == "ccache":
+ valid_dirs.append("%s/.ccache" % os.environ["HOME"])
+ # every qt/KDE application check these
+ valid_dirs.append("%s/.qt/.qt_plugins_3.3rc.lock" % os.environ["HOME"])
+ valid_dirs.append("%s/.qt/qt_plugins_3.3rc.tmp" % os.environ["HOME"])
+ valid_dirs.append("%s/.qt/.qtrc.lock" % os.environ["HOME"])
+ valid_dirs.append("%s/.qt/.qt_designerrc.lock" % os.environ["HOME"])
+ valid_dirs.append("/usr/qt/3/etc/settings/.qt_plugins_3.3rc.lock")
+ valid_dirs.append("/usr/qt/3/etc/settings/qt_plugins_3.3rc.tmp")
+ valid_dirs.append("/usr/qt/3/etc/settings/qt_plugins_3.3rc")
+ ret = catbox.run(self.actionLocals[func], valid_dirs, logger=self.log_sandbox_violation)
+ if ret.code == 1:
+ raise RuntimeError
+ if ret.violations != []:
+ ctx.ui.error(_("Sandbox violations!"))
else:
if mandatory:
- Error, _("unable to call function from actions: %s") %func
-
+ raise Error(_("unable to call function from actions: %s") % func)
+
os.chdir(curDir)
return True
@@ -496,6 +532,7 @@ class Builder:
ctx.ui.action(_("* Applying patch: %s") % patch.filename)
pisi.util.do_patch(self.srcDir, patchFile, level=patch.level)
return True
+ return True
def generate_static_package_object(self):
ar_files = []
@@ -560,7 +597,7 @@ class Builder:
except KeyError:
pisi.util.strip_directory(install_dir)
- def gen_metadata_xml(self, package, build_no=None):
+ def gen_metadata_xml(self, package):
"""Generate the metadata.xml file for build source.
metadata.xml is composed of the information from specfile plus
@@ -634,7 +671,16 @@ class Builder:
files.write(files_xml_path)
self.files = files
- def find_old_package_info(self, package_name):
+ def calc_build_no(self, package_name):
+ """Calculate build number"""
+
+ def metadata_changed(old_metadata, new_metadata):
+ for key in old_metadata.package.__dict__.keys():
+ if old_metadata.package.__dict__[key] != new_metadata.package.__dict__[key]:
+ if key != "build":
+ return True
+
+ return False
# find previous build in packages dir
found = []
@@ -654,87 +700,71 @@ class Builder:
ctx.ui.warning('Package file %s may be corrupt. Skipping.' % old_package_fn)
for root, dirs, files in os.walk(ctx.config.compiled_packages_dir()):
- for file in files:
- locate_old_package(pisi.util.join_path(root,file))
+ for f in files:
+ locate_old_package(pisi.util.join_path(root,f))
outdir=ctx.get_option('output_dir')
if not outdir:
outdir = '.'
- for file in [pisi.util.join_path(outdir,entry) for entry in os.listdir(outdir)]:
- if os.path.isfile(file):
- locate_old_package(file)
+ for f in [pisi.util.join_path(outdir,entry) for entry in os.listdir(outdir)]:
+ if os.path.isfile(f):
+ locate_old_package(f)
- if found:
+ if not found:
+ return (1, None)
+ ctx.ui.warning(_('(no previous build found, setting build no to 1.)'))
+ else:
a = filter(lambda (x,y): y != None, found)
ctx.ui.debug(str(a))
-
if a:
# sort in order of increasing build number
a.sort(lambda x,y : cmp(x[1],y[1]))
old_package_fn = a[-1][0] # get the last one
old_build = a[-1][1]
- return (old_package_fn, old_build)
- return None
+ # compare old files.xml with the new one..
+ old_pkg = pisi.package.Package(old_package_fn, 'r')
+ old_pkg.read(pisi.util.join_path(ctx.config.tmp_dir(), 'oldpkg'))
- def calc_build_no(self, old_package_info):
- """Calculate build number"""
+ changed = False
+ fnew = self.files.list
+ fold = old_pkg.files.list
+ fold.sort(lambda x,y : cmp(x.path,y.path))
+ fnew.sort(lambda x,y : cmp(x.path,y.path))
- def metadata_changed(old_metadata, new_metadata):
- for key in old_metadata.package.__dict__.keys():
- if old_metadata.package.__dict__[key] != new_metadata.package.__dict__[key]:
- if key != "build":
- return True
-
- return False
-
- if not old_package_info:
- return (1, None)
- ctx.ui.warning(_('(no previous build no info found, setting build no to 1.)'))
- else:
- old_package_fn, old_build = old_package_info
-
- # compare old files.xml with the new one..
- old_pkg = pisi.package.Package(old_package_fn, 'r')
- old_pkg.read(pisi.util.join_path(ctx.config.tmp_dir(), 'oldpkg'))
-
- changed = False
- fnew = self.files.list
- fold = old_pkg.files.list
- fold.sort(lambda x,y : cmp(x.path,y.path))
- fnew.sort(lambda x,y : cmp(x.path,y.path))
-
- if len(fnew) != len(fold):
- changed = True
- else:
- for i in range(len(fold)):
- fo = fold.pop(0)
- fn = fnew.pop(0)
- if fo.path != fn.path:
- changed = True
- break
- else:
- if fo.hash != fn.hash:
+ if len(fnew) != len(fold):
+ changed = True
+ else:
+ for i in range(len(fold)):
+ fo = fold.pop(0)
+ fn = fnew.pop(0)
+ if fo.path != fn.path:
changed = True
break
+ else:
+ if fo.hash != fn.hash:
+ changed = True
+ break
- if metadata_changed(old_pkg.metadata, self.metadata):
- changed = True
-
- self.old_packages.append(os.path.basename(old_package_fn))
+ if metadata_changed(old_pkg.metadata, self.metadata):
+ changed = True
- ctx.ui.debug('old build number: %s' % old_build)
+ self.old_packages.append(os.path.basename(old_package_fn))
+ else: # no old build had a build number
+ old_build = None
- # set build number
- if old_build is None:
- ctx.ui.warning(_('(old package lacks a build no, setting build no to 1.)'))
- return (1, None)
- elif changed:
- ctx.ui.info(_('There are changes, incrementing build no to %d') % (old_build + 1))
- return (old_build + 1, old_build)
- else:
- ctx.ui.info(_('There is no change from previous build %d') % old_build)
- return (old_build, old_build)
+ ctx.ui.debug('old build number: %s' % old_build)
+
+ # set build number
+ if old_build is None:
+ ctx.ui.warning(_('(old package lacks a build no, setting build no to 1.)'))
+ return (1, None)
+ elif changed:
+ ctx.ui.info(_('There are changes, incrementing build no to %d') % (old_build + 1))
+ return (old_build + 1, old_build)
+ else:
+ ctx.ui.info(_('There is no change from previous build %d') % old_build)
+ return (old_build, old_build)
def build_packages(self):
"""Build each package defined in PSPEC file. After this process there
@@ -814,16 +844,12 @@ class Builder:
ctx.ui.info(_("Generating %s,") % ctx.const.metadata_xml)
self.gen_metadata_xml(package)
- # find the latest build info if any with build no.
- # old_package_info = (old_package_file_name, old_build_no)
- old_package_info = self.find_old_package_info(package.name)
-
# build number
if ctx.config.options.ignore_build_no or not ctx.config.values.build.buildno:
build_no = old_build_no = None
ctx.ui.warning(_('Build number is not available. For repo builds you must enable buildno in pisi.conf.'))
else:
- build_no, old_build_no = self.calc_build_no(old_package_info)
+ build_no, old_build_no = self.calc_build_no(package.name)
self.metadata.package.build = build_no
self.metadata.write(pisi.util.join_path(self.pkg_dir(), ctx.const.metadata_xml))
diff --git a/pisi/cli/__init__.py b/pisi/cli/__init__.py
index 9b35e399..a0efcbc3 100644
--- a/pisi/cli/__init__.py
+++ b/pisi/cli/__init__.py
@@ -103,7 +103,7 @@ class CLI(pisi.ui.UI):
opt = int(s)
if 1 <= opt and opt <= len(opts):
return opts(opt-1)
- except (Exception,e):
+ except Exception:
pass
def confirm(self, msg):
diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py
index c833ddf7..ba6ff349 100644
--- a/pisi/cli/commands.py
+++ b/pisi/cli/commands.py
@@ -99,9 +99,9 @@ class Command(object):
@staticmethod
def commands_string():
s = ''
- list = [x.name[0] for x in Command.cmd]
- list.sort()
- for name in list:
+ l = [x.name[0] for x in Command.cmd]
+ l.sort()
+ for name in l:
commandcls = Command.cmd_dict[name]
trans = gettext.translation('pisi', fallback=True)
summary = trans.ugettext(commandcls.__doc__).split('\n')[0]
@@ -173,12 +173,12 @@ class Command(object):
# make destdir absolute
if self.options.destdir:
- dir = str(self.options.destdir)
+ d = str(self.options.destdir)
import os.path
- if not os.path.exists(dir):
- pisi.cli.printu(_('Destination directory %s does not exist. Creating directory.\n') % dir)
- os.makedirs(dir)
- self.options.destdir = os.path.realpath(dir)
+ if not os.path.exists(d):
+ pisi.cli.printu(_('Destination directory %s does not exist. Creating directory.\n') % d)
+ os.makedirs(d)
+ self.options.destdir = os.path.realpath(d)
def check_auth_info(self):
username = self.options.username
@@ -374,7 +374,7 @@ the package in graphviz format to 'pgraph.dot'.
repo = ctx.get_option('repository')
ctx.ui.info(_('Plotting packages in repository %s') % repo)
else:
- repo = pisi.db.itembyrepodb.repos
+ repo = pisi.itembyrepodb.repos
if self.args:
a = self.args
else:
@@ -387,7 +387,7 @@ the package in graphviz format to 'pgraph.dot'.
# if A is empty, then graph all packages
ctx.ui.info(_('Plotting a graph of relations among all installed packages'))
a = ctx.installdb.list_installed()
- repo = pisi.db.itembyrepodb.installed
+ repo = pisi.itembyrepodb.installed
g = pisi.api.package_graph(a, repo = repo,
ignore_installed = ctx.get_option('ignore_installed'))
g.write_graphviz(file(ctx.get_option('output'), 'w'))
@@ -451,8 +451,10 @@ to be downloaded from a repository containing sources.
default=False, help=_("Do not install build dependencies, fail if a build dependency is present"))
group.add_option("-F", "--package-format", action="store", default='1.1',
help=_("PiSi binary package formats: '1.0', '1.1' (default)"))
- group.add_option("--use-quilt", action="store_true",
- default=False, help=_("Use quilt patch management system instead of GNU patch"))
+ group.add_option("--use-quilt", action="store_true", default=False,
+ help=_("Use quilt patch management system instead of GNU patch"))
+ group.add_option("--ignore-sandbox", action="store_true", default=False,
+ help=_("Do not constrain build process inside the build folder"))
def add_steps_options(self):
group = OptionGroup(self.parser, _("build steps"))
@@ -530,7 +532,7 @@ and creates a delta pisi package with the changed files between two releases.
self.init(database=False, write=False)
- if len(self.args) is not 2:
+ if len(self.args) != 2:
self.help()
return
@@ -730,9 +732,9 @@ expanded to package names.
import os
patterns = []
- file = ctx.get_option('exclude_from')
- if os.path.exists(file):
- for line in open(file, "r").readlines():
+ f = ctx.get_option('exclude_from')
+ if os.path.exists(f):
+ for line in open(f, "r").readlines():
if not line.startswith('#') and not line == '\n':
patterns.append(line.strip())
if patterns:
@@ -752,8 +754,8 @@ expanded to package names.
if not match:
# match pattern in component names
- for cmp in fnmatch.filter(ctx.componentdb.list_components(), pattern):
- packages = packages - set(ctx.componentdb.get_union_packages(cmp, walk=True))
+ for compare in fnmatch.filter(ctx.componentdb.list_components(), pattern):
+ packages = packages - set(ctx.componentdb.get_union_packages(compare, walk=True))
return list(packages)
@@ -951,7 +953,7 @@ Usage: info ...
ctx.ui.info(_('[inst] '), noln=True)
else:
ctx.ui.info(_('Installed package:'))
- self.print_pkginfo(metadata, files,pisi.db.itembyrepodb.installed)
+ self.print_pkginfo(metadata, files,pisi.itembyrepodb.installed)
if ctx.packagedb.has_package(arg):
metadata, files, repo = pisi.api.info_name(arg, False)
@@ -959,7 +961,7 @@ Usage: info ...
ctx.ui.info(_('[repo] '), noln=True)
else:
ctx.ui.info(_('Package found in %s repository:') % repo)
- self.print_pkginfo(metadata, files, pisi.db.itembyrepodb.repos)
+ self.print_pkginfo(metadata, files, pisi.itembyrepodb.repos)
if not ctx.packagedb.has_package(arg):
ctx.ui.info(_("%s is not found in repositories") % arg)
@@ -968,8 +970,6 @@ Usage: info ...
ctx.ui.info(_("%s is not installed") % arg)
def print_pkginfo(self, metadata, files, repo = None):
- import os.path
-
if ctx.get_option('short'):
pkg = metadata.package
ctx.ui.info('%15s - %s' % (pkg.name, unicode(pkg.summary)))
@@ -1017,7 +1017,7 @@ If no packages are given, checks all installed packages.
def options(self):
group = OptionGroup(self.parser, _("check options"))
group.add_option("-c", "--component", action="store",
- default=None, help=_("Check installed packages under given component"))
+ default=None, help=_("Check installed packages under given component"))
self.parser.add_option_group(group)
def run(self):
@@ -1146,7 +1146,7 @@ Usage: list-installed
ctx.ui.info(_('Package Name |St| Version| Rel.| Build| Distro| Date'))
print '========================================================================'
for pkg in installed:
- package = pisi.api.get_installed_package(pkg)
+ package = ctx.packagedb.get_package(pkg, pisi.itembyrepodb.installed)
inst_info = ctx.installdb.get_info(pkg)
if self.options.long:
ctx.ui.info(unicode(package))
@@ -1273,7 +1273,7 @@ NB: We support only local files (e.g., /a/b/c) and http:// URIs at the moment
else:
name = 'pardus-2007'
indexuri = 'http://paketler.pardus.org.tr/pardus-2007/pisi-index.xml.bz2'
- pisi.api.add_repository(name, indexuri, ctx.get_option('at'))
+ pisi.api.add_repo(name, indexuri, ctx.get_option('at'))
if ctx.ui.confirm(_('Update PiSi database for repository %s?') % name):
try:
pisi.api.update_repo(name)
@@ -1383,13 +1383,13 @@ all repositories.
component = ctx.get_option('component')
if component:
- list = ctx.componentdb.get_packages(component, walk=True, repo=repo)
+ l = ctx.componentdb.get_packages(component, walk=True, repo=repo)
else:
- list = ctx.packagedb.list_packages(repo)
+ l = ctx.packagedb.list_packages(repo)
installed_list = ctx.installdb.list_installed()
- list.sort()
- for p in list:
- package = pisi.api.get_repo_package(p)
+ l.sort()
+ for p in l:
+ package = ctx.packagedb.get_package(p)
if self.options.long:
ctx.ui.info(unicode(package))
else:
@@ -1426,9 +1426,9 @@ repositories.
self.init(database = True, write = False)
- list = ctx.componentdb.list_components()
- list.sort()
- for p in list:
+ l = ctx.componentdb.list_components()
+ l.sort()
+ for p in l:
component = ctx.componentdb.get_component(p)
if self.options.long:
ctx.ui.info(unicode(component))
@@ -1465,9 +1465,9 @@ Gives a brief list of sources published in the repositories.
self.init(database = True, write = False)
- list = ctx.sourcedb.list()
- list.sort()
- for p in list:
+ l = ctx.sourcedb.list()
+ l.sort()
+ for p in l:
sf, repo = ctx.sourcedb.get_spec_repo(p)
if self.options.long:
ctx.ui.info('[Repository: ' + repo + ']')
@@ -1524,7 +1524,7 @@ Lists the packages that will be upgraded.
ctx.ui.info(_('Package Name |St| Version| Rel.| Build| Distro| Date'))
print '========================================================================'
for pkg in upgradable_pkgs:
- package = pisi.api.get_installed_package(pkg)
+ package = ctx.packagedb.get_package(pkg, pisi.itembyrepodb.installed)
inst_info = ctx.installdb.get_info(pkg)
if self.options.long:
ctx.ui.info(package)
diff --git a/pisi/cli/pisicli.py b/pisi/cli/pisicli.py
index 685aa781..a47fe8d8 100644
--- a/pisi/cli/pisicli.py
+++ b/pisi/cli/pisicli.py
@@ -26,9 +26,6 @@ from pisi.cli.commands import *
class ParserError(pisi.Exception):
pass
-class Error(pisi.Error):
- pass
-
class PreParser(OptionParser):
"""consumes any options, and finds arguments from command line"""
diff --git a/pisi/component.py b/pisi/component.py
index c3aa7b61..f1c4adcc 100644
--- a/pisi/component.py
+++ b/pisi/component.py
@@ -15,8 +15,11 @@ __trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
import pisi
+import pisi.context as ctx
import pisi.pxml.xmlfile as xmlfile
import pisi.pxml.autoxml as autoxml
+import pisi.lockeddbshelve as shelve
+import pisi.itembyrepodb
class Error(pisi.Error):
pass
@@ -76,4 +79,173 @@ class Component(xmlfile.XmlFile):
# the parts of this component.
# to be filled by the component database, thus it is optional.
t_Packages = [ [autoxml.String], autoxml.optional, "Parts/Package"]
+
t_Sources = [ [autoxml.String], autoxml.optional, "Parts/Source"]
+
+class ComponentDB(object):
+ """a database of components"""
+
+ def __init__(self):
+ self.d = pisi.itembyrepodb.ItemByRepoDB('component')
+
+ def close(self):
+ self.d.close()
+
+ def destroy(self):
+ self.d.destroy()
+
+ def has_component(self, name, repo = pisi.itembyrepodb.repos, txn = None):
+ name = str(name)
+ return self.d.has_key(name, repo, txn)
+
+ def get_component(self, name, repo=None, txn = None):
+ try:
+ return self.d.get_item(name, repo, txn=txn)
+ except pisi.itembyrepodb.NotfoundError, e:
+ raise Error(_('Component %s not found') % name)
+
+ def get_component_repo(self, name, repo=None, txn = None):
+ try:
+ return self.d.get_item_repo(name, repo, txn=txn)
+ except pisi.itembyrepodb.NotfoundError, e:
+ raise Error(_('Component %s not found') % name)
+
+ def get_union_comp(self, name, txn = None, repo = pisi.itembyrepodb.repos ):
+ """get a union of all repository components packages, not just the first repo in order.
+ get only basic repo info from the first repo"""
+ def proc(txn):
+ s = self.d.d.get(name, txn=txn)
+ pkgs = set()
+ srcs = set()
+ for repostr in self.d.order(repo = repo):
+ if s.has_key(repostr):
+ pkgs |= set(s[repostr].packages)
+ srcs |= set(s[repostr].sources)
+ comp = self.get_component(name)
+ comp.packages = list(pkgs)
+ comp.sources = list(srcs)
+ return comp
+ return self.d.txn_proc(proc, txn)
+
+ def list_components(self, repo=None):
+ return self.d.list(repo)
+
+ # walk: walks through the underlying components' packages
+ def get_union_packages(self, component_name, walk=False, repo=pisi.itembyrepodb.repos, txn = None):
+ """returns union of all repository component's packages, not just the first repo's
+ component's in order"""
+
+ component = self.get_union_comp(component_name, txn, repo)
+ if not walk:
+ return component.packages
+
+ packages = []
+ packages.extend(component.packages)
+ for dep in component.dependencies:
+ packages.extend(self.get_union_packages(dep, walk, repo, txn))
+
+ return packages
+
+ # walk: walks through the underlying components' packages
+ def get_packages(self, component_name, walk=False, repo=None, txn = None):
+ """returns the given component's and underlying recursive components' packages"""
+
+ component = self.get_component(component_name, repo, txn)
+ if not walk:
+ return component.packages
+
+ packages = []
+ packages.extend(component.packages)
+ for dep in component.dependencies:
+ packages.extend(self.get_packages(dep, walk, repo, txn))
+
+ return packages
+
+ def add_child(self, component, repo, txn = None):
+ """update component tree"""
+ parent_name = ".".join(component.name.split(".")[:-1])
+ if not parent_name: # root component
+ return
+
+ if self.has_component(parent_name, repo, txn):
+ parent = self.get_component(parent_name, repo, txn)
+ else:
+ parent = Component(name = parent_name)
+
+ if component.name not in parent.dependencies:
+ parent.dependencies.append(component.name)
+ self.d.add_item(parent_name, parent, repo, txn)
+
+ def update_component(self, component, repo, txn = None):
+ def proc(txn):
+ if self.has_component(component.name, repo, txn):
+ # preserve list of sources, packages and dependencies
+ current = self.d.get_item(component.name, repo, txn)
+ component.packages = current.packages
+ component.sources = current.sources
+ component.dependencies = current.dependencies
+ self.d.add_item(component.name, component, repo, txn)
+ self.add_child(component, repo, txn)
+ self.d.txn_proc(proc, txn)
+
+ def add_package(self, component_name, package, repo, txn = None):
+ def proc(txn):
+ assert component_name
+ if self.has_component(component_name, repo, txn):
+ component = self.get_component(component_name, repo, txn)
+ else:
+ component = Component( name = component_name )
+ if not package in component.packages:
+ component.packages.append(package)
+ self.d.add_item(component_name, component, repo, txn) # update
+ self.add_child(component, repo, txn)
+ self.d.txn_proc(proc, txn)
+
+ def remove_package(self, component_name, package, repo = None, txn = None):
+ def proc(txn, repo):
+ if not self.has_component(component_name, repo, txn):
+ raise Error(_('Information for component %s not available') % component_name)
+ if not repo:
+ repo = self.d.which_repo(component_name, txn=txn) # get default repo then
+ component = self.get_component(component_name, repo, txn)
+ if package in component.packages:
+ component.packages.remove(package)
+ self.d.add_item(component_name, component, repo, txn) # update
+
+ ctx.txn_proc(lambda x: proc(txn, repo), txn)
+
+ def add_spec(self, component_name, spec, repo, txn = None):
+ def proc(txn):
+ assert component_name
+ if self.has_component(component_name, repo, txn):
+ component = self.get_component(component_name, repo, txn)
+ else:
+ component = Component( name = component_name )
+ if not spec in component.sources:
+ component.sources.append(spec)
+ self.d.add_item(component_name, component, repo, txn) # update
+ self.add_child(component, repo, txn)
+ self.d.txn_proc(proc, txn)
+
+ def remove_spec(self, component_name, spec, repo = None, txn = None):
+ def proc(txn, repo):
+ if not self.has_component(component_name, repo, txn):
+ raise Error(_('Information for component %s not available') % component_name)
+ if not repo:
+ repo = self.d.which_repo(component_name, txn=txn) # get default repo then
+ component = self.get_component(component_name, repo, txn)
+ if spec in component.sources:
+ component.sources.remove(spec)
+ self.d.add_item(component_name, component, repo, txn) # update
+
+ ctx.txn_proc(lambda x: proc(txn, repo), txn)
+
+ def clear(self, txn = None):
+ self.d.clear(txn)
+
+ def remove_component(self, name, repo = None, txn = None):
+ name = str(name)
+ self.d.remove_item(name, repo, txn)
+
+ def remove_repo(self, repo, txn = None):
+ self.d.remove_repo(repo, txn=txn)
diff --git a/pisi/config.py b/pisi/config.py
index 3be7b5af..e21a53d7 100644
--- a/pisi/config.py
+++ b/pisi/config.py
@@ -82,9 +82,9 @@ class Config(object):
return self.destdir
def subdir(self, path):
- dir = pisi.util.join_path(self.dest_dir(), path)
- pisi.util.check_dir(dir)
- return dir
+ subdir = pisi.util.join_path(self.dest_dir(), path)
+ pisi.util.check_dir(subdir)
+ return subdir
def log_dir(self):
return self.subdir(self.values.dirs.log_dir)
diff --git a/pisi/configfile.py b/pisi/configfile.py
index 507d0d73..eb33ea9f 100644
--- a/pisi/configfile.py
+++ b/pisi/configfile.py
@@ -64,9 +64,9 @@ class GeneralDefaults:
autoclean = False
distribution = "Pardus"
distribution_release = "2007"
- http_proxy = (os.getenv("http_proxy") or os.getenv("HTTP_PROXY")) or None
- https_proxy = (os.getenv("https_proxy") or os.getenv("HTTPS_PROXY")) or None
- ftp_proxy = (os.getenv("ftp_proxy") or os.getenv("FTP_PROXY")) or None
+ http_proxy = os.getenv("HTTP_PROXY") or None
+ https_proxy = os.getenv("HTTPS_PROXY") or None
+ ftp_proxy = os.getenv("FTP_PROXY") or None
package_cache = False
package_cache_limit = 0
diff --git a/pisi/conflict.py b/pisi/conflict.py
index b55ccf5a..6b3032cf 100644
--- a/pisi/conflict.py
+++ b/pisi/conflict.py
@@ -16,23 +16,10 @@ import gettext
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
-import pisi.context as ctx
-import pisi.version
-import pisi.pxml.autoxml as autoxml
-import pisi.db.itembyrepodb
-
-class Conflict:
-
- __metaclass__ = autoxml.autoxml
-
- s_Package = [autoxml.String, autoxml.mandatory]
- a_version = [autoxml.String, autoxml.optional]
- a_versionFrom = [autoxml.String, autoxml.optional]
- a_versionTo = [autoxml.String, autoxml.optional]
- a_release = [autoxml.String, autoxml.optional]
- a_releaseFrom = [autoxml.String, autoxml.optional]
- a_releaseTo = [autoxml.String, autoxml.optional]
+import pisi.relation
+""" Conflict relation """
+class Conflict(pisi.relation.Relation):
def __str__(self):
s = self.package
if self.versionFrom:
@@ -49,39 +36,53 @@ class Conflict:
s += _(" release ") + self.release
return s
- def conflicts(self, pkg_name, version, release):
- """determine if a package ver. conflicts with given conflicting spec"""
- ret = True
- v = pisi.version.Version(version)
- if self.version:
- ret &= v == pisi.version.Version(self.version)
- if self.versionFrom:
- ret &= v >= pisi.version.Version(self.versionFrom)
- if self.versionTo:
- ret &= v <= pisi.version.Version(self.versionTo)
- r = pisi.version.Version(release)
- if self.release:
- ret &= r == pisi.version.Version(self.release)
- if self.releaseFrom:
- ret &= r >= pisi.version.Version(self.releaseFrom)
- if self.releaseTo:
- ret &= r <= pisi.version.Version(self.releaseTo)
- return ret
-
def installed_package_conflicts(confinfo):
"""determine if an installed package in *repository* conflicts with
given conflicting spec"""
- pkg_name = confinfo.package
- if not ctx.installdb.is_installed(pkg_name):
- return False
- else:
- pkg = api.get_installed_package(pkg_name)
- (version, release) = (pkg.version, pkg.release)
- return confinfo.conflicts(pkg_name, version, release)
+ return pisi.relation.installed_package_satisfies(confinfo)
def package_conflicts(pkg, confs):
for c in confs:
- if pkg.name == c.package and c.conflicts(pkg.name, pkg.version, pkg.release):
+ if pkg.name == c.package and c.satisfies_relation(pkg.name, pkg.version, pkg.release):
return c
return None
+
+def calculate_conflicts(order, packagedb):
+
+ # check conflicting packages in the installed system
+ def check_installed(pkg, order):
+ conflicts = []
+
+ for conflict in pkg.conflicts:
+ if conflict.package not in order and installed_package_conflicts(conflict):
+ conflicts.append(conflict)
+
+ return conflicts
+
+ B_0 = set(order)
+ conflicting_pkgs = conflicts_inorder = set()
+ conflicting_pairs = {}
+
+ for x in order:
+ pkg = packagedb.get_package(x)
+
+ # check if any package has conflicts with the installed packages
+ conflicts = check_installed(pkg, order)
+ if conflicts:
+ conflicting_pairs[x] = map(lambda c:str(c), conflicts)
+ conflicting_pkgs = conflicting_pkgs.union(map(lambda c:c.package, conflicts))
+
+ # now check if any package has conflicts with each other
+ B_i = B_0.intersection(set(map(lambda c:c.package, pkg.conflicts)))
+ conflicts_inorder_i = set()
+ for p in map(lambda x:packagedb.get_package(x), B_i):
+ conflicted = package_conflicts(p, pkg.conflicts)
+ if conflicted:
+ conflicts_inorder_i.add(str(conflicted))
+
+ if conflicts_inorder_i:
+ conflicts_inorder = conflicts_inorder.union(conflicts_inorder_i)
+ conflicts_inorder.add(pkg.name)
+
+ return (conflicting_pkgs, conflicts_inorder, conflicting_pairs)
diff --git a/pisi/constants.py b/pisi/constants.py
index bea67123..0d593df6 100644
--- a/pisi/constants.py
+++ b/pisi/constants.py
@@ -18,8 +18,6 @@ import gettext
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
-import pisi
-
class _constant:
"Constant members implementation"
class ConstError(TypeError):
@@ -75,6 +73,7 @@ class Constants:
self.__c.actions_file = "actions.py"
self.__c.files_dir = "files"
self.__c.metadata_dir = "metadata"
+ self.__c.translations_file = "translations.xml"
self.__c.comar_dir = "comar"
self.__c.files_xml = "files.xml"
self.__c.metadata_xml = "metadata.xml"
diff --git a/pisi/context.py b/pisi/context.py
index 4799a7ba..3a3688be 100644
--- a/pisi/context.py
+++ b/pisi/context.py
@@ -41,6 +41,9 @@ dbenv = None
installdb = None
packagedb = None
repodb = None
+sourcedb = None
+filesdb = None
+componentdb = None
invidx = None
comar = None
diff --git a/pisi/db/__init__.py b/pisi/db/__init__.py
deleted file mode 100644
index 31121064..00000000
--- a/pisi/db/__init__.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (C) 2005 - 2007, TUBITAK/UEKAE
-#
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2 of the License, or (at your option)
-# any later version.
-#
-# Please read the COPYING file.
-#
diff --git a/pisi/db/componentdb.py b/pisi/db/componentdb.py
deleted file mode 100644
index c7b71623..00000000
--- a/pisi/db/componentdb.py
+++ /dev/null
@@ -1,190 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (C) 2005 - 2007, TUBITAK/UEKAE
-#
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2 of the License, or (at your option)
-# any later version.
-#
-# Please read the COPYING file.
-#
-
-import types
-
-import gettext
-__trans = gettext.translation('pisi', fallback=True)
-_ = __trans.ugettext
-
-import pisi
-import pisi.context as ctx
-import pisi.db.itembyrepodb as itembyrepodb
-import pisi.component
-
-
-class ComponentDB(object):
-
- def __init__(self):
- self.d = itembyrepodb.ItemByRepoDB('component')
-
- def close(self):
- self.d.close()
-
- def destroy(self):
- self.d.destroy()
-
- def has_component(self, name, repo = itembyrepodb.repos, txn = None):
- name = str(name)
- return self.d.has_key(name, repo, txn)
-
- def get_component(self, name, repo=None, txn = None):
- try:
- return self.d.get_item(name, repo, txn=txn)
- except itembyrepodb.NotfoundError, e:
- raise Error(_('Component %s not found') % name)
-
- def get_component_repo(self, name, repo=None, txn = None):
- try:
- return self.d.get_item_repo(name, repo, txn=txn)
- except itembyrepodb.NotfoundError, e:
- raise Error(_('Component %s not found') % name)
-
- def get_union_comp(self, name, txn = None, repo = itembyrepodb.repos ):
- """get a union of all repository components packages, not just the first repo in order.
- get only basic repo info from the first repo"""
- def proc(txn):
- s = self.d.d.get(name, txn=txn)
- pkgs = set()
- srcs = set()
- for repostr in self.d.order(repo = repo):
- if s.has_key(repostr):
- pkgs |= set(s[repostr].packages)
- srcs |= set(s[repostr].sources)
- comp = self.get_component(name)
- comp.packages = list(pkgs)
- comp.sources = list(srcs)
- return comp
- return self.d.txn_proc(proc, txn)
-
- def list_components(self, repo=None):
- return self.d.list(repo)
-
- # walk: walks through the underlying components' packages
- def get_union_packages(self, component_name, walk=False, repo=pisi.db.itembyrepodb.repos, txn = None):
- """returns union of all repository component's packages, not just the first repo's
- component's in order"""
-
- component = self.get_union_comp(component_name, txn, repo)
- if not walk:
- return component.packages
-
- packages = []
- packages.extend(component.packages)
- for dep in component.dependencies:
- packages.extend(self.get_union_packages(dep, walk, repo, txn))
-
- return packages
-
- # walk: walks through the underlying components' packages
- def get_packages(self, component_name, walk=False, repo=None, txn = None):
- """returns the given component's and underlying recursive components' packages"""
-
- component = self.get_component(component_name, repo, txn)
- if not walk:
- return component.packages
-
- packages = []
- packages.extend(component.packages)
- for dep in component.dependencies:
- packages.extend(self.get_packages(dep, walk, repo, txn))
-
- return packages
-
- def add_child(self, component, repo, txn = None):
- """update component tree"""
- parent_name = ".".join(component.name.split(".")[:-1])
- if not parent_name: # root component
- return
-
- if self.has_component(parent_name, repo, txn):
- parent = self.get_component(parent_name, repo, txn)
- else:
- parent = pisi.component.Component(name = parent_name)
-
- if component.name not in parent.dependencies:
- parent.dependencies.append(component.name)
- self.d.add_item(parent_name, parent, repo, txn)
-
- def update_component(self, component, repo, txn = None):
- def proc(txn):
- if self.has_component(component.name, repo, txn):
- # preserve list of sources, packages and dependencies
- current = self.d.get_item(component.name, repo, txn)
- component.packages = current.packages
- component.sources = current.sources
- component.dependencies = current.dependencies
- self.d.add_item(component.name, component, repo, txn)
- self.add_child(component, repo, txn)
- self.d.txn_proc(proc, txn)
-
- def add_package(self, component_name, package, repo, txn = None):
- def proc(txn):
- assert component_name
- if self.has_component(component_name, repo, txn):
- component = self.get_component(component_name, repo, txn)
- else:
- component = pisi.component.Component( name = component_name )
- if not package in component.packages:
- component.packages.append(package)
- self.d.add_item(component_name, component, repo, txn) # update
- self.add_child(component, repo, txn)
- self.d.txn_proc(proc, txn)
-
- def remove_package(self, component_name, package, repo = None, txn = None):
- def proc(txn, repo):
- if not self.has_component(component_name, repo, txn):
- raise Error(_('Information for component %s not available') % component_name)
- if not repo:
- repo = self.d.which_repo(component_name, txn=txn) # get default repo then
- component = self.get_component(component_name, repo, txn)
- if package in component.packages:
- component.packages.remove(package)
- self.d.add_item(component_name, component, repo, txn) # update
-
- ctx.txn_proc(lambda x: proc(txn, repo), txn)
-
- def add_spec(self, component_name, spec, repo, txn = None):
- def proc(txn):
- assert component_name
- if self.has_component(component_name, repo, txn):
- component = self.get_component(component_name, repo, txn)
- else:
- component = pisi.component.Component( name = component_name )
- if not spec in component.sources:
- component.sources.append(spec)
- self.d.add_item(component_name, component, repo, txn) # update
- self.add_child(component, repo, txn)
- self.d.txn_proc(proc, txn)
-
- def remove_spec(self, component_name, spec, repo = None, txn = None):
- def proc(txn, repo):
- if not self.has_component(component_name, repo, txn):
- raise Error(_('Information for component %s not available') % component_name)
- if not repo:
- repo = self.d.which_repo(component_name, txn=txn) # get default repo then
- component = self.get_component(component_name, repo, txn)
- if spec in component.sources:
- component.sources.remove(spec)
- self.d.add_item(component_name, component, repo, txn) # update
-
- ctx.txn_proc(lambda x: proc(txn, repo), txn)
-
- def clear(self, txn = None):
- self.d.clear(txn)
-
- def remove_component(self, name, repo = None, txn = None):
- name = str(name)
- self.d.remove_item(name, repo, txn)
-
- def remove_repo(self, repo, txn = None):
- self.d.remove_repo(repo, txn=txn)
diff --git a/pisi/db/filesdb.py b/pisi/db/filesdb.py
deleted file mode 100644
index 4480797c..00000000
--- a/pisi/db/filesdb.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (C) 2005 - 2007, TUBITAK/UEKAE
-#
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2 of the License, or (at your option)
-# any later version.
-#
-# Please read the COPYING file.
-#
-
-import pisi.db.lockeddbshelve as shelve
-import pisi.files
-
-class FilesDB(shelve.LockedDBShelf):
- '''
- FilesDB provides db access operations for Files objects (files.Files)
- '''
- def __init__(self):
- shelve.LockedDBShelf.__init__(self, 'files')
-
- def add_files(self, pkg_name, files, txn = None):
- def proc(txn):
- for x in files.list:
- path = x.path
- del x.path # don't store redundant attribute in db
- self.put(path, (pkg_name, x), txn)
- x.path = path # store it back in
- self.txn_proc(proc, txn)
-
- def remove_files(self, files, txn = None):
- def proc(txn):
- for x in files.list:
- if self.has_key(x.path):
- self.delete(x.path, txn)
- self.txn_proc(proc, txn)
-
- def has_file(self, path, txn = None):
- return self.has_key(str(path), txn)
-
- def get_file(self, path, txn = None):
- path = str(path)
- def proc(txn):
- if not self.has_key(path, txn):
- return None
- else:
- (name, fileinfo) = self.get(path, txn)
- fileinfo.path = path
- return (name, fileinfo)
- return self.txn_proc(proc, txn)
-
- def match_files(self, glob):
- # NB: avoid using, this reads the entire db
- import fnmatch
- glob = str(glob)
- infos = []
- for key in self.keys():
- if fnmatch.fnmatch(key, glob):
-
- # FIXME: Why should we assign path attribute manually
- # in fileinfo? This is also done in get_file(), seems
- # like a dirty workaround... - baris
- name = self[key][0]
- fileinfo = self[key][1]
- fileinfo.path = key
- infos.append((name, fileinfo))
- return infos
diff --git a/pisi/db/dbshelve.py b/pisi/dbshelve.py
similarity index 99%
rename from pisi/db/dbshelve.py
rename to pisi/dbshelve.py
index fa7c9b4a..13ffbde7 100644
--- a/pisi/db/dbshelve.py
+++ b/pisi/dbshelve.py
@@ -89,7 +89,7 @@ class DBShelf:
raise CodingError()
def encode(self, obj):
- return cPickle.dumps(obj, 2)
+ return cPickle.dumps(obj, 1)
def clear(self, txn = None):
def proc(txn):
diff --git a/pisi/delta.py b/pisi/delta.py
index d0e81ba9..a331ff11 100644
--- a/pisi/delta.py
+++ b/pisi/delta.py
@@ -74,8 +74,8 @@ def create_delta_package(old_package, new_package):
ctx.build_leftover = util.join_path(ctx.config.tmp_dir(), ctx.const.install_tar_lzma)
tar = archive.ArchiveTar(util.join_path(ctx.config.tmp_dir(), ctx.const.install_tar_lzma), "tarlzma")
- for file in files_delta:
- tar.add_to_archive(file.path)
+ for f in files_delta:
+ tar.add_to_archive(f.path)
tar.close()
os.chdir(ctx.config.tmp_dir())
@@ -99,34 +99,39 @@ def create_delta_package(old_package, new_package):
def find_delta(oldfiles, newfiles):
hashto_files = {}
- for file in newfiles.list:
- hashto_files.setdefault(file.hash, []).append(file)
+ for f in newfiles.list:
+ hashto_files.setdefault(f.hash, []).append(f)
files_new = sets.Set(map(lambda x:x.hash, newfiles.list))
files_old = sets.Set(map(lambda x:x.hash, oldfiles.list))
files_delta = files_new - files_old
deltas = []
- for hash in files_delta:
- deltas.extend(hashto_files[hash])
+ for h in files_delta:
+ deltas.extend(hashto_files[h])
+
+ # Directory hashes are None. There was a bug with PolicyKit that should have an empty directory.
+ if hashto_files.has_key(None):
+ deltas.extend(hashto_files[None])
return deltas
def find_relocations(oldfiles, newfiles):
files_new = {}
- for file in newfiles.list:
- files_new.setdefault(file.hash, []).append(file)
+ for f in newfiles.list:
+ files_new.setdefault(f.hash, []).append(f)
files_old = {}
- for file in oldfiles.list:
- files_old.setdefault(file.hash, []).append(file)
+ for f in oldfiles.list:
+ files_old.setdefault(f.hash, []).append(f)
relocations = []
- for hash in files_new.keys():
- if hash and hash in files_old:
- for i in range(len(files_new[hash])):
- if files_old[hash][0].path != files_new[hash][i].path:
- relocations.append((files_old[hash][0], files_new[hash][i]))
+ for h in files_new.keys():
+ if h and h in files_old:
+ old_paths = [x.path for x in files_old[h]]
+ for i in range(len(files_new[h])):
+ if files_new[h][i].path not in old_paths:
+ relocations.append((files_old[h][0], files_new[h][i]))
return relocations
diff --git a/pisi/dependency.py b/pisi/dependency.py
index edb57f21..804206f1 100644
--- a/pisi/dependency.py
+++ b/pisi/dependency.py
@@ -16,25 +16,11 @@ import gettext
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
-import pisi
import pisi.context as ctx
-import pisi.db.packagedb as packagedb
-import pisi.version
-import pisi.pxml.autoxml as autoxml
-import pisi.db.itembyrepodb
-
-class Dependency:
-
- __metaclass__ = autoxml.autoxml
-
- s_Package = [autoxml.String, autoxml.mandatory]
- a_version = [autoxml.String, autoxml.optional]
- a_versionFrom = [autoxml.String, autoxml.optional]
- a_versionTo = [autoxml.String, autoxml.optional]
- a_release = [autoxml.String, autoxml.optional]
- a_releaseFrom = [autoxml.String, autoxml.optional]
- a_releaseTo = [autoxml.String, autoxml.optional]
+import pisi.relation
+""" Dependency relation """
+class Dependency(pisi.relation.Relation):
def __str__(self):
s = self.package
if self.versionFrom:
@@ -51,25 +37,6 @@ class Dependency:
s += _(" release ") + self.release
return s
- def satisfies(self, pkg_name, version, release):
- """determine if a package ver. satisfies given dependency spec"""
- ret = True
- v = pisi.version.Version(version)
- if self.version:
- ret &= v == pisi.version.Version(self.version)
- if self.versionFrom:
- ret &= v >= pisi.version.Version(self.versionFrom)
- if self.versionTo:
- ret &= v <= pisi.version.Version(self.versionTo)
- r = pisi.version.Version(release)
- if self.release:
- ret &= r == pisi.version.Version(self.release)
- if self.releaseFrom:
- ret &= r >= pisi.version.Version(self.releaseFrom)
- if self.releaseTo:
- ret &= r <= pisi.version.Version(self.releaseTo)
- return ret
-
def dict_satisfies_dep(dict, depinfo):
"""determine if a package in a dictionary satisfies given dependency spec"""
pkg_name = depinfo.package
@@ -78,18 +45,12 @@ def dict_satisfies_dep(dict, depinfo):
else:
pkg = dict[pkg_name]
(version, release) = (pkg.version, pkg.release)
- return depinfo.satisfies(pkg_name, version, release)
+ return depinfo.satisfies_relation(pkg_name, version, release)
def installed_satisfies_dep(depinfo):
"""determine if a package in *repository* satisfies given
dependency spec"""
- pkg_name = depinfo.package
- if not ctx.installdb.is_installed(pkg_name):
- return False
- else:
- pkg = pisi.api.get_installed_package(pkg_name)
- (version, release) = (pkg.version, pkg.release)
- return depinfo.satisfies(pkg_name, version, release)
+ return pisi.relation.installed_package_satisfies(depinfo)
def repo_satisfies_dep(depinfo):
"""determine if a package in *repository* satisfies given
@@ -98,9 +59,9 @@ dependency spec"""
if not ctx.packagedb.has_package(pkg_name):
return False
else:
- pkg = pisi.api.get_repo_package(pkg_name)
+ pkg = ctx.packagedb.get_package(pkg_name)
(version, release) = (pkg.version, pkg.release)
- return depinfo.satisfies(pkg_name, version, release)
+ return depinfo.satisfies_relation(pkg_name, version, release)
def satisfies_dependencies(pkg, deps, sat = installed_satisfies_dep):
for dep in deps:
@@ -111,7 +72,7 @@ def satisfies_dependencies(pkg, deps, sat = installed_satisfies_dep):
return True
def satisfies_runtime_deps(pkg):
- deps = pisi.api.get_repo_package(pkg).runtimeDependencies()
+ deps = ctx.packagedb.get_package(pkg).runtimeDependencies()
return satisfies_dependencies(pkg, deps)
def installable(pkg):
diff --git a/pisi/fetcher.py b/pisi/fetcher.py
index a52fa61f..1b3422e6 100644
--- a/pisi/fetcher.py
+++ b/pisi/fetcher.py
@@ -282,17 +282,17 @@ class FTPRangeHandler(urllib2.FTPHandler):
path, attrs = urllib.splitattr(req.get_selector())
dirs = path.split('/')
dirs = map(urllib.unquote, dirs)
- dirs, file = dirs[:-1], dirs[-1]
+ dirs, f = dirs[:-1], dirs[-1]
if dirs and not dirs[0]:
dirs = dirs[1:]
try:
fw = self.connect_ftp('', '', host, port, dirs)
- type = file and 'I' or 'D'
+ t = f and 'I' or 'D'
for attr in attrs:
attr, value = urllib.splitattr(attr)
if attr.lower() == 'type' and \
value in ('a', 'A', 'i', 'I', 'd', 'D'):
- type = value.upper()
+ t = value.upper()
rawr = req.headers.get('Range', None)
if rawr:
@@ -300,7 +300,7 @@ class FTPRangeHandler(urllib2.FTPHandler):
else:
rest = 0
- fp, retrlen = fw.retrfile(file, type, rest)
+ fp, retrlen = fw.retrfile(f, t, rest)
fb, lb = rest, retrlen
if retrlen is None or retrlen == 0:
@@ -327,7 +327,7 @@ class FTPRangeHandler(urllib2.FTPHandler):
raise IOError, (_('ftp error'), msg), sys.exc_info()[2]
def connect_ftp(self, user, passwd, host, port, dirs):
- fw = ftpwrapper('', '', host, port, dirs)
+ fw = ftpwrapper(user, passwd, host, port, dirs)
return fw
class ftpwrapper(urllib.ftpwrapper):
@@ -355,6 +355,7 @@ class ftpwrapper(urllib.ftpwrapper):
if str(reason)[:3] == '501':
# workaround for REST not suported error
fp, retrlen = self.retrfile(file, type)
+ # WTF? No global (RangeableFileObject) found. RangeableFileObject only defined in urlgrabber / caglar
fp = RangeableFileObject(fp, (rest,''))
return (fp, retrlen)
elif str(reason)[:3] != '550':
diff --git a/pisi/file.py b/pisi/file.py
index 7b29b8c2..a40d71a1 100644
--- a/pisi/file.py
+++ b/pisi/file.py
@@ -144,7 +144,6 @@ class File:
"it is pointless to open a file without a URI and a mode"
self.transfer_dir = transfer_dir
-
self.sha1sum = sha1sum
self.compress = compress
self.sign = sign
diff --git a/pisi/files.py b/pisi/files.py
index fa98f9ad..aed0614d 100644
--- a/pisi/files.py
+++ b/pisi/files.py
@@ -15,6 +15,8 @@ during the build process of a package and used in installation.'''
import pisi.pxml.autoxml as autoxml
+import pisi.lockeddbshelve as shelve
+
class FileInfo:
"""File holds the information for a File node/tag in files.xml"""
@@ -47,3 +49,55 @@ class Files(autoxml.xmlfile.XmlFile):
def append(self, fileinfo):
self.list.append(fileinfo)
+
+class FilesDB(shelve.LockedDBShelf):
+
+ def __init__(self):
+ shelve.LockedDBShelf.__init__(self, 'files')
+
+ def add_files(self, pkg_name, files, txn = None):
+ def proc(txn):
+ for x in files.list:
+ path = x.path
+ del x.path # don't store redundant attribute in db
+ self.put(path, (pkg_name, x), txn)
+ x.path = path # store it back in
+ self.txn_proc(proc, txn)
+
+ def remove_files(self, files, txn = None):
+ def proc(txn):
+ for x in files.list:
+ if self.has_key(x.path):
+ self.delete(x.path, txn)
+ self.txn_proc(proc, txn)
+
+ def has_file(self, path, txn = None):
+ return self.has_key(str(path), txn)
+
+ def get_file(self, path, txn = None):
+ path = str(path)
+ def proc(txn):
+ if not self.has_key(path, txn):
+ return None
+ else:
+ (name, fileinfo) = self.get(path, txn)
+ fileinfo.path = path
+ return (name, fileinfo)
+ return self.txn_proc(proc, txn)
+
+ def match_files(self, glob):
+ # NB: avoid using, this reads the entire db
+ import fnmatch
+ glob = str(glob)
+ infos = []
+ for key in self.keys():
+ if fnmatch.fnmatch(key, glob):
+
+ # FIXME: Why should we assign path attribute manually
+ # in fileinfo? This is also done in get_file(), seems
+ # like a dirty workaround... - baris
+ name = self[key][0]
+ fileinfo = self[key][1]
+ fileinfo.path = key
+ infos.append((name, fileinfo))
+ return infos
diff --git a/pisi/graph.py b/pisi/graph.py
index 1bffe0f1..e55dd671 100644
--- a/pisi/graph.py
+++ b/pisi/graph.py
@@ -44,11 +44,11 @@ class Digraph(object):
def edges(self):
"return a list of edge descriptors"
- list = []
+ l = []
for u in self.__v:
for v in self.__adj[u]:
- list.append( (u,v) )
- return list
+ l.append( (u,v) )
+ return l
def from_list(self, el):
"convert a list of edges (u,v) to graph"
diff --git a/pisi/index.py b/pisi/index.py
index 1668e721..763331f0 100644
--- a/pisi/index.py
+++ b/pisi/index.py
@@ -23,15 +23,12 @@ import pisi
import pisi.context as ctx
import pisi.specfile as specfile
import pisi.metadata as metadata
-import pisi.db.packagedb as packagedb
-import pisi.db.sourcedb as sourcedb
import pisi.util as util
import pisi.package
import pisi.pxml.xmlfile as xmlfile
import pisi.file
import pisi.pxml.autoxml as autoxml
import pisi.component as component
-import pisi.specfile as specfile
class Error(pisi.Error):
pass
@@ -129,6 +126,7 @@ class Index(xmlfile.XmlFile):
for comp in self.components:
ctx.componentdb.update_component(comp, repo, txn)
ctx.packagedb.remove_repo(repo, txn=txn)
+ ctx.packagedb.add_obsoletes(self.distribution.obsoletes, repo, txn=txn)
for pkg in self.packages:
ctx.packagedb.add_package(pkg, repo, txn=txn)
update_progress()
diff --git a/pisi/db/installdb.py b/pisi/installdb.py
similarity index 92%
rename from pisi/db/installdb.py
rename to pisi/installdb.py
index 3b385ebd..6ef21efa 100644
--- a/pisi/db/installdb.py
+++ b/pisi/installdb.py
@@ -13,10 +13,6 @@
# installation database
#
-# System
-import os
-import fcntl
-
import gettext
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
@@ -24,8 +20,7 @@ _ = __trans.ugettext
# PiSi
import pisi
import pisi.context as ctx
-import pisi.oo
-import pisi.db.lockeddbshelve as dbshelve
+import pisi.lockeddbshelve as shelve
import pisi.files
import pisi.util
@@ -68,11 +63,10 @@ class InstallInfo:
class InstallDB:
- __metaclass__ = pisi.oo.Singleton
-
+
def __init__(self):
- self.d = dbshelve.LockedDBShelf('install')
- self.dp = dbshelve.LockedDBShelf('configpending')
+ self.d = shelve.LockedDBShelf('install')
+ self.dp = shelve.LockedDBShelf('configpending')
self.files_dir = pisi.util.join_path(ctx.config.db_dir(), 'files')
def close(self):
@@ -112,20 +106,20 @@ class InstallDB:
def list_installed(self, txn = None):
def proc(txn):
- list = []
+ l = []
for (pkg, info) in self.d.items(txn):
if info.state=='i' or info.state=='ip':
- list.append(pkg)
- return list
+ l.append(pkg)
+ return l
return self.d.txn_proc(proc, txn)
def list_pending(self):
# warning: reads the entire db
- dict = {}
+ d = {}
for (pkg, x) in self.dp.items():
pkginfo = self.d[pkg]
- dict[pkg] = pkginfo
- return dict
+ d[pkg] = pkginfo
+ return d
def get_info(self, pkg):
pkg = str(pkg)
@@ -198,3 +192,19 @@ class InstallDB:
if self.d.has_key(pkg, txn):
self.d.delete(pkg, txn)
self.d.txn_proc(proc, txn)
+
+db = None
+
+def init():
+ global db
+ if db:
+ return db
+
+ db = InstallDB()
+ return db
+
+def finalize():
+ global db
+ if db:
+ db.close()
+ db = None
diff --git a/pisi/db/itembyrepodb.py b/pisi/itembyrepodb.py
similarity index 98%
rename from pisi/db/itembyrepodb.py
rename to pisi/itembyrepodb.py
index 84d12195..ed59b29b 100644
--- a/pisi/db/itembyrepodb.py
+++ b/pisi/itembyrepodb.py
@@ -10,18 +10,13 @@
# Please read the COPYING file.
#
-import os
-import fcntl
-import types
-
import gettext
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
import pisi
-import pisi.util as util
import pisi.context as ctx
-import pisi.db.lockeddbshelve as shelve
+import pisi.lockeddbshelve as shelve
installed, thirdparty, repos, all = range(1, 5)
diff --git a/pisi/db/lockeddbshelve.py b/pisi/lockeddbshelve.py
similarity index 90%
rename from pisi/db/lockeddbshelve.py
rename to pisi/lockeddbshelve.py
index 44b484d4..cde9e5a9 100644
--- a/pisi/db/lockeddbshelve.py
+++ b/pisi/lockeddbshelve.py
@@ -16,7 +16,7 @@ import types
import bsddb3.db as db
import bsddb3.dbobj as dbobj
-import pisi.db.dbshelve as dbshelve
+import pisi.dbshelve as shelve
import gettext
__trans = gettext.translation('pisi', fallback=True)
@@ -24,7 +24,7 @@ _ = __trans.ugettext
import pisi
import pisi.context as ctx
-import pisi.util as util
+import pisi.util
import pisi.version
class Error(pisi.Error):
@@ -34,7 +34,7 @@ class Error(pisi.Error):
# if write is given it knows it has write access
# if force is given it updates the specified db version
def check_dbversion(versionfile, ver, write=False, update=False):
- verfn = util.join_path(ctx.config.db_dir(), versionfile)
+ verfn = pisi.util.join_path(pisi.context.config.db_dir(), versionfile)
firsttime = False
if os.path.exists(verfn):
verfile = file(verfn, 'r')
@@ -43,11 +43,11 @@ def check_dbversion(versionfile, ver, write=False, update=False):
dbver = pisi.version.Version(ver)
if currver < dbver:
if not update:
- raise Error(_('Database version %s is obsolete. Please run the rebuild-db command.') % versionfile)
+ raise Error(_('Database version for %s insufficient. Please run rebuild-db command.') % versionfile)
else:
pass # continue to update, then
elif currver > dbver:
- raise Error(_('Database version %s is too new for your PiSi version. You need to upgrade PiSi.') % versionfile)
+ raise Error(_('Database version for %s greater than PiSi version. You need a newer PiSi.') % versionfile)
elif not update:
return True # db version is OK
else:
@@ -63,7 +63,7 @@ def check_dbversion(versionfile, ver, write=False, update=False):
raise Error(_('Database version %s not present.') % versionfile)
def lock_dbenv():
- ctx.dbenv_lock = file(util.join_path(pisi.context.config.db_dir(), 'dbenv.lock'), 'w')
+ ctx.dbenv_lock = file(pisi.util.join_path(pisi.context.config.db_dir(), 'dbenv.lock'), 'w')
try:
fcntl.flock(ctx.dbenv_lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
except IOError:
@@ -95,15 +95,15 @@ def init_dbenv(write=False, writeversion=False):
else:
ctx.dbenv = None # read-only access to database
-class LockedDBShelf(dbshelve.DBShelf):
+class LockedDBShelf(shelve.DBShelf):
"""A simple wrapper to implement locking for bsddb's dbshelf"""
def __init__(self, dbname, mode=0644,
filetype=db.DB_BTREE, dbenv = None):
if dbenv == None:
dbenv = ctx.dbenv
- dbshelve.DBShelf.__init__(self, dbenv)
- filename = util.join_path(pisi.context.config.db_dir(), dbname + '.bdb')
+ shelve.DBShelf.__init__(self, dbenv)
+ filename = pisi.util.join_path(pisi.context.config.db_dir(), dbname + '.bdb')
if dbenv and os.access(os.path.dirname(filename), os.W_OK):
flags = 'w'
elif os.access(filename, os.R_OK):
diff --git a/pisi/metadata.py b/pisi/metadata.py
index 0320bb64..55e2b8f5 100644
--- a/pisi/metadata.py
+++ b/pisi/metadata.py
@@ -110,6 +110,7 @@ class MetaData(xmlfile.XmlFile):
# FIXME: no need to copy full history with comments
self.package.history = history
self.package.conflicts = pkg.conflicts
+ self.package.replaces = pkg.replaces
self.package.providesComar = pkg.providesComar
#self.package.requiresComar = pkg.requiresComar
self.package.additionalFiles = pkg.additionalFiles
diff --git a/pisi/oo.py b/pisi/oo.py
index 4605c9df..5b893f24 100644
--- a/pisi/oo.py
+++ b/pisi/oo.py
@@ -37,13 +37,3 @@ class Struct:
def __init__(self, **entries):
self.__dict__.update(entries)
-
-class Singleton(type):
- def __init__(cls, name, bases, dic):
- super(Singleton, cls).__init__(name, bases, dic)
- cls.instance = None
-
- def __call__(cls, *args, **kwargs):
- if not cls.instance:
- cls.instance = super(Singleton, cls).__call__(*args, **kwargs)
- return cls.instance
diff --git a/pisi/operations.py b/pisi/operations.py
index 0dbe342b..daed0526 100644
--- a/pisi/operations.py
+++ b/pisi/operations.py
@@ -24,9 +24,8 @@ import pisi.util as util
import pisi.dependency as dependency
import pisi.conflict
import pisi.pgraph as pgraph
-import pisi.db.packagedb as packagedb
-import pisi.db.repodb
-import pisi.db.installdb
+import pisi.repodb
+import pisi.installdb
import pisi.cli
import pisi.atomicoperations as atomicoperations
import pisi.ui as ui
@@ -178,7 +177,7 @@ in the respective order to satisfy extra dependencies:
while len(B) > 0:
Bp = set()
for x in B:
- pkg = pisi.api.get_repo_package(x)
+ pkg = packagedb.get_package(x)
for dep in pkg.runtimeDependencies():
if dependency.dict_satisfies_dep(d_t, dep):
if not dep.package in G_f.vertices():
@@ -208,53 +207,37 @@ in the respective order to satisfy extra dependencies:
if 'pisi' in order and pisi_installed:
upgrade_pisi()
-def check_conflict(pkg, order):
- conflicts = []
+# FIXME: this should be done in atomicoperations automatically.
+def remove_replaced_packages(order, replaces):
- for conflict in pkg.conflicts:
- if conflict.package not in order and pisi.conflict.installed_package_conflicts(conflict):
- conflicts.append(conflict)
+ replaced = []
+ inorder = set(order).intersection(replaces.values())
- return conflicts
+ if inorder:
+ for pkg in replaces.keys():
+ if replaces[pkg] in inorder:
+ replaced.append(pkg)
-def calculate_conflicts(order, packagedb):
- B_0 = set(order)
- C = D = set()
- pkg_conflicts = {}
-
- for x in order:
- pkg = pisi.api.get_repo_package(x)
-
- # check if any package has conflicts with the installed packages
- conflicts = check_conflict(pkg, order)
- if conflicts:
- pkg_conflicts[x] = map(lambda c:str(c), conflicts)
- C = C.union(map(lambda c:c.package, conflicts))
-
- # now check if any package has conflicts with each other
- B_i = B_0.intersection(set(map(lambda c:c.package, pkg.conflicts)))
- D_i = set()
- for p in map(lambda x:pisi.api.get_repo_package(x), B_i):
- conflicted = pisi.conflict.package_conflicts(p, pkg.conflicts)
- if conflicted:
- D_i.add(str(conflicted))
-
- if D_i:
- D = D.union(D_i)
- D.add(pkg.name)
-
- return (C, D, pkg_conflicts)
+ if replaced:
+ if remove(replaced, ignore_dep=True, ignore_safety=True):
+ raise Error(_("Replaced package remains"))
def remove_conflicting_packages(conflicts):
- if remove(conflicts, ignore_dep=True, ignore_safety=True) == False:
+ if remove(conflicts, ignore_dep=True, ignore_safety=True):
raise Error(_("Conflicts remain"))
+def remove_obsoleted_packages():
+ obsoletes = filter(ctx.installdb.is_installed, ctx.packagedb.get_obsoletes())
+ if obsoletes:
+ if remove(obsoletes, ignore_dep=True, ignore_safety=True):
+ raise Error(_("Obsoleted packages remaining"))
+
def check_conflicts(order, packagedb):
"""check if upgrading to the latest versions will cause havoc
done in a simple minded way without regard for dependencies of
conflicts, etc."""
- (C, D, pkg_conflicts) = calculate_conflicts(order, packagedb)
+ (C, D, pkg_conflicts) = pisi.conflict.calculate_conflicts(order, packagedb)
if D:
raise Error(_("Selected packages [%s] are in conflict with each other.") %
@@ -278,11 +261,12 @@ def is_upgradable(name, ignore_build = False):
return False
(version, release, build) = ctx.installdb.get_version(name)
try:
- pkg = pisi.api.get_repo_package(name)
+ pkg = ctx.packagedb.get_package(name)
except KeyboardInterrupt:
raise
except Exception, e: #FIXME: what exception could we catch here, replace with that.
return False
+
if ignore_build or (not build) or (not pkg.build):
return pisi.version.Version(release) < pisi.version.Version(pkg.release)
else:
@@ -303,7 +287,7 @@ def upgrade_base(A = set(), ignore_package_conflicts = False):
if extra_upgrades:
ctx.ui.warning(_('Safety switch: Following packages in system.base will be upgraded: ') +
util.strlist(extra_upgrades))
- G_f, upgrade_order = plan_upgrade(extra_upgrades, ignore_build)
+ G_f, upgrade_order = plan_upgrade(extra_upgrades)
# return packages that must be added to any installation
return set(install_order + upgrade_order)
else:
@@ -384,7 +368,7 @@ def plan_install_pkg_names(A, ignore_package_conflicts = False):
while len(B) > 0:
Bp = set()
for x in B:
- pkg = pisi.api.get_repo_package(x)
+ pkg = ctx.packagedb.get_package(x)
for dep in pkg.runtimeDependencies():
ctx.ui.debug('checking %s' % str(dep))
# we don't deal with already *satisfied* dependencies
@@ -413,6 +397,9 @@ def upgrade_pkg_names(A = []):
ignore_build = ctx.get_option('ignore_build_no')
security_only = ctx.get_option('security_only')
+ replaced = []
+ replaces = ctx.packagedb.get_replaces()
+
if not A:
# if A is empty, then upgrade all packages
A = ctx.installdb.list_installed()
@@ -424,19 +411,27 @@ def upgrade_pkg_names(A = []):
if x.endswith(ctx.const.package_suffix):
ctx.ui.debug(_("Warning: package *name* ends with '.pisi'"))
+ # Handling of replacement packages
+ if x in replaces.values():
+ Ap.append(x)
+ continue
+
+ if x in replaces.keys():
+ Ap.append(replaces[x])
+ continue
+
if not ctx.installdb.is_installed(x):
ctx.ui.info(_('Package %s is not installed.') % x, True)
continue
(version, release, build) = ctx.installdb.get_version(x)
if ctx.packagedb.has_package(x):
- pkg = pisi.api.get_repo_package(x)
+ pkg = ctx.packagedb.get_package(x)
else:
ctx.ui.info(_('Package %s is not available in repositories.') % x, True)
continue
if security_only:
- history = ctx.packageDB.get_history(x)
- updates = [i for i in history if pisi.version.Version(i.release) > pisi.version.Version(release)]
+ updates = [i for i in pkg.history if pisi.version.Version(i.release) > pisi.version.Version(release)]
if not pisi.util.any(lambda i:i.type == 'security', updates):
continue
@@ -453,7 +448,7 @@ def upgrade_pkg_names(A = []):
ctx.ui.info(_('Package %s is already at the latest build %s.')
% (pkg.name, pkg.build), True)
-
+
A = set(Ap)
if len(A)==0:
@@ -465,7 +460,7 @@ def upgrade_pkg_names(A = []):
ctx.ui.debug('A = %s' % str(A))
if not ctx.config.get_option('ignore_dependency'):
- G_f, order = plan_upgrade(A, ignore_build)
+ G_f, order = plan_upgrade(A)
else:
G_f = None
order = list(A)
@@ -487,7 +482,7 @@ def upgrade_pkg_names(A = []):
if ctx.get_option('dry_run'):
return
- if set(order) - A_0:
+ if set(order) - A_0 - set(replaces.values()):
if not ctx.ui.confirm(_('There are extra packages due to dependencies. Do you want to continue?')):
return False
@@ -495,7 +490,7 @@ def upgrade_pkg_names(A = []):
paths = []
for x in order:
- ctx.ui.info(_("Downloading %d / %d") % (order.index(x)+1, len(order)))
+ ctx.ui.info(util.colorize(_("Downloading %d / %d") % (order.index(x)+1, len(order)), "yellow"))
install_op = atomicoperations.Install.from_name(x)
paths.append(install_op.package_fname)
@@ -507,15 +502,20 @@ def upgrade_pkg_names(A = []):
if conflicts:
remove_conflicting_packages(conflicts)
+ if replaces:
+ remove_replaced_packages(order, replaces)
+
+ remove_obsoleted_packages()
+
for path in paths:
- ctx.ui.info(_("Installing %d / %d") % (paths.index(path)+1, len(paths)))
+ ctx.ui.info(util.colorize(_("Installing %d / %d") % (paths.index(path)+1, len(paths)), "yellow"))
install_op = atomicoperations.Install(path, ignore_file_conflicts = True)
install_op.install(True)
if 'pisi' in order:
upgrade_pisi()
-def plan_upgrade(A, ignore_build = False):
+def plan_upgrade(A):
# try to construct a pisi graph of packages to
# install / reinstall
@@ -534,7 +534,7 @@ def plan_upgrade(A, ignore_build = False):
while len(B) > 0:
Bp = set()
for x in B:
- pkg = pisi.api.get_repo_package(x)
+ pkg = packagedb.get_package(x)
for dep in pkg.runtimeDependencies():
# add packages that can be upgraded
if ctx.installdb.is_installed(dep.package) and dependency.installed_satisfies_dep(dep):
@@ -547,6 +547,7 @@ def plan_upgrade(A, ignore_build = False):
else:
ctx.ui.error(_('Dependency %s of %s cannot be satisfied') % (dep, x))
raise Error(_("Upgrade is not possible."))
+
B = Bp
# now, search reverse dependencies to see if anything
# should be upgraded
@@ -554,7 +555,7 @@ def plan_upgrade(A, ignore_build = False):
while len(B) > 0:
Bp = set()
for x in B:
- pkg = pisi.api.get_repo_package(x)
+ pkg = packagedb.get_package(x)
rev_deps = packagedb.get_rev_deps(x)
for (rev_dep, depinfo) in rev_deps:
# add only installed but unsatisfied reverse dependencies
@@ -633,7 +634,7 @@ def plan_remove(A):
# try to construct a pisi graph of packages to
# install / reinstall
- G_f = pgraph.PGraph(ctx.packagedb, pisi.db.itembyrepodb.installed) # construct G_f
+ G_f = pgraph.PGraph(ctx.packagedb, pisi.itembyrepodb.installed) # construct G_f
# find the (install closure) graph of G_f by package
# set A using packagedb
@@ -643,12 +644,11 @@ def plan_remove(A):
while len(B) > 0:
Bp = set()
for x in B:
- pkg = pisi.api.get_installed_package(x)
- rev_deps = ctx.packagedb.get_rev_deps(x, pisi.db.itembyrepodb.installed)
+ rev_deps = ctx.packagedb.get_rev_deps(x, pisi.itembyrepodb.installed)
for (rev_dep, depinfo) in rev_deps:
# we don't deal with uninstalled rev deps
# and unsatisfied dependencies (this is important, too)
- if ctx.packagedb.has_package(rev_dep, pisi.db.itembyrepodb.installed) and \
+ if ctx.packagedb.has_package(rev_dep, pisi.itembyrepodb.installed) and \
dependency.installed_satisfies_dep(depinfo):
if not rev_dep in G_f.vertices():
Bp.add(rev_dep)
@@ -668,7 +668,7 @@ def expand_src_components(A):
Ap.add(x)
return Ap
-def emerge(A, rebuild_all = False):
+def emerge(A):
# A was a list, remove duplicates and expand components
A = [str(x) for x in A]
@@ -684,7 +684,7 @@ def emerge(A, rebuild_all = False):
# FIXME: Errr... order_build changes type conditionally and this
# is not good. - baris
if not ctx.config.get_option('ignore_dependency'):
- G_f, order_inst, order_build = plan_emerge(A, rebuild_all)
+ G_f, order_inst, order_build = plan_emerge(A)
else:
G_f = None
order_inst = []
@@ -725,7 +725,7 @@ installed in the respective order to satisfy dependencies:
if 'pisi' in order_build or (('pisi' in U) and pisi_installed):
upgrade_pisi()
-def plan_emerge(A, rebuild_all):
+def plan_emerge(A):
# try to construct a pisi graph of packages to
# install / reinstall
@@ -793,7 +793,7 @@ def plan_emerge(A, rebuild_all):
def calculate_download_sizes(order):
total_size = cached_size = 0
- for pkg in [pisi.api.get_repo_package(name) for name in order]:
+ for pkg in [ctx.packagedb.get_package(name) for name in order]:
delta = None
if ctx.installdb.is_installed(pkg.name):
diff --git a/pisi/package.py b/pisi/package.py
index 34a3ccb3..0e1a3d4e 100644
--- a/pisi/package.py
+++ b/pisi/package.py
@@ -54,7 +54,7 @@ class Package:
# Bug 3465
if ctx.get_option('reinstall'):
raise Error(_("There was a problem while fetching '%s'.\nThe package "
- "may have been upgraded. Please try again to upgrade the package.") % url);
+ "may have been upgraded. Please try to upgrade the package.") % url);
raise
else:
ctx.ui.info(_('%s [cached]') % url.filename())
diff --git a/pisi/db/packagedb.py b/pisi/packagedb.py
similarity index 69%
rename from pisi/db/packagedb.py
rename to pisi/packagedb.py
index f4f952d9..072af94c 100644
--- a/pisi/db/packagedb.py
+++ b/pisi/packagedb.py
@@ -17,20 +17,13 @@ we basically store everything in PackageInfo class
yes, we are cheap
"""
-import os
-import fcntl
-import types
-
import gettext
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
import pisi
-import pisi.util as util
import pisi.context as ctx
-import pisi.oo
-import pisi.db.itembyrepodb as itembyrepodb
-
+import pisi.itembyrepodb
class Error(pisi.Error):
pass
@@ -43,27 +36,24 @@ class NotfoundError(pisi.Error):
class PackageDB(object):
"""PackageDB class provides an interface to the package database
using shelf objects"""
- __metaclass__ = pisi.oo.Singleton
def __init__(self):
- self.d = itembyrepodb.ItemByRepoDB('package')
- self.dbHistory = itembyrepodb.ItemByRepoDB('package_history')
- self.dr = itembyrepodb.ItemByRepoDB('revdep')
+ self.d = pisi.itembyrepodb.ItemByRepoDB('package')
+ self.dr = pisi.itembyrepodb.ItemByRepoDB('revdep')
+ self.do = pisi.itembyrepodb.ItemByRepoDB('obsoleted')
+ self.drp = pisi.itembyrepodb.ItemByRepoDB('replaces')
def close(self):
self.d.close()
- self.dbHistory.close()
self.dr.close()
+ self.do.close()
+ self.drp.close()
def destroy(self):
self.d.destroy()
- self.dbHistory.destroy()
self.dr.destroy()
-
- def clear(self, txn = None):
- self.d.clear()
- self.dbHistory.clear()
- self.dr.clear()
+ self.do.destroy()
+ self.drp.destroy()
def has_package(self, name, repo=None, txn = None):
return self.d.has_key(name, repo, txn=txn)
@@ -71,21 +61,34 @@ class PackageDB(object):
def get_package(self, name, repo=None, txn = None):
try:
return self.d.get_item(name, repo, txn=txn)
- except pisi.db.itembyrepodb.NotfoundError, e:
+ except pisi.itembyrepodb.NotfoundError:
raise Error(_('Package %s not found') % name)
- def get_history(self, name, repo=None, txn = None):
- try:
- return self.dbHistory.get_item(name, repo, txn=txn)
- except pisi.db.itembyrepodb.NotfoundError, e:
- raise Error(_('History for Package %s not found') % name)
-
def get_package_repo(self, name, repo=None, txn = None):
return self.d.get_item_repo(name, repo, txn=txn)
def which_repo(self, name, txn = None):
return self.d.which_repo(name, txn=txn)
+ def get_obsoletes(self, repo=None):
+ obsoletes = []
+ for r in self.do.list(repo):
+ obsoletes.extend(self.do.get_item(r, repo))
+
+ replaces = self.get_replaces(repo)
+ return set(str(o) for o in obsoletes) - set(replaces.keys())
+
+ # replacesdb holds the info about the replaced packages (ex. gaim -> pidgin)
+ def get_replaces(self, repo = None):
+ pairs = {}
+ for pkg_name in self.drp.list(repo):
+ replaces = self.drp.get_item(pkg_name, repo)
+ for r in replaces:
+ if pisi.replace.installed_package_replaced(r):
+ pairs[r.package] = pkg_name
+
+ return pairs
+
def get_rev_deps(self, name, repo = None, txn = None):
if self.dr.has_key(name, repo, txn=txn):
return self.dr.get_item(name, repo, txn=txn)
@@ -102,12 +105,15 @@ class PackageDB(object):
def list_packages(self, repo=None):
return self.d.list(repo)
+ def add_obsoletes(self, obsoletes, repo, txn = None):
+ def proc(txn):
+ self.do.add_item(repo, obsoletes, repo, txn)
+ ctx.txn_proc(proc, txn)
+
def add_package(self, package_info, repo, txn = None):
name = str(package_info.name)
def proc(txn):
- self.dbHistory.add_item(name, package_info.history, repo, txn)
- package_info.history = None
self.d.add_item(name, package_info, repo, txn)
for dep in package_info.runtimeDependencies():
dep_name = str(dep.package)
@@ -118,16 +124,26 @@ class PackageDB(object):
self.dr.add_item(dep_name, revdep, repo, txn)
else:
self.dr.add_item(dep_name, [ (name, dep) ], repo, txn)
+
+ if package_info.replaces:
+ self.drp.add_item(name, package_info.replaces, repo, txn)
+
# add component
ctx.componentdb.add_package(package_info.partOf, package_info.name, repo, txn)
+
ctx.txn_proc(proc, txn)
+ def clear(self, txn = None):
+ self.d.clear()
+ self.dr.clear()
+ self.do.clear()
+ self.drp.clear()
+
def remove_package(self, name, repo = None, txn = None):
name = str(name)
def proc(txn):
package_info = self.d.get_item(name, repo, txn=txn)
self.d.remove_item(name, repo, txn=txn)
- self.dbHistory.remove_item(name, repo, txn=txn)
for dep in package_info.runtimeDependencies():
dep_name = str(dep.package)
if self.dr.has_key(dep_name, repo, txn):
@@ -152,11 +168,25 @@ class PackageDB(object):
def proc(txn):
self.d.remove_repo(repo, txn=txn)
self.dr.remove_repo(repo, txn=txn)
+ self.do.remove_repo(repo, txn=txn)
+ self.drp.remove_repo(repo, txn=txn)
self.d.txn_proc(proc, txn)
+pkgdb = None
+
def remove_tracking_package(name, txn = None):
# remove the guy from the tracking databases
- if pkgdb.has_package(name, itembyrepodb.installed, txn=txn):
- pkgdb.remove_package(name, itembyrepodb.installed, txn=txn)
- if pkgdb.has_package(name, itembyrepodb.thirdparty, txn=txn):
- pkgdb.remove_package(name, itembyrepodb.thirdparty, txn=txn)
+ if pkgdb.has_package(name, pisi.itembyrepodb.installed, txn=txn):
+ pkgdb.remove_package(name, pisi.itembyrepodb.installed, txn=txn)
+ if pkgdb.has_package(name, pisi.itembyrepodb.thirdparty, txn=txn):
+ pkgdb.remove_package(name, pisi.itembyrepodb.thirdparty, txn=txn)
+
+def init_db():
+ global pkgdb
+ pkgdb = PackageDB()
+ return pkgdb
+
+def finalize_db():
+ global pkgdb
+ if pkgdb:
+ pkgdb.close()
diff --git a/pisi/pgraph.py b/pisi/pgraph.py
index 73c87cf1..05181e46 100644
--- a/pisi/pgraph.py
+++ b/pisi/pgraph.py
@@ -14,14 +14,14 @@
import string
-import pisi.db
+import pisi
import graph
# Cache the results from packagedb queries in a graph
class PGraph(graph.Digraph):
- def __init__(self, packagedb, repo = pisi.db.itembyrepodb.repos):
+ def __init__(self, packagedb, repo = pisi.itembyrepodb.repos):
super(PGraph, self).__init__()
self.packagedb = packagedb
self.repo = repo
@@ -76,6 +76,7 @@ class PGraph(graph.Digraph):
pkg2 = self.packagedb.get_package(conflinfo.package, self.repo)
pkg2data = (pkg2.version, pkg2.release)
+ # FIXME: WTF? /usr/lib/pardus/pisi/pgraph.py:80: Invalid arguments to (add_biedge), got 5, expected between 2 and 3 / caglar
self.add_biedge(str(pkg), str(conflinfo.package), ('c', conflinfo)
, pkg1data, pkg2data )
diff --git a/pisi/relation.py b/pisi/relation.py
new file mode 100644
index 00000000..8a478076
--- /dev/null
+++ b/pisi/relation.py
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2007, TUBITAK/UEKAE
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option)
+# any later version.
+#
+# Please read the COPYING file.
+#
+
+import gettext
+__trans = gettext.translation('pisi', fallback=True)
+_ = __trans.ugettext
+
+import pisi.context as ctx
+import pisi.version
+import pisi.pxml.autoxml as autoxml
+import pisi.itembyrepodb
+
+class Relation:
+
+ __metaclass__ = autoxml.autoxml
+
+ s_Package = [autoxml.String, autoxml.mandatory]
+ a_version = [autoxml.String, autoxml.optional]
+ a_versionFrom = [autoxml.String, autoxml.optional]
+ a_versionTo = [autoxml.String, autoxml.optional]
+ a_release = [autoxml.String, autoxml.optional]
+ a_releaseFrom = [autoxml.String, autoxml.optional]
+ a_releaseTo = [autoxml.String, autoxml.optional]
+
+ def satisfies_relation(self, pkg_name, version, release):
+ ret = True
+ v = pisi.version.Version(version)
+ if self.version:
+ ret &= v == pisi.version.Version(self.version)
+ if self.versionFrom:
+ ret &= v >= pisi.version.Version(self.versionFrom)
+ if self.versionTo:
+ ret &= v <= pisi.version.Version(self.versionTo)
+ r = pisi.version.Version(release)
+ if self.release:
+ ret &= r == pisi.version.Version(self.release)
+ if self.releaseFrom:
+ ret &= r >= pisi.version.Version(self.releaseFrom)
+ if self.releaseTo:
+ ret &= r <= pisi.version.Version(self.releaseTo)
+ return ret
+
+def installed_package_satisfies(relation):
+ pkg_name = relation.package
+ if not ctx.installdb.is_installed(pkg_name):
+ return False
+ else:
+ pkg = ctx.packagedb.get_package(pkg_name, pisi.itembyrepodb.installed)
+ (version, release) = (pkg.version, pkg.release)
+ return relation.satisfies_relation(pkg_name, version, release)
diff --git a/pisi/replace.py b/pisi/replace.py
new file mode 100644
index 00000000..373d294c
--- /dev/null
+++ b/pisi/replace.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2005 - 2007, TUBITAK/UEKAE
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option)
+# any later version.
+#
+# Please read the COPYING file.
+#
+
+import gettext
+__trans = gettext.translation('pisi', fallback=True)
+_ = __trans.ugettext
+
+import pisi.relation
+
+""" Replace relation """
+class Replace(pisi.relation.Relation):
+ def __str__(self):
+ s = self.package
+ if self.versionFrom:
+ s += _(" version >= ") + self.versionFrom
+ if self.versionTo:
+ s += _(" version <= ") + self.versionTo
+ if self.version:
+ s += _(" version ") + self.version
+ if self.releaseFrom:
+ s += _(" release >= ") + self.releaseFrom
+ if self.releaseTo:
+ s += _(" release <= ") + self.releaseTo
+ if self.release:
+ s += _(" release ") + self.release
+ return s
+
+def installed_package_replaced(repinfo):
+ """determine if an installed package in *repository* replaced with
+given a package"""
+ return pisi.relation.installed_package_satisfies(repinfo)
+
diff --git a/pisi/db/repodb.py b/pisi/repodb.py
similarity index 88%
rename from pisi/db/repodb.py
rename to pisi/repodb.py
index 7354d4fb..f6676115 100644
--- a/pisi/db/repodb.py
+++ b/pisi/repodb.py
@@ -15,10 +15,8 @@ __trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
import pisi
-import pisi.db.lockeddbshelve as shelve
+import pisi.lockeddbshelve as shelve
import pisi.context as ctx
-import pisi.db.packagedb as packagedb
-import pisi.oo
class Error(pisi.Error):
pass
@@ -36,8 +34,7 @@ class Repo:
class RepoDB(object):
"""RepoDB maps repo ids to repository information"""
- __metaclass__ = pisi.oo.Singleton
-
+
def __init__(self, txn = None):
self.d = shelve.LockedDBShelf("repo")
def proc(txn):
@@ -100,10 +97,28 @@ class RepoDB(object):
name = str(name)
def proc(txn):
self.d.delete("repo-" + name, txn)
- list = self.d.get("order", txn)
- list.remove(name)
- self.d.put("order", list, txn)
+ l = self.d.get("order", txn)
+ l.remove(name)
+ self.d.put("order", l, txn)
ctx.packagedb.remove_repo(name, txn=txn)
ctx.sourcedb.remove_repo(name, txn=txn)
ctx.componentdb.remove_repo(name, txn=txn)
- self.d.txn_proc(proc, txn)
\ No newline at end of file
+ self.d.txn_proc(proc, txn)
+
+db = None
+
+def init():
+ global db
+
+ if db:
+ return db
+
+ db = RepoDB()
+ return db
+
+def finalize():
+ global db
+
+ if db:
+ db.close()
+ db = None
diff --git a/pisi/db/sourcedb.py b/pisi/sourcedb.py
similarity index 84%
rename from pisi/db/sourcedb.py
rename to pisi/sourcedb.py
index 541aa9b7..3c6e1fcf 100644
--- a/pisi/db/sourcedb.py
+++ b/pisi/sourcedb.py
@@ -25,19 +25,17 @@ __trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
import pisi.context as ctx
-import pisi.db.repodb
-import pisi.db.itembyrepodb as itembyrepodb
-import pisi.oo
+import pisi.repodb
+import pisi.itembyrepodb
class NotfoundError(pisi.Error):
pass
class SourceDB(object):
- __metaclass__ = pisi.oo.Singleton
def __init__(self):
- self.d = itembyrepodb.ItemByRepoDB('source')
- self.dpkgtosrc = itembyrepodb.ItemByRepoDB('pkgtosrc')
+ self.d = pisi.itembyrepodb.ItemByRepoDB('source')
+ self.dpkgtosrc = pisi.itembyrepodb.ItemByRepoDB('pkgtosrc')
def close(self):
self.d.close()
@@ -52,13 +50,13 @@ class SourceDB(object):
def get_spec(self, name, repo=None, txn = None):
try:
return self.d.get_item(name, repo, txn)
- except pisi.db.itembyrepodb.NotfoundError, e:
+ except pisi.itembyrepodb.NotfoundError:
raise NotfoundError(_("Source package %s not found") % name)
def get_spec_repo(self, name, repo=None, txn = None):
try:
return self.d.get_item_repo(name, repo, txn)
- except pisi.db.itembyrepodb.NotfoundError, e:
+ except pisi.itembyrepodb.NotfoundError:
raise NotfoundError(_("Source package %s not found") % name)
def pkgtosrc(self, name, txn = None):
@@ -83,6 +81,7 @@ class SourceDB(object):
for pkg in spec.packages:
self.dpkgtosrc.remove_item_repo(pkg.name, repo, txn)
ctx.componentdb.remove_spec(spec.source.partOf, spec.source.name, repo, txn)
+
self.d.txn_proc(proc, txn)
def remove_repo(self, repo, txn = None):
@@ -90,3 +89,19 @@ class SourceDB(object):
self.d.remove_repo(repo, txn=txn)
self.dpkgtosrc.remove_repo(repo, txn=txn)
self.d.txn_proc(proc, txn)
+
+sourcedb = None
+
+def init():
+ global sourcedb
+ if sourcedb:
+ return sourcedb
+
+ sourcedb = SourceDB()
+ return sourcedb
+
+def finalize():
+ global sourcedb
+ if sourcedb:
+ sourcedb.close()
+ sourcedb = None
diff --git a/pisi/specfile.py b/pisi/specfile.py
index 55ed0cf6..918112df 100644
--- a/pisi/specfile.py
+++ b/pisi/specfile.py
@@ -22,12 +22,14 @@ _ = __trans.ugettext
# standard python modules
import os.path
+import piksemel
# pisi modules
import pisi.pxml.xmlfile as xmlfile
import pisi.pxml.autoxml as autoxml
import pisi.context as ctx
import pisi.dependency
+import pisi.replace
import pisi.conflict
import pisi.component as component
import pisi.util as util
@@ -170,8 +172,8 @@ class Package:
t_ComponentDependencies = [ [autoxml.String], autoxml.optional, "RuntimeDependencies/Component"]
t_Files = [ [Path], autoxml.optional]
t_Conflicts = [ [pisi.conflict.Conflict], autoxml.optional, "Conflicts/Package"]
+ t_Replaces = [ [pisi.replace.Replace], autoxml.optional, "Replaces/Package"]
t_ProvidesComar = [ [ComarProvide], autoxml.optional, "Provides/COMAR"]
- #t_RequiresComar = [ [autoxml.String], autoxml.mandatory, "Requires/COMAR"]
t_AdditionalFiles = [ [AdditionalFile], autoxml.optional]
t_History = [ [Update], autoxml.optional]
@@ -181,7 +183,7 @@ class Package:
def runtimeDependencies(self):
deps = self.packageDependencies
- deps += [ ctx.componentdb.get_component(x).packages for x in self.componentDependencies ]
+ deps += [ ctx.componentdb.get_component[x].packages for x in self.componentDependencies ]
return deps
def pkg_dir(self):
@@ -239,3 +241,21 @@ class SpecFile(xmlfile.XmlFile):
#http://liste.pardus.org.tr/gelistirici/2006-September/002332.html
self.source.description = autoxml.LocalText("Description")
self.source.description["en"] = self.source.summary["en"]
+
+ def _set_i18n(self, tag, inst):
+ for summary in tag.tags("Summary"):
+ inst.summary[summary.getAttribute("xml:lang")] = summary.firstChild().data()
+ for desc in tag.tags("Description"):
+ inst.description[desc.getAttribute("xml:lang")] = desc.firstChild().data()
+
+ def read_translations(self, path):
+ if not os.path.exists(path):
+ return
+ doc = piksemel.parse(path)
+
+ self._set_i18n(doc.getTag("Source"), self.source)
+ for pak in doc.tags("Package"):
+ for inst in self.packages:
+ if inst.name == pak.getTagData("Name"):
+ break
+ self._set_i18n(pak, inst)
diff --git a/pisi/ui.py b/pisi/ui.py
index 9973a3df..93750bf2 100644
--- a/pisi/ui.py
+++ b/pisi/ui.py
@@ -12,11 +12,6 @@
# generic user interface
#
-import sys
-
-import pisi
-import pisi.context as ctx
-
(installed, upgraded, removed, installing, removing, configuring, configured, extracting,
downloading, packagestogo, updatingrepo, cached) = range(12)
diff --git a/pisi/util.py b/pisi/util.py
index 198c3cff..676b99db 100644
--- a/pisi/util.py
+++ b/pisi/util.py
@@ -57,6 +57,9 @@ def every(pred, seq):
def any(pred, seq):
return reduce(operator.or_, map(pred, seq), False)
+def unzip(seq):
+ return zip(*seq)
+
def concat(l):
"""Concatenate a list of lists."""
return reduce( operator.concat, l )
@@ -262,12 +265,12 @@ def check_file(file, mode = os.F_OK):
return True
# FIXME: check_dir is not a good name considering it can also create the dir
-def check_dir(dir):
+def check_dir(d):
"""Make sure given directory path exists."""
# FIXME: What is first strip doing there?
- dir = dir.strip().rstrip("/")
- if not os.access(dir, os.F_OK):
- os.makedirs(dir)
+ d = d.strip().rstrip("/")
+ if not os.access(d, os.F_OK):
+ os.makedirs(d)
def clean_dir(path):
"""Remove all content of a directory."""
@@ -294,7 +297,7 @@ def dir_size(dir):
return os.path.getsize(dir)
if os.path.islink(dir):
- return 0
+ return long(len(os.readlink(dir)))
def sizes():
for root, dirs, files in os.walk(dir):
@@ -390,8 +393,8 @@ def get_file_hashes(top, excludePrefix=None, removePrefix=None):
continue
#bug 397
- for dir in dirs:
- d = join_path(root, dir)
+ for directory in dirs:
+ d = join_path(root, directory)
if os.path.islink(d) and not has_excluded_prefix(d):
yield (d, sha1_sum(os.readlink(d), True))
excludePrefix.append(remove_prefix(removePrefix, d) + "/")
@@ -452,7 +455,7 @@ def sha1_data(data):
return m.hexdigest()
except KeyboardInterrupt:
raise
- except Exception, e: #FIXME: what exception could we catch here, replace with that.
+ except Exception: #FIXME: what exception could we catch here, replace with that.
raise Error(_("Cannot calculate SHA1 hash of given data"))
def uncompress(patchFile, compressType="gz", targetDir=None):
@@ -497,8 +500,8 @@ def do_patch(sourceDir, patchFile, level = 0):
(ret, out, err) = run_batch('quilt push')
else:
# run GNU patch to apply original patch into tree
- (ret, out, err) = run_batch("patch --remove-empty-files -p%d < \"%s\"" %
- (level, patchFile))
+ (ret, out, err) = run_batch("patch --remove-empty-files -p%d < \"%s\"" % (level, patchFile))
+
if ret:
if out is None and err is None:
# Which means stderr and stdout directed so they are None
@@ -614,24 +617,13 @@ def is_package_name(fn, package_name = None):
# get version string, skip separator '-'
verstr = fn[len(package_name) + 1:
len(fn)-len(ctx.const.package_suffix)]
- import string
for x in verstr.split('-'):
# weak rule: version components after '-' start with a digit
- if x is '' or (not x[0] in string.digits):
+ if x == '' or (not x[0] in string.digits):
return False
return True
return False
-def env_update():
- import pisi.environment
- ctx.ui.info(_('Updating environment...'))
-
- env_dir = join_path(ctx.config.dest_dir(), "/etc/env.d")
- if not os.path.exists(env_dir):
- os.makedirs(env_dir, 0755)
-
- pisi.environment.update_environment(ctx.config.dest_dir())
-
def parse_package_name(package_name):
"""Separate package name and version string.
diff --git a/po/de.po b/po/de.po
index d4cc98e9..0c300c1e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: de\n"
-"POT-Creation-Date: 2006-12-12 14:29+EET\n"
+"POT-Creation-Date: 2007-07-05 09:54+EEST\n"
"PO-Revision-Date: 2007-06-18 17:11+0300\n"
"Last-Translator: Mustafa Muhammed Ölcerman \n"
"Language-Team: \n"
@@ -93,7 +93,7 @@ msgstr ""
"mehrdeutige Option angegeben ist.\n"
" "
-#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:50
+#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:48
msgid "Return a comma-separated list of option strings & metavariables."
msgstr ""
"Gibt eine Komma-getrennte Liste zurück, mit den Optionstexten & "
@@ -107,7 +107,7 @@ msgstr ""
"Formatierhilfe mit eingerückten Abschnitten.\n"
" "
-#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:44
+#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:42
msgid "usage: %s\n"
msgstr "Gebrauch: %s\n"
@@ -507,7 +507,7 @@ msgstr "Zurückfolge:"
msgid "Use --debug to see a traceback."
msgstr "Verwenden Sie --debug, um die Zurückfolge zu sehen."
-#: pisi/actionsapi/autotools.py:36
+#: pisi/actionsapi/autotools.py:36 pisi/actionsapi/cmaketools.py:36
msgid ""
"Please attach the config.log to your bug report:\n"
"%s/config.log"
@@ -516,8 +516,8 @@ msgstr ""
"%s/config.log"
#: pisi/actionsapi/autotools.py:75 pisi/actionsapi/autotools.py:85
-#: pisi/actionsapi/kde.py:65 pisi/actionsapi/perlmodules.py:54
-#: pisi/actionsapi/perlmodules.py:57
+#: pisi/actionsapi/cmaketools.py:62 pisi/actionsapi/kde.py:65
+#: pisi/actionsapi/perlmodules.py:54 pisi/actionsapi/perlmodules.py:57
msgid "Configure failed."
msgstr "Configure fehlgeschlagen."
@@ -526,48 +526,56 @@ msgstr "Configure fehlgeschlagen."
msgid "No configure script found."
msgstr "Kein configure-Skript gefunden."
-#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/kde.py:72
-#: pisi/actionsapi/perlmodules.py:63 pisi/actionsapi/perlmodules.py:72
-#: pisi/actionsapi/pythonmodules.py:49 pisi/actionsapi/scons.py:39
+#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/cmaketools.py:70
+#: pisi/actionsapi/kde.py:72 pisi/actionsapi/perlmodules.py:63
+#: pisi/actionsapi/perlmodules.py:72 pisi/actionsapi/pythonmodules.py:49
+#: pisi/actionsapi/scons.py:39
msgid "Make failed."
msgstr "Make fehlgeschlagen."
-#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:134
+#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:135
+#: pisi/actionsapi/cmaketools.py:100 pisi/actionsapi/cmaketools.py:110
#: pisi/actionsapi/kde.py:79 pisi/actionsapi/pythonmodules.py:54
#: pisi/actionsapi/scons.py:43
msgid "Install failed."
msgstr "Installation fehlgeschlagen."
-#: pisi/actionsapi/autotools.py:126 pisi/actionsapi/autotools.py:136
-#: pisi/actionsapi/kde.py:81
+#: pisi/actionsapi/autotools.py:128 pisi/actionsapi/autotools.py:139
+#: pisi/actionsapi/cmaketools.py:72 pisi/actionsapi/cmaketools.py:104
+#: pisi/actionsapi/cmaketools.py:114 pisi/actionsapi/kde.py:81
msgid "No Makefile found."
msgstr "Keine Make-Datei gefunden."
-#: pisi/actionsapi/autotools.py:143
+#: pisi/actionsapi/autotools.py:144
msgid "Running aclocal failed."
msgstr "Ausführen von aclocal fehlgeschlagen."
-#: pisi/actionsapi/autotools.py:148
+#: pisi/actionsapi/autotools.py:149
msgid "Running autoconf failed."
msgstr "Ausführen von autoconf fehlgeschlagen."
-#: pisi/actionsapi/autotools.py:153
+#: pisi/actionsapi/autotools.py:154
msgid "Running autoreconf failed."
msgstr "Ausführen von autoreconf fehlgeschlagen."
-#: pisi/actionsapi/autotools.py:158
+#: pisi/actionsapi/autotools.py:159
msgid "Running automake failed."
msgstr "Ausführen von automake fehlgeschlagen."
-#: pisi/actionsapi/autotools.py:163
+#: pisi/actionsapi/autotools.py:164
msgid "Running autoheader failed."
msgstr "Ausführen von autoheader fehlgeschlagen."
-#: pisi/actionsapi/get.py:163
+#: pisi/actionsapi/cmaketools.py:64
+#, fuzzy
+msgid "No configure script found for cmake."
+msgstr "Kein configure-Skript gefunden."
+
+#: pisi/actionsapi/get.py:160
msgid "Util %s cannot be found"
msgstr "Dienstprogramm %s konnte nicht gefunden werden."
-#: pisi/actionsapi/get.py:165
+#: pisi/actionsapi/get.py:162
msgid "Warning: %s does not exist, using plain name %s"
msgstr "Achtung:%s existiert nicht, klar verwendeter name %s"
@@ -699,19 +707,19 @@ msgstr "ActionsAPI [copytree]: Verzeichnis %s existiert nicht."
msgid "ActionsAPI [touch]: Permission denied: %s"
msgstr "ActionsAPI [touch]: Zugriff verweigert: %s"
-#: pisi/api.py:302 pisi/comariface.py:30
+#: pisi/api.py:299 pisi/comariface.py:30
msgid "comar package is not fully installed"
msgstr "Comar-Paket wurde nicht vollständig installiert"
-#: pisi/api.py:314
+#: pisi/api.py:311
msgid "File %s not found"
msgstr "Datei %s nicht gefunden"
-#: pisi/api.py:375
+#: pisi/api.py:366
msgid "Checking /%s "
msgstr "/%s wird überprüft"
-#: pisi/api.py:379
+#: pisi/api.py:370
msgid ""
"\n"
"Corrupt file: %s"
@@ -719,67 +727,67 @@ msgstr ""
"\n"
"Datei korrupt: %s"
-#: pisi/api.py:381 pisi/cli/commands.py:966
+#: pisi/api.py:372 pisi/cli/commands.py:1046
msgid "OK"
msgstr "OK"
-#: pisi/api.py:394
+#: pisi/api.py:385
msgid "* Building index of PiSi files under %s"
msgstr "* Index von PiSi-Dateien unteeer %s werden konstruiert"
-#: pisi/api.py:401
+#: pisi/api.py:392
msgid "* Index file written"
msgstr "* Index-Datei geschrieben"
-#: pisi/api.py:405
+#: pisi/api.py:396
msgid "Repo %s already present."
msgstr "Depo %s bereits vorhanden"
-#: pisi/api.py:409
+#: pisi/api.py:400
msgid "Repo %s added to system."
msgstr "Depo %s in das System hinzugefügt"
-#: pisi/api.py:415
+#: pisi/api.py:406
msgid "Repo %s removed from system."
msgstr "Depo %s vom System entfernt."
-#: pisi/api.py:417
+#: pisi/api.py:408
msgid "Repository %s does not exist. Cannot remove."
msgstr "Depot %s existiert nicht. Kann nicht entfernt werden."
-#: pisi/api.py:424
+#: pisi/api.py:415
msgid "* Updating repository: %s"
msgstr "* Depot wird aktualisiert: %s"
-#: pisi/api.py:432
+#: pisi/api.py:423
msgid "No updates available for repository %s."
msgstr "Es sind keine Updates für das Depot %s verfügbar"
-#: pisi/api.py:434
+#: pisi/api.py:425
msgid "Updating database at any rate as requested"
msgstr "Datenbank wird wunschgemäss auf jeden Fall aktualisiert"
-#: pisi/api.py:445
+#: pisi/api.py:436
msgid "* Package database updated."
msgstr "* Paket-Datenbank aktualisiert."
-#: pisi/api.py:447 pisi/api.py:472
+#: pisi/api.py:438 pisi/api.py:463
msgid "No repository named %s found."
msgstr "Kein %s genanntes Depot gefunden."
-#: pisi/api.py:455
+#: pisi/api.py:446
msgid "* Rebuilding '%s' named repo... "
msgstr "* '%s' genanntes Depo wird erneuert... "
-#: pisi/api.py:468
+#: pisi/api.py:459
msgid "Input/Output error while reading %s: %s"
msgstr "Ein-/Ausgabe Fehler während des Lesen's %s: %s"
-#: pisi/api.py:525
+#: pisi/api.py:516
msgid "Rebuilding package database"
msgstr "Paket-Datenbank wird erneut eingerichtet"
-#: pisi/archive.py:36
+#: pisi/archive.py:37
msgid ""
"An error has occured while running LZMA:\n"
"%s"
@@ -787,35 +795,35 @@ msgstr ""
"Ein Fehler ist während der Ausführung von LZMA aufgetreten:\n"
"%s"
-#: pisi/archive.py:101 pisi/archive.py:161
+#: pisi/archive.py:123 pisi/archive.py:183
msgid "Archive type not recognized"
msgstr "Archiv-Typ nicht erkannt"
-#: pisi/atomicoperations.py:66
+#: pisi/atomicoperations.py:65
msgid "Package %s found in repository %s"
msgstr "Paket %s im Depot %s gefunden"
-#: pisi/atomicoperations.py:78
+#: pisi/atomicoperations.py:88
msgid "Package URI: %s"
msgstr "Paket URI: %s"
-#: pisi/atomicoperations.py:82
+#: pisi/atomicoperations.py:92
msgid "Package %s not found in any active repository."
msgstr "Paket %s wurde in keinem der aktuellen Depot's gefunden."
-#: pisi/atomicoperations.py:101
+#: pisi/atomicoperations.py:111
msgid "Installing %s, version %s, release %s, build %s"
msgstr "Installiere %s, Version %s, Release %s, Build %s"
-#: pisi/atomicoperations.py:146
+#: pisi/atomicoperations.py:156
msgid "%s package cannot be installed unless the dependencies are satisfied"
msgstr "Anhängigkeiten für %s nicht zufriedenstellent"
-#: pisi/atomicoperations.py:165
+#: pisi/atomicoperations.py:185
msgid "/%s from %s package\n"
msgstr "Paket /%s von %s\n"
-#: pisi/atomicoperations.py:166
+#: pisi/atomicoperations.py:186
msgid ""
"File conflicts:\n"
"%s"
@@ -823,277 +831,297 @@ msgstr ""
"Datei Konflikte:\n"
"%s"
-#: pisi/atomicoperations.py:201
+#: pisi/atomicoperations.py:221
msgid "Re-install same version package?"
msgstr "Selbe Paket-Version erneut installieren?"
-#: pisi/atomicoperations.py:202
+#: pisi/atomicoperations.py:222
msgid "Package re-install declined"
msgstr "Erneute Installation des Paketes ist abgelehnt worden"
-#: pisi/atomicoperations.py:208
+#: pisi/atomicoperations.py:228
msgid "Upgrading to new upstream version"
msgstr "Ein Upgrade auf die neuere Version wird durchgeführt"
-#: pisi/atomicoperations.py:211
+#: pisi/atomicoperations.py:231
msgid "Upgrading to new distribution release"
msgstr "Ein Upgrade auf die neue Distributions-Release wird ausgeführt"
-#: pisi/atomicoperations.py:215
+#: pisi/atomicoperations.py:235
msgid "Upgrading to new distribution build"
msgstr "Ein Upgrade auf die neue Distributions-Build wird ausgeführt"
-#: pisi/atomicoperations.py:225
+#: pisi/atomicoperations.py:245
msgid "Downgrade to old distribution release?"
msgstr "Zu der alten Distribution-Release downgraden?"
-#: pisi/atomicoperations.py:227
+#: pisi/atomicoperations.py:247
msgid "Downgrade to old distribution build?"
msgstr "Zum alten Distribution-Build downgraden?"
-#: pisi/atomicoperations.py:229
+#: pisi/atomicoperations.py:249
msgid "Package downgrade declined"
msgstr "Paket-Downgrade abgelehnt"
-#: pisi/atomicoperations.py:253
+#: pisi/atomicoperations.py:273
msgid "%s configuration failed."
msgstr "Konfiguration von %s fehlgeschlagen."
-#: pisi/atomicoperations.py:340
+#: pisi/atomicoperations.py:396
msgid "Storing %s, "
msgstr "%s wird abgelegt, "
-#: pisi/atomicoperations.py:343
+#: pisi/atomicoperations.py:399
msgid "Storing %s."
msgstr "%s wird abgelegt"
-#: pisi/atomicoperations.py:350
+#: pisi/atomicoperations.py:406
msgid "Storing %s"
msgstr "%s wird abgelegt"
-#: pisi/atomicoperations.py:406
+#: pisi/atomicoperations.py:462
msgid "File list could not be read for package %s, continuing removal."
msgstr ""
"Dateiliste für Paket %s konnte nicht gelesen werden, wird mit dem Entfernen "
"fortgefahren."
-#: pisi/atomicoperations.py:412
+#: pisi/atomicoperations.py:468
msgid "Removing package %s"
msgstr "Paket %s wird entfernt"
-#: pisi/atomicoperations.py:415
+#: pisi/atomicoperations.py:471
msgid "Trying to remove nonexistent package "
msgstr "Nicht vorhandenes Paket wird versucht zu entfernen"
-#: pisi/atomicoperations.py:454
+#: pisi/atomicoperations.py:510
msgid "Not removing conflicted file : %s"
msgstr "Konfliktierende Datei wird nicht entfernt: %s"
-#: pisi/atomicoperations.py:474
-msgid "Installed file %s is not exists on system [Probably you manually deleted]"
+#: pisi/atomicoperations.py:530
+msgid ""
+"Installed file %s is not exists on system [Probably you manually deleted]"
msgstr ""
"Installierte Datei %s existiert nicht in dem System [ist wahrscheinlich per "
"Hand gelöscht worden]"
-#: pisi/atomicoperations.py:535
+#: pisi/atomicoperations.py:590
msgid "Metadata XML '%s' cannot be found"
msgstr "XML Metadaten '%s' konnten nicht gefunden werden"
-#: pisi/atomicoperations.py:543
+#: pisi/atomicoperations.py:598
msgid "MetaData format wrong (%s)"
msgstr "MetaDaten Format falsch (%s)"
-#: pisi/atomicoperations.py:545
+#: pisi/atomicoperations.py:600
msgid "* Adding '%s' to db... "
msgstr "* '%s' wird in db hinzugefügt... "
-#: pisi/atomicoperations.py:551
+#: pisi/atomicoperations.py:606
msgid "Files XML '%s' cannot be found"
msgstr "XML Dateien'%s' können nicht gefunden werden"
-#: pisi/atomicoperations.py:556 pisi/package.py:136
+#: pisi/atomicoperations.py:611 pisi/package.py:141
msgid "Invalid %s"
msgstr "Ungültig"
-#: pisi/atomicoperations.py:565
+#: pisi/atomicoperations.py:620
msgid "OK."
msgstr "OK."
-#: pisi/build.py:88
+#: pisi/build.py:85
msgid "Path %s belongs in multiple packages"
msgstr "Pfad %s gehört zu mehreren Paketen"
-#: pisi/build.py:114
+#: pisi/build.py:111
msgid "Source URI: %s"
msgstr "Quell URI: %s"
-#: pisi/build.py:118
+#: pisi/build.py:115
msgid "Source %s not found in any active repository."
msgstr "Paket %s wurde in keinem der aktuellen Depot's gefunden."
-#: pisi/build.py:183
+#: pisi/build.py:185
msgid "Building PiSi source package: %s"
msgstr "PiSi Quell-Paket wird konstruiert: %s"
-#: pisi/build.py:229
+#: pisi/build.py:230
msgid "IceCream detected. Make sure your daemon is up and running..."
-msgstr "IceCream entdeckt. Stellen Sie sicher, dass Ihr Daemon gestartet ist..."
+msgstr ""
+"IceCream entdeckt. Stellen Sie sicher, dass Ihr Daemon gestartet ist..."
-#: pisi/build.py:234
+#: pisi/build.py:235
msgid "CCache detected..."
msgstr "CCache entdeckt..."
-#: pisi/build.py:287
+#: pisi/build.py:297
msgid "PartOf tag not defined, looking for component"
msgstr "PartOf tag nicht definiert, suche Komponente"
-#: pisi/build.py:297
+#: pisi/build.py:307
msgid "Cannot find component.xml in upper directory"
msgstr "Component.xml konnte im oberen Verzeichnis nicht gefunden werden"
-#: pisi/build.py:301
+#: pisi/build.py:311
msgid "Source is part of %s component"
msgstr "Quelle ist ein Teil von '%s' Komponente"
-#: pisi/build.py:305
+#: pisi/build.py:315
msgid "Fetching source from: %s"
msgstr "Quelle wird abgerufen von: %s"
-#: pisi/build.py:307
+#: pisi/build.py:317
msgid "Source archive is stored: %s/%s"
msgstr "Quell-Archiv ist gespeichert: %s/%s"
-#: pisi/build.py:311
+#: pisi/build.py:321
msgid "Unpacking archive..."
msgstr "Archiv wird entpackt..."
-#: pisi/build.py:313
+#: pisi/build.py:325
msgid " unpacked (%s)"
msgstr "(%s) entpackt"
-#: pisi/build.py:318
+#: pisi/build.py:330
msgid "Setting up source..."
msgstr "Quelle wird installiert..."
-#: pisi/build.py:323
+#: pisi/build.py:335
msgid "Building source..."
msgstr "Quelle wird konstruiert"
-#: pisi/build.py:328
+#: pisi/build.py:340
+#, fuzzy
+msgid "Testing package..."
+msgstr "PiSi Paket %s wird erstellt."
+
+#: pisi/build.py:344
msgid "Installing..."
msgstr "Wird installiert..."
-#: pisi/build.py:370
+#: pisi/build.py:386
msgid "Unable to read Actions Script (%s): %s"
msgstr "Nicht in der Lage, Action Skript zu lesen (%s): %s"
-#: pisi/build.py:372
+#: pisi/build.py:388
msgid "SyntaxError in Actions Script (%s): %s"
msgstr "Syntax-Fehler im Action Skript (%s): %s"
-#: pisi/build.py:389
+#: pisi/build.py:405
msgid "Unable to read COMAR script (%s): %s"
msgstr "Nicht in der Lage,das COMAR Skript zu lesen (%s):%s"
-#: pisi/build.py:391
+#: pisi/build.py:407
msgid "SyntaxError in COMAR file (%s): %s"
msgstr "Syntax-Fehler in der COMAR-Datei (%s): %s"
-#: pisi/build.py:417
+#: pisi/build.py:419
+#, fuzzy
+msgid "Sandbox violation: %s (%s -> %s)"
+msgstr "Mehrdeutige Option: %s (%s?)"
+
+#: pisi/build.py:453
+#, fuzzy
+msgid "Sandbox violations!"
+msgstr "Index Optionen"
+
+#: pisi/build.py:456
msgid "unable to call function from actions: %s"
msgstr "nicht in der Lage, die Funktion vom Vorgang aufzurufen: %s"
-#: pisi/build.py:433
-msgid "Safety switch: following extra packages in system.devel will be installed: "
+#: pisi/build.py:473
+msgid ""
+"Safety switch: following extra packages in system.devel will be installed: "
msgstr ""
"Sicherheitsschalter: Folgende extra Pakete in system.devel werden "
"installiert: "
-#: pisi/build.py:438
+#: pisi/build.py:478
msgid "Safety switch: system.devel is already installed"
msgstr "Sicherheitsschalter: system.devel ist bereits installiert"
-#: pisi/build.py:440
+#: pisi/build.py:480
msgid "Safety switch: the component system.devel cannot be found"
-msgstr "Sicherheitsschalter: die Komponente system.devel konnte nicht gefunden werden"
+msgstr ""
+"Sicherheitsschalter: die Komponente system.devel konnte nicht gefunden werden"
-#: pisi/build.py:449
+#: pisi/build.py:489
msgid "Unsatisfied Build Dependencies:"
msgstr "Unzufriedenstellender Build-Abhängigkeit:"
-#: pisi/build.py:453
+#: pisi/build.py:493
msgid "Cannot build package due to unsatisfied build dependencies"
msgstr "Paket kann wegen unerfüllten Abhängigkeiten nicht erstellt werden"
-#: pisi/build.py:461
+#: pisi/build.py:501
msgid "Build dependency %s cannot be satisfied"
msgstr "Build-Abhängigkeit %s konnte nicht zufriedengestellt werden"
-#: pisi/build.py:463
+#: pisi/build.py:503
msgid "Do you want to install the unsatisfied build dependencies"
msgstr "Wollen Sie die notwendigen fehlenden Abhängigkeiten installieren"
-#: pisi/build.py:464
+#: pisi/build.py:504
msgid "Installing build dependencies."
msgstr "Build-Abhängigkeiten werden installiert."
-#: pisi/build.py:469
+#: pisi/build.py:509
msgid "Ignoring build dependencies."
msgstr "Build-Abhängigkeiten werden ignoriert."
-#: pisi/build.py:479
+#: pisi/build.py:519
msgid "Patch file is missing: %s\n"
msgstr "Patch-Datei fehlend: %s\n"
-#: pisi/build.py:492
+#: pisi/build.py:532
msgid "* Applying patch: %s"
msgstr "* Patch wird eingesetzt: %s"
-#: pisi/build.py:550
+#: pisi/build.py:592
msgid "Stripping files.."
msgstr "Dateien werden abgelöst.."
-#: pisi/build.py:656
+#: pisi/build.py:692
msgid "(found old version %s)"
msgstr "(alte Version %s gefunden)"
-#: pisi/build.py:658
+#: pisi/build.py:694
msgid "Skipping %s with wrong pkg name "
msgstr "Überspringe %s mit falschen pkg-Namen"
-#: pisi/build.py:679
+#: pisi/build.py:715
+#, fuzzy
msgid "(no previous build found, setting build no to 1.)"
msgstr "(Keine vorherige Build-Version gefunden, setze Build-Nr auf 1.)"
-#: pisi/build.py:724
+#: pisi/build.py:760
msgid "(old package lacks a build no, setting build no to 1.)"
msgstr "(Altes Paket hat keine Build-Version, setze Build-Nr auf 1.)"
-#: pisi/build.py:727
+#: pisi/build.py:763
msgid "There are changes, incrementing build no to %d"
msgstr "Es gibt Änderungen, erhöhe die Build-Nr auf %d"
-#: pisi/build.py:730
+#: pisi/build.py:766
msgid "There is no change from previous build %d"
msgstr "Es gibt keine Änderungen seit dem vorherigen Build %d"
-#: pisi/build.py:795
+#: pisi/build.py:831
msgid "No user named '%s' found on the system"
msgstr "'%s' genannter Benutzer konnte auf diesem System nicht gefunden werden"
-#: pisi/build.py:800
+#: pisi/build.py:836
msgid "No group named '%s' found on the system"
msgstr "%s genannte Gruppe konnte auf diesem System nicht gefunden werden"
-#: pisi/build.py:803
+#: pisi/build.py:839
msgid "** Building package %s"
msgstr "** Paket %s wird konstruiert"
-#: pisi/build.py:805 pisi/build.py:808
+#: pisi/build.py:841 pisi/build.py:844
msgid "Generating %s,"
msgstr "%s wird generiert,"
-#: pisi/build.py:814
+#: pisi/build.py:850
msgid ""
"Build number is not available. For repo builds you must enable buildno in "
"pisi.conf."
@@ -1101,107 +1129,108 @@ msgstr ""
"Build-Nr ist nicht vorhanden. Für Depot-Builds muss in pisi.conf buildno "
"aktiviert sein."
-#: pisi/build.py:832
+#: pisi/build.py:868
msgid "Creating PiSi package %s."
msgstr "PiSi Paket %s wird erstellt."
-#: pisi/build.py:877
+#: pisi/build.py:913 pisi/delta.py:93
msgid "Done."
msgstr "Fertig."
-#: pisi/build.py:883
+#: pisi/build.py:919
msgid "Abandoned files under the install dir (%s):"
msgstr "Verlassene Dateien im Installationsverzeichnis (%s):"
# gesammelt hört sich komisch an
-#: pisi/build.py:887
-msgid "All of the files under the install dir (%s) has been collected by package(s)"
+#: pisi/build.py:923
+msgid ""
+"All of the files under the install dir (%s) has been collected by package(s)"
msgstr ""
"Alle Dateien unter Installationsierzeichnis (%s) wurden von den Paketen "
"gesammelt"
-#: pisi/build.py:891
+#: pisi/build.py:927
msgid "Cleaning Build Directory..."
msgstr "Build-Verzeichnis wird geleert..."
-#: pisi/build.py:894
+#: pisi/build.py:930
msgid "Keeping Build Directory"
msgstr "Erhalte Build-Verzeichnis"
-#: pisi/cli/__init__.py:79
+#: pisi/cli/__init__.py:76
msgid "Warning: "
msgstr "Warnung:"
-#: pisi/cli/__init__.py:88
+#: pisi/cli/__init__.py:85
msgid "Error: "
msgstr "Fehler:"
-#: pisi/cli/__init__.py:120
+#: pisi/cli/__init__.py:117
msgid " (yes/no)"
msgstr "(ja/nein)"
-#: pisi/cli/__init__.py:141
+#: pisi/cli/__init__.py:138
msgid " [complete]\n"
msgstr " [vollständig]\n"
-#: pisi/cli/__init__.py:151
+#: pisi/cli/__init__.py:148
msgid "Installed %s"
msgstr "%s installiert"
-#: pisi/cli/__init__.py:153
+#: pisi/cli/__init__.py:150
msgid "Removed %s"
msgstr "%s entfernt"
-#: pisi/cli/__init__.py:155
+#: pisi/cli/__init__.py:152
msgid "Upgraded %s"
msgstr "%s aktualisiert"
-#: pisi/cli/__init__.py:157
+#: pisi/cli/__init__.py:154
msgid "Configured %s"
msgstr "%s konfiguriert"
-#: pisi/cli/__init__.py:159
+#: pisi/cli/__init__.py:156
msgid "Extracting the files of %s"
msgstr "Entpacke die Dateien aus %s"
-#: pisi/cli/commands.py:94
+#: pisi/cli/commands.py:92
msgid "generic help string for any command"
msgstr "Allgemeiner Hilpstext für jeden Befehl"
-#: pisi/cli/commands.py:123 pisi/cli/pisicli.py:104
+#: pisi/cli/commands.py:121 pisi/cli/pisicli.py:101
msgid "Unrecognized command: %s"
msgstr "Unerkanntes Befehl: %s"
-#: pisi/cli/commands.py:145
+#: pisi/cli/commands.py:143
msgid "common options"
msgstr "Gemeinsame Optionen"
-#: pisi/cli/commands.py:148
+#: pisi/cli/commands.py:146
msgid "general options"
msgstr "Allgemeinte Optionen"
-#: pisi/cli/commands.py:151
+#: pisi/cli/commands.py:149
msgid "Change the system root for PiSi commands"
msgstr "Ändere den System root für die PiSi Befehle"
-#: pisi/cli/commands.py:153
+#: pisi/cli/commands.py:151
msgid "Assume yes in all yes/no queries"
msgstr "Alle mit ja/nein Abfragen mit ja annehmen"
-#: pisi/cli/commands.py:158
+#: pisi/cli/commands.py:156
msgid "Detailed output"
msgstr "Detaillerte Ausgabe "
-#: pisi/cli/commands.py:160
+#: pisi/cli/commands.py:158
msgid "Show debugging information"
msgstr "Debugger Informationen zeigen"
# wenn dieser Text neben einer check-box steht müsste er ok sein
-#: pisi/cli/commands.py:162
+#: pisi/cli/commands.py:160
msgid "Suppresses all coloring of PiSi's output"
msgstr "PiSi Meldungen ohne Farben"
-#: pisi/cli/commands.py:169
+#: pisi/cli/commands.py:167
msgid ""
"This is a fall back function. If the implementer module provides an\n"
" options function it will be called"
@@ -1209,43 +1238,43 @@ msgstr ""
"Dies ist eine Notfunktion. Wenn das Interpretermodul eine\n"
" Optionsfunktion hat wird diese aufgerufen"
-#: pisi/cli/commands.py:181
+#: pisi/cli/commands.py:179
msgid "Destination directory %s does not exist. Creating directory.\n"
msgstr "Zielverzeichnis %s existiert nicht. Erstelle Verzeichnis.\n"
-#: pisi/cli/commands.py:203
+#: pisi/cli/commands.py:201
msgid "Password: "
msgstr "Passwort:"
-#: pisi/cli/commands.py:209
+#: pisi/cli/commands.py:207
msgid "initialize PiSi components"
msgstr "Initialisiere PiSi-Komponente"
-#: pisi/cli/commands.py:217
+#: pisi/cli/commands.py:215
msgid "do cleanup work for PiSi components"
msgstr "Aufräumarbeiten für PiSi-Komponente ausführen"
-#: pisi/cli/commands.py:231
+#: pisi/cli/commands.py:229
msgid "print help for the command"
msgstr "geben Sie für den Befehl help ein"
-#: pisi/cli/commands.py:237
+#: pisi/cli/commands.py:235
msgid "exit program"
msgstr "programm verlassen"
-#: pisi/cli/commands.py:239
+#: pisi/cli/commands.py:237
msgid "Command terminated abnormally."
msgstr "Befehl unzulässig beendet."
-#: pisi/cli/commands.py:249
+#: pisi/cli/commands.py:247
msgid "Command lacks name"
msgstr "Befehl-Name mangelt"
-#: pisi/cli/commands.py:253
+#: pisi/cli/commands.py:251
msgid "Duplicate command %s"
msgstr "Befehl %s duplizieren"
-#: pisi/cli/commands.py:262
+#: pisi/cli/commands.py:260
msgid ""
"Prints help for given commands\n"
"\n"
@@ -1259,7 +1288,7 @@ msgstr ""
"\n"
"Wenn kein Parameter angegeben wird, wird die allgemeine Hilfe angezeigt."
-#: pisi/cli/commands.py:296
+#: pisi/cli/commands.py:294
msgid ""
"Clean stale locks\n"
"\n"
@@ -1276,7 +1305,7 @@ msgstr ""
"Dieser Befehl entfernt unbenutzte Blockierdateien aus dem "
"Datenbankverzeichnins."
-#: pisi/cli/commands.py:315
+#: pisi/cli/commands.py:313
msgid ""
"Delete cache files\n"
"\n"
@@ -1294,7 +1323,7 @@ msgstr ""
"Verzeichnis /var gespeichert. Da sie sich dort ansammeln, können\n"
"sie einen grossen Speicherplatz belegen."
-#: pisi/cli/commands.py:336
+#: pisi/cli/commands.py:334
msgid ""
"Graph package relations\n"
"\n"
@@ -1314,47 +1343,47 @@ msgstr ""
"werden die Paketbeziehungen zwischen den Depot-Paketen gezeigt und \n"
"im graphviz Format als 'pgraph.dot' gespeichert.\n"
-#: pisi/cli/commands.py:353
+#: pisi/cli/commands.py:351
msgid "graph options"
msgstr "Grafik Optionen"
-#: pisi/cli/commands.py:357
+#: pisi/cli/commands.py:355
msgid "Specify a particular repository"
msgstr "Geben Sie ein Depot an"
-#: pisi/cli/commands.py:360
+#: pisi/cli/commands.py:358
msgid "Graph of installed packages"
msgstr "Graphik von den installierten Paketen"
-#: pisi/cli/commands.py:363
+#: pisi/cli/commands.py:361
msgid "Do not show installed packages"
msgstr "Installierte Pakete nicht anzeigen"
-#: pisi/cli/commands.py:366
+#: pisi/cli/commands.py:364
msgid "Dot output file"
msgstr "Dot Ausgabe-Datei"
-#: pisi/cli/commands.py:377
+#: pisi/cli/commands.py:375
msgid "Plotting packages in repository %s"
msgstr "Zeichne Pakete in Depot %s"
-#: pisi/cli/commands.py:383
+#: pisi/cli/commands.py:381
msgid "Plotting a graph of relations among all repository packages"
msgstr "Zeichne eine Grafik der Paketbeziehungen aller Pakete des Depots"
-#: pisi/cli/commands.py:390
+#: pisi/cli/commands.py:388
msgid "Plotting a graph of relations among all installed packages"
msgstr "Zeichne eine Grafik der Paketbeziehungen aller installierten Pakete"
-#: pisi/cli/commands.py:402
+#: pisi/cli/commands.py:400
msgid "Do not take build no into account."
msgstr "Build-Nr nicht auswerten."
-#: pisi/cli/commands.py:407
+#: pisi/cli/commands.py:405
msgid "Do not take dependency information into account"
msgstr "Information der Abhängigkeiten nicht auswerten"
-#: pisi/cli/commands.py:411
+#: pisi/cli/commands.py:409
msgid ""
"Build PiSi packages\n"
"\n"
@@ -1376,45 +1405,59 @@ msgstr ""
"Eine andere Möglichkeit ist die Angabe des Namens eines Quellpaketes\n"
"aus einem Depot, welches Quellcode enthält.\n"
-#: pisi/cli/commands.py:433
+#: pisi/cli/commands.py:432
msgid "build options"
msgstr "Build-Optionen"
-#: pisi/cli/commands.py:441
+#: pisi/cli/commands.py:440 pisi/cli/commands.py:527
msgid "Output directory for produced packages"
msgstr "Zielverzeichnis für erzeugte Pakete"
-#: pisi/cli/commands.py:444
+#: pisi/cli/commands.py:443
msgid "Bypass errors from ActionsAPI"
msgstr "Fehler von ActionsAPI umgehen"
-#: pisi/cli/commands.py:446 pisi/cli/commands.py:554
+#: pisi/cli/commands.py:445 pisi/cli/commands.py:610
msgid "Bypass safety switch"
msgstr "Sicherheitsschalter umgehen"
-#: pisi/cli/commands.py:448
+#: pisi/cli/commands.py:447
+#, fuzzy
+msgid "Bypass testing step"
+msgstr "Sicherheitsschalter umgehen"
+
+#: pisi/cli/commands.py:449
msgid "Create a static package with ar files"
msgstr "Eine statisches Paket mit ar Dateien erstellen"
-#: pisi/cli/commands.py:450
-msgid "Do not install build dependencies, fail if a build dependency is present"
+#: pisi/cli/commands.py:451
+msgid ""
+"Do not install build dependencies, fail if a build dependency is present"
msgstr ""
"Build - Abhängigkeiten nicht installieren, Fehler bei Anwesenheit einer "
"Build-Abhängigkeit"
-#: pisi/cli/commands.py:452
+#: pisi/cli/commands.py:453
msgid "PiSi binary package formats: '1.0', '1.1' (default)"
msgstr "PiSi binäre Paket-Formate: '1.0'; '1.1' (Standard)"
#: pisi/cli/commands.py:455
+msgid "Use quilt patch management system instead of GNU patch"
+msgstr ""
+
+#: pisi/cli/commands.py:457
+msgid "Do not constrain build process inside the build folder"
+msgstr ""
+
+#: pisi/cli/commands.py:460
msgid "build steps"
msgstr "konstruier Steps"
-#: pisi/cli/commands.py:457
+#: pisi/cli/commands.py:462
msgid "Break build after fetching the source archive"
msgstr "Build abbrechen, nach Kopie des Quellverzeichnisses"
-#: pisi/cli/commands.py:459
+#: pisi/cli/commands.py:464
msgid ""
"Break build after unpacking the source archive, checking sha1sum and "
"applying patches"
@@ -1422,35 +1465,58 @@ msgstr ""
"Build abbrechen, nach entpacken der Quelldatei, prüfen der sha1sum und "
"anwenden der Patches."
-#: pisi/cli/commands.py:461
+#: pisi/cli/commands.py:466
msgid "Break build after running configure step"
msgstr "Konstruktion nach dem Konfigurations-Step abbrechen"
-#: pisi/cli/commands.py:463
+#: pisi/cli/commands.py:468
msgid "Break build after running compile step"
msgstr "Konstruktion nach dem Kompilierungs-Step abbrechen"
-#: pisi/cli/commands.py:465
+#: pisi/cli/commands.py:470
+#, fuzzy
+msgid "Break build after running check step"
+msgstr "Konstruktion nach dem Kompilierungs-Step abbrechen"
+
+#: pisi/cli/commands.py:472
msgid "Break build after running install step"
msgstr "Konstruktion nach dem Installations-Step abbrechen"
-#: pisi/cli/commands.py:467
+#: pisi/cli/commands.py:474
msgid "create PiSi package"
msgstr "PiSi Paket erstellen"
-#: pisi/cli/commands.py:481
+#: pisi/cli/commands.py:488
msgid "package_format must be one of %s "
msgstr "Paket_format muss von %s sein"
-#: pisi/cli/commands.py:484 pisi/cli/commands.py:533
+#: pisi/cli/commands.py:491 pisi/cli/commands.py:540 pisi/cli/commands.py:589
msgid "Output directory: %s"
msgstr "Ausgabe-Verzeichnis: %s"
-#: pisi/cli/commands.py:486
+#: pisi/cli/commands.py:493 pisi/cli/commands.py:542
msgid "Outputting packages in the working directory."
msgstr "Pakete werden in das Arbeitsverzeichnis ausgegeben."
-#: pisi/cli/commands.py:497
+#: pisi/cli/commands.py:504
+msgid ""
+"Creates delta PiSi packages\n"
+"\n"
+"Usage: delta oldpackage newpackage\n"
+"\n"
+"Delta command finds the changed files between the given packages by "
+"comparing the sha1sum of the files\n"
+"and creates a delta pisi package with the changed files between two "
+"releases.\n"
+"\n"
+msgstr ""
+
+#: pisi/cli/commands.py:521
+#, fuzzy
+msgid "delta options"
+msgstr "Index Optionen"
+
+#: pisi/cli/commands.py:553
msgid ""
"Build and install PiSi source packages from repository\n"
"\n"
@@ -1470,35 +1536,35 @@ msgstr ""
"\n"
"Sie können auch den Namen von der Komponente angeben.\n"
-#: pisi/cli/commands.py:516
+#: pisi/cli/commands.py:572
msgid "emerge options"
msgstr "emerge Optionen"
-#: pisi/cli/commands.py:519 pisi/cli/commands.py:592 pisi/cli/commands.py:656
+#: pisi/cli/commands.py:575 pisi/cli/commands.py:648 pisi/cli/commands.py:716
msgid "Ignore file conflicts"
msgstr "Datei-Konflikte ignorieren"
-#: pisi/cli/commands.py:521 pisi/cli/commands.py:594 pisi/cli/commands.py:658
+#: pisi/cli/commands.py:577 pisi/cli/commands.py:650 pisi/cli/commands.py:718
msgid "Ignore package conflicts"
msgstr "Paket-Konflikte ignorieren"
-#: pisi/cli/commands.py:523 pisi/cli/commands.py:552
+#: pisi/cli/commands.py:579 pisi/cli/commands.py:608
msgid "Bypass comar configuration agent"
msgstr "Comar Konfigurations-Agent umgehen"
-#: pisi/cli/commands.py:535
+#: pisi/cli/commands.py:591
msgid "Outputting binary packages in the package cache."
msgstr "Sende binäres Paket in den Zielcache."
-#: pisi/cli/commands.py:543
+#: pisi/cli/commands.py:599
msgid "Abstract package operation command"
msgstr "Abstrakter Befehl für Paketoperation"
-#: pisi/cli/commands.py:556
+#: pisi/cli/commands.py:612
msgid "Do not perform any action, just show what would be done"
msgstr "Nicht machen, nur zeigen was gemacht würde"
-#: pisi/cli/commands.py:567
+#: pisi/cli/commands.py:623
msgid ""
"Install PiSi packages\n"
"\n"
@@ -1520,23 +1586,23 @@ msgstr ""
"Es können auch Komponenten statt Paketnamen angegeben werden, die zu\n"
"Paketnamen expandiert werden.\n"
-#: pisi/cli/commands.py:585
+#: pisi/cli/commands.py:641
msgid "install options"
msgstr "Installier Optionen"
-#: pisi/cli/commands.py:590
+#: pisi/cli/commands.py:646
msgid "Reinstall already installed packages"
msgstr "Bereits installierte Pakete erneut installieren."
-#: pisi/cli/commands.py:596
+#: pisi/cli/commands.py:652
msgid "Install component's and recursive components' packages"
msgstr "Komponente installieren und Pakete der Komponenten rekursivieren"
-#: pisi/cli/commands.py:598 pisi/cli/commands.py:662
+#: pisi/cli/commands.py:654 pisi/cli/commands.py:722
msgid "Fetch upgrades but do not install."
msgstr "Upgrades abrufen aber nicht installieren"
-#: pisi/cli/commands.py:621
+#: pisi/cli/commands.py:681
msgid ""
"Upgrade PiSi packages\n"
"\n"
@@ -1572,25 +1638,25 @@ msgstr ""
"Man kann statt Paketnamen auch Komponenten angeben, die\n"
"zu Paketnamen erweitert werden.\n"
-#: pisi/cli/commands.py:647
+#: pisi/cli/commands.py:707
msgid "upgrade options"
msgstr "Optionen verbessern"
-#: pisi/cli/commands.py:652
+#: pisi/cli/commands.py:712
msgid "Security related package upgrades only"
msgstr "Nur sicherheitsrelevante Aktualisierungen"
-#: pisi/cli/commands.py:654
+#: pisi/cli/commands.py:714
msgid "Do not update repositories"
msgstr "Quellen nicht aktualisieren"
-#: pisi/cli/commands.py:660
+#: pisi/cli/commands.py:720
msgid "Upgrade component's and recursive components' packages"
msgstr ""
"Upgrade für die Komponente durchführen und Pakete der Komponente "
"rekursivieren"
-#: pisi/cli/commands.py:664
+#: pisi/cli/commands.py:724
msgid ""
"When upgrading system, ignore packages and components whose basenames match "
"pattern."
@@ -1598,7 +1664,7 @@ msgstr ""
"Beim Upgrade des Systemes, der Pakete und Komponenten mit gleichem "
"Basisnamen ignorieren."
-#: pisi/cli/commands.py:666
+#: pisi/cli/commands.py:726
msgid ""
"When upgrading system, ignore packages and components whose "
"basenames match any pattern contained in file."
@@ -1606,15 +1672,15 @@ msgstr ""
"Beim Upgrade des Systemes, der Pakete und Komponenten ignorieren, deren "
"Basisnamen in der Datei enthalten ist."
-#: pisi/cli/commands.py:706
+#: pisi/cli/commands.py:770
msgid "Updating repositories"
msgstr "Depots-Upgrade wird durchgeführt"
-#: pisi/cli/commands.py:711
+#: pisi/cli/commands.py:775
msgid "Will not update repositories"
msgstr "Depots werden nicht aktualisiert"
-#: pisi/cli/commands.py:733
+#: pisi/cli/commands.py:800
msgid ""
"Remove PiSi packages\n"
"\n"
@@ -1634,15 +1700,15 @@ msgstr ""
"Es Kann statt der Paketnamen auch die Komponenten angegeben werden, die\n"
"zu den entsprechenden Paketnamen ergänzt werden.\n"
-#: pisi/cli/commands.py:750
+#: pisi/cli/commands.py:817
msgid "remove options"
msgstr "Optionen entfernen"
-#: pisi/cli/commands.py:753
+#: pisi/cli/commands.py:820
msgid "Remove component's and recursive components' packages"
msgstr "Komponente entfernen und Pakete der Komponente rekursivieren"
-#: pisi/cli/commands.py:775
+#: pisi/cli/commands.py:842
msgid ""
"Configure pending packages\n"
"\n"
@@ -1658,11 +1724,11 @@ msgstr ""
"of packages waiting to be configured. This command\n"
"configures those packages.\n"
-#: pisi/cli/commands.py:791
+#: pisi/cli/commands.py:858
msgid "configure-pending options"
msgstr "Optionen configure-pending"
-#: pisi/cli/commands.py:803
+#: pisi/cli/commands.py:870
msgid ""
"Display package information\n"
"\n"
@@ -1676,63 +1742,64 @@ msgstr ""
"\n"
" ist ein Paketname oder eine .pisi Datei,\n"
-#: pisi/cli/commands.py:818
+#: pisi/cli/commands.py:885
msgid "info options"
msgstr "Info Optionen"
-#: pisi/cli/commands.py:825
+#: pisi/cli/commands.py:892
msgid "Show a list of package files."
msgstr "Liste der Paket-Dateien anzeigen."
-#: pisi/cli/commands.py:827
+#: pisi/cli/commands.py:894
msgid "Info about the given component"
msgstr "Info über die angegebene Komponente"
-#: pisi/cli/commands.py:830
+#: pisi/cli/commands.py:897
msgid "Show only paths."
msgstr "Nur Pfad anzeigen."
-#: pisi/cli/commands.py:832
+#: pisi/cli/commands.py:899
msgid "Do not show details"
msgstr "Details nicht anzeigen"
-#: pisi/cli/commands.py:834
+#: pisi/cli/commands.py:901
msgid "Output in xml format"
msgstr "Ausgabe in xml-Format"
-#: pisi/cli/commands.py:880
+#: pisi/cli/commands.py:947
msgid "Package file: %s"
msgstr "Paket-Datei: %s"
-#: pisi/cli/commands.py:886
+#: pisi/cli/commands.py:953
msgid "[inst] "
msgstr "[inst] "
-#: pisi/cli/commands.py:888
+#: pisi/cli/commands.py:955
msgid "Installed package:"
msgstr "Installierte Pakete:"
-#: pisi/cli/commands.py:894
+#: pisi/cli/commands.py:961
msgid "[repo] "
msgstr "[repo] "
-#: pisi/cli/commands.py:896
-msgid "Package found in repository:"
+#: pisi/cli/commands.py:963
+#, fuzzy
+msgid "Package found in %s repository:"
msgstr "Paket im Depot gefunden:"
-#: pisi/cli/commands.py:900
+#: pisi/cli/commands.py:967
msgid "%s is not found in repositories"
msgstr "%s wurde in den Depots nicht gefunden"
-#: pisi/cli/commands.py:903
+#: pisi/cli/commands.py:970
msgid "%s is not installed"
msgstr "%s ist nicht installiert worden"
-#: pisi/cli/commands.py:916
+#: pisi/cli/commands.py:981
msgid "Reverse Dependencies:"
msgstr "Rückabhängigkeiten:"
-#: pisi/cli/commands.py:919
+#: pisi/cli/commands.py:984
msgid ""
"\n"
"Files:"
@@ -1740,11 +1807,11 @@ msgstr ""
"\n"
"Dateien:"
-#: pisi/cli/commands.py:927
+#: pisi/cli/commands.py:992
msgid "File information not available"
msgstr "Datei-Informationen nicht vorhanden"
-#: pisi/cli/commands.py:933
+#: pisi/cli/commands.py:998
msgid ""
"Verify installation\n"
"\n"
@@ -1772,15 +1839,25 @@ msgstr ""
"Wenn kein Paketname angegeben wird, werden alle installierten Pakete "
"überprüft.\n"
-#: pisi/cli/commands.py:957
+#: pisi/cli/commands.py:1018
+#, fuzzy
+msgid "check options"
+msgstr "Optionen suchen"
+
+#: pisi/cli/commands.py:1020
+#, fuzzy
+msgid "Check installed packages under given component"
+msgstr "Installierte Pakete unter angegebenem Komponent auflisten"
+
+#: pisi/cli/commands.py:1036
msgid "Checking all installed packages"
msgstr "Prüfe alle installierten Pakete"
-#: pisi/cli/commands.py:960
+#: pisi/cli/commands.py:1040
msgid "* Checking %s... "
msgstr "* %s wird überprüft... "
-#: pisi/cli/commands.py:964
+#: pisi/cli/commands.py:1044
msgid ""
"\n"
"Package %s is corrupt."
@@ -1788,11 +1865,11 @@ msgstr ""
"\n"
"Paket %s ist korrupt."
-#: pisi/cli/commands.py:968
+#: pisi/cli/commands.py:1048
msgid "Package %s not installed"
msgstr "Paket %s nicht installiert"
-#: pisi/cli/commands.py:973
+#: pisi/cli/commands.py:1053
msgid ""
"Index PiSi files in a given directory\n"
"\n"
@@ -1819,31 +1896,31 @@ msgstr ""
"arbeiten, aber\n"
"er setzt dann alles in eine einzelne Index-Datei.\n"
-#: pisi/cli/commands.py:994
+#: pisi/cli/commands.py:1074
msgid "index options"
msgstr "Index Optionen"
-#: pisi/cli/commands.py:998
+#: pisi/cli/commands.py:1078
msgid "Store absolute links for indexed files."
msgstr "Absolute Links für indizierte Dateien speichern."
-#: pisi/cli/commands.py:1001
+#: pisi/cli/commands.py:1081
msgid "Index output file"
msgstr "Ausgabe-Datei indizieren"
-#: pisi/cli/commands.py:1004
+#: pisi/cli/commands.py:1084
msgid "Do not index PiSi spec files."
msgstr "PiSi spezifierte Dateien nicht indizieren."
-#: pisi/cli/commands.py:1007
+#: pisi/cli/commands.py:1087
msgid "Do not sign index."
msgstr "Index nicht signieren."
-#: pisi/cli/commands.py:1020
+#: pisi/cli/commands.py:1100
msgid "Indexing current directory."
msgstr "Aktuelles Verzeichnis wird indiziert"
-#: pisi/cli/commands.py:1028
+#: pisi/cli/commands.py:1108
msgid ""
"Print the list of all installed packages\n"
"\n"
@@ -1853,29 +1930,31 @@ msgstr ""
"\n"
"Verwendung: list-installed\n"
-#: pisi/cli/commands.py:1042
+#: pisi/cli/commands.py:1122
msgid "list-installed options"
msgstr "Optionen list-installed "
-#: pisi/cli/commands.py:1045 pisi/cli/commands.py:1278
-#: pisi/cli/commands.py:1342 pisi/cli/commands.py:1381
-#: pisi/cli/commands.py:1421 pisi/cli/commands.py:1555
+#: pisi/cli/commands.py:1125 pisi/cli/commands.py:1358
+#: pisi/cli/commands.py:1422 pisi/cli/commands.py:1461
+#: pisi/cli/commands.py:1501 pisi/cli/commands.py:1625
msgid "Show in long format"
msgstr "Langes Format anzeigen"
-#: pisi/cli/commands.py:1047
+#: pisi/cli/commands.py:1127
msgid "List installed packages under given component"
msgstr "Installierte Pakete unter angegebenem Komponent auflisten"
-#: pisi/cli/commands.py:1049 pisi/cli/commands.py:1425
+#: pisi/cli/commands.py:1129 pisi/cli/commands.py:1505
msgid "Show detailed install info"
msgstr "Detaillierte Installationsinfo anzeigen"
-#: pisi/cli/commands.py:1066 pisi/cli/commands.py:1444
-msgid "Package Name |St| Version| Rel.| Build| Distro| Date"
-msgstr "Paketname |St| Version| Rel.| Build| Distro| Datum"
+#: pisi/cli/commands.py:1146 pisi/cli/commands.py:1524
+msgid ""
+"Package Name |St| Version| Rel.| Build| Distro| Date"
+msgstr ""
+"Paketname |St| Version| Rel.| Build| Distro| Datum"
-#: pisi/cli/commands.py:1081
+#: pisi/cli/commands.py:1161
msgid ""
"Rebuild Databases\n"
"\n"
@@ -1895,19 +1974,19 @@ msgstr ""
"Wenn die Paket-Namen angegeben sind, sollten sie die Namen der Pakete \n"
"unter dem Verzeichnis /var/lib/pisi haben\n"
-#: pisi/cli/commands.py:1099
+#: pisi/cli/commands.py:1179
msgid "rebuild-db options"
msgstr "Optionen rebuild-db"
-#: pisi/cli/commands.py:1102
+#: pisi/cli/commands.py:1182
msgid "Rebuild files database"
msgstr "Rekonstruiere Datei-Datenbank"
-#: pisi/cli/commands.py:1113
+#: pisi/cli/commands.py:1193
msgid "Rebuild PiSi databases?"
msgstr "PiSi-Datenbanken rekonstruieren?"
-#: pisi/cli/commands.py:1120
+#: pisi/cli/commands.py:1200
msgid ""
"Update repository databases\n"
"\n"
@@ -1927,15 +2006,15 @@ msgstr ""
"Synchronsiert die PiSi-Datenbanken mit dem aktuellen Depot.\n"
"Wenn kein Depot angegeben wird, werden alle Depots aktualisiert.\n"
-#: pisi/cli/commands.py:1138
+#: pisi/cli/commands.py:1218
msgid "update-repo options"
msgstr "Optionen update-repo"
-#: pisi/cli/commands.py:1142
+#: pisi/cli/commands.py:1222
msgid "Update database in any case"
msgstr "Datenbank auf jeden Fall aktualisieren"
-#: pisi/cli/commands.py:1160
+#: pisi/cli/commands.py:1240
msgid ""
"Add a repository\n"
"\n"
@@ -1962,23 +2041,23 @@ msgstr ""
"Anm.: Momentan werden nur lokale Dateien (z.B., /a/b/c) und http:// URIs "
"unterstützt\n"
-#: pisi/cli/commands.py:1180
+#: pisi/cli/commands.py:1260
msgid "add-repo options"
msgstr "Optionen add-repo "
-#: pisi/cli/commands.py:1183
+#: pisi/cli/commands.py:1263
msgid "Add repository at given position (0 is first)"
msgstr "Depot in angegebener Positioin hinzufügen (0 ist erste)"
-#: pisi/cli/commands.py:1197
+#: pisi/cli/commands.py:1277
msgid "Update PiSi database for repository %s?"
msgstr "PiSi Datenbank für Depot %s aktualisieren ?"
-#: pisi/cli/commands.py:1201
+#: pisi/cli/commands.py:1281
msgid "%s repository could not be reached. Removing %s from system."
msgstr "Depot %s konnte nicht kontaktiert werden. Entferne %s vom System."
-#: pisi/cli/commands.py:1210
+#: pisi/cli/commands.py:1290
msgid ""
"Remove repositories\n"
"\n"
@@ -1992,7 +2071,7 @@ msgstr ""
"\n"
"Entfernt die gesamte Information der Depots vom System.\n"
-#: pisi/cli/commands.py:1236
+#: pisi/cli/commands.py:1316
msgid ""
"List repositories\n"
"\n"
@@ -2006,7 +2085,7 @@ msgstr ""
"\n"
"Listet die momentan beobachteten Depots.\n"
-#: pisi/cli/commands.py:1259
+#: pisi/cli/commands.py:1339
msgid ""
"List available packages in the repositories\n"
"\n"
@@ -2024,27 +2103,27 @@ msgstr ""
"Wenn kein Depot angegeben wird, werden in der Liste die Pakete\n"
"aller Depots ausgegeben.\n"
-#: pisi/cli/commands.py:1276
+#: pisi/cli/commands.py:1356
msgid "list-available options"
msgstr "Optionen list-available"
-#: pisi/cli/commands.py:1280
+#: pisi/cli/commands.py:1360
msgid "List available packages under given component"
msgstr "Listet vorhandene Pakete unter einer gegebenen Komponente"
-#: pisi/cli/commands.py:1282
+#: pisi/cli/commands.py:1362
msgid "Show uninstalled packages only"
msgstr "Nur installierte Pakete anzeigen"
-#: pisi/cli/commands.py:1290
+#: pisi/cli/commands.py:1370
msgid "Installed packages are shown in this color"
msgstr "Installierte Pakete werden in dieser Farbe dargestellt"
-#: pisi/cli/commands.py:1298
+#: pisi/cli/commands.py:1378
msgid "Repository : %s\n"
msgstr "Quelle : %s\n"
-#: pisi/cli/commands.py:1325
+#: pisi/cli/commands.py:1405
msgid ""
"List available components\n"
"\n"
@@ -2060,11 +2139,11 @@ msgstr ""
"Gieine kurze liste der PiSi-Komponenten in den \n"
"Depots.\n"
-#: pisi/cli/commands.py:1340
+#: pisi/cli/commands.py:1420
msgid "list-components options"
msgstr "optionen list-components "
-#: pisi/cli/commands.py:1365
+#: pisi/cli/commands.py:1445
msgid ""
"List available sources\n"
"\n"
@@ -2078,11 +2157,11 @@ msgstr ""
"\n"
"Gives a brief list of sources published in the repositories.\n"
-#: pisi/cli/commands.py:1379
+#: pisi/cli/commands.py:1459
msgid "list-sources options"
msgstr "Optionen list-sources"
-#: pisi/cli/commands.py:1404
+#: pisi/cli/commands.py:1484
msgid ""
"List packages to be upgraded\n"
"\n"
@@ -2096,19 +2175,19 @@ msgstr ""
"\n"
"Listet die Pakete die aktualisiert werden.\n"
-#: pisi/cli/commands.py:1418
+#: pisi/cli/commands.py:1498
msgid "list-upgrades options"
msgstr "liste -Upgrades Optionen auf"
-#: pisi/cli/commands.py:1423
+#: pisi/cli/commands.py:1503
msgid "List upgradable packages under given component"
msgstr "Listet aktualisierbare Pakete unter der angegebenen Komponente"
-#: pisi/cli/commands.py:1440 pisi/operations.py:466
+#: pisi/cli/commands.py:1520 pisi/operations.py:455
msgid "No packages to upgrade."
msgstr "Es gibt keine Pakete zu aktualisieren."
-#: pisi/cli/commands.py:1460
+#: pisi/cli/commands.py:1540
msgid ""
"List pending packages\n"
"\n"
@@ -2118,11 +2197,11 @@ msgstr ""
"\n"
"Listet Pakete die noch zu konfigurieren sind.\n"
-#: pisi/cli/commands.py:1482
+#: pisi/cli/commands.py:1562
msgid "There are no packages waiting to be configured"
msgstr "Es sind keine Pakete da, die auf die Konfiguration warten"
-#: pisi/cli/commands.py:1487
+#: pisi/cli/commands.py:1567
msgid ""
"Search packages\n"
"\n"
@@ -2138,23 +2217,19 @@ msgstr ""
"Sucht Pakete die die angegebenen Suchworte in den Feldern\n"
"Zusammenfassung, Beschreibung oder Paketname enthalten.\n"
-#: pisi/cli/commands.py:1502
+#: pisi/cli/commands.py:1582
msgid "search options"
msgstr "Optionen suchen"
-#: pisi/cli/commands.py:1505
-msgid "Set search language"
-msgstr "Sprache für Suchfunktion einrichten"
-
-#: pisi/cli/commands.py:1510
+#: pisi/cli/commands.py:1588
msgid "Show details"
msgstr "Details anzeigen"
-#: pisi/cli/commands.py:1530
+#: pisi/cli/commands.py:1600
msgid "%s packages found"
msgstr "%s Pakete gefunden"
-#: pisi/cli/commands.py:1539
+#: pisi/cli/commands.py:1609
msgid ""
"Search for a file\n"
"\n"
@@ -2168,35 +2243,35 @@ msgstr ""
"\n"
"Sucht das installierte Paket welches die angegebene Datei enthält.\n"
-#: pisi/cli/commands.py:1553
+#: pisi/cli/commands.py:1623
msgid "search-file options"
msgstr "Optionen search-file"
-#: pisi/cli/commands.py:1557
+#: pisi/cli/commands.py:1627
msgid "Fuzzy search"
msgstr "Fuzzy Suche"
-#: pisi/cli/commands.py:1559
+#: pisi/cli/commands.py:1629
msgid "Show only package name"
msgstr "Nur Paketnamen anzeigen"
-#: pisi/cli/commands.py:1580
+#: pisi/cli/commands.py:1650
msgid "Package %s has file %s"
msgstr "Paket %s hat Datei %s"
-#: pisi/cli/commands.py:1582
+#: pisi/cli/commands.py:1652
msgid "Type: %s, Hash: %s"
msgstr "Typ: %s, Hash: %s"
-#: pisi/cli/commands.py:1585
+#: pisi/cli/commands.py:1655
msgid "Path '%s' does not belong to an installed package"
msgstr "Dateipfad '%s' gehört zu keinem installierten Paket"
-#: pisi/cli/commands.py:1598
+#: pisi/cli/commands.py:1668
msgid "Searching for %s"
msgstr "Suche %s"
-#: pisi/cli/commands.py:1608
+#: pisi/cli/commands.py:1678
msgid ""
"%prog [options] [arguments]\n"
"\n"
@@ -2208,7 +2283,7 @@ msgstr ""
"wobei einer von:\n"
"\n"
-#: pisi/cli/commands.py:1614
+#: pisi/cli/commands.py:1684
msgid ""
"\n"
"Use \"%prog help \" for help on a specific command.\n"
@@ -2216,15 +2291,15 @@ msgstr ""
"\n"
"Gebrauch \"%prog help \" für Hilfe für einen bestimmten Befehl.\n"
-#: pisi/cli/pisicli.py:56
+#: pisi/cli/pisicli.py:53
msgid "Options must precede non-option arguments"
msgstr "Optionen müssen vor den nicht-Optionen stehen"
-#: pisi/cli/pisicli.py:97
+#: pisi/cli/pisicli.py:94
msgid "No command given"
msgstr "Kein Befehl erhalten"
-#: pisi/cli/pisicli.py:100
+#: pisi/cli/pisicli.py:97
msgid "Command line parsing error"
msgstr "Befehlszeile"
@@ -2284,59 +2359,69 @@ msgstr "Vor-Entfernen Steuerungsprogramm wird aufgerufen"
msgid "Unregistering comar scripts"
msgstr "Comar-Skripte werden entfernt"
-#: pisi/component.py:97 pisi/component.py:103
+#: pisi/component.py:105 pisi/component.py:111
msgid "Component %s not found"
msgstr "Komponente %s nicht gefunden"
-#: pisi/component.py:199 pisi/component.py:225
+#: pisi/component.py:207 pisi/component.py:233
msgid "Information for component %s not available"
msgstr "Information fÑur Komponente %s nicht vorhanden"
-#: pisi/config.py:61
+#: pisi/config.py:60
msgid "Destination directory %s does not exist. Creating it."
msgstr "Zielverzeichnis %s existiert nicht. Wird neu erstellt."
-#: pisi/configfile.py:105
+#: pisi/configfile.py:112
msgid "No section by name '%s'"
msgstr "Kein Abschnitt mi Namen '%s' "
-#: pisi/conflict.py:39 pisi/dependency.py:40
+#: pisi/conflict.py:26 pisi/replace.py:24
msgid " version >= "
msgstr " Version >= "
-#: pisi/conflict.py:41 pisi/dependency.py:42
+#: pisi/conflict.py:28 pisi/replace.py:26
msgid " version <= "
msgstr " Version <= "
-#: pisi/conflict.py:43 pisi/dependency.py:44
+#: pisi/conflict.py:30 pisi/replace.py:28
msgid " version "
msgstr " Version "
-#: pisi/conflict.py:45 pisi/dependency.py:46
+#: pisi/conflict.py:32 pisi/replace.py:30
msgid " release >= "
msgstr " Release >= "
-#: pisi/conflict.py:47 pisi/dependency.py:48
+#: pisi/conflict.py:34 pisi/replace.py:32
msgid " release <= "
msgstr " Release <= "
-#: pisi/conflict.py:49 pisi/dependency.py:50
+#: pisi/conflict.py:36 pisi/replace.py:34
msgid " release "
msgstr " Release "
-#: pisi/constants.py:30
+#: pisi/constants.py:28
msgid "Can't rebind constant: %s"
msgstr "Konstante kann nicht neu eingebunden werden: %s"
-#: pisi/constants.py:36
+#: pisi/constants.py:34
msgid "Can't unbind constant: %s"
msgstr "Konstene %s kann nicht geändert werden"
-#: pisi/dependency.py:107
+#: pisi/delta.py:27
+#, fuzzy
+msgid "Cannot create delta for same package!"
+msgstr "Verzeichnis %s konnte nicht erstellt werden"
+
+#: pisi/delta.py:41
+#, fuzzy
+msgid "Creating delta PiSi package between %s %s"
+msgstr "PiSi Paket %s wird erstellt."
+
+#: pisi/dependency.py:55
msgid "%s dependency of package %s is not satisfied"
msgstr "Abhängigkeit %s von %s ist nicht zufriedenstellend"
-#: pisi/dependency.py:120
+#: pisi/dependency.py:68
msgid "Package %s is not present in the package database"
msgstr "Paket %s ist nicht in der Paketdatenbank enthalten"
@@ -2353,7 +2438,8 @@ msgid "Access denied to destination file: \"%s\""
msgstr "Zugriff verweigert für Zielddatei: \"%s\""
#: pisi/fetcher.py:100
-msgid "A problem occured. Please check the archive address and/or permissions again."
+msgid ""
+"A problem occured. Please check the archive address and/or permissions again."
msgstr ""
"Es ist ein Problem aufgetreten. Bitte die Adresse der Datei und/oder Rechte "
"überprüfen."
@@ -2362,33 +2448,33 @@ msgstr ""
msgid "No such file or no permission to read"
msgstr "Datei nicht vorhanden oder keine Leseerlaubnis"
-#: pisi/fetcher.py:183
+#: pisi/fetcher.py:182
msgid "Requested range not satisfiable, starting again."
msgstr "Geforderter Bereich nicht erfüllbar, starte wieder neu."
-#: pisi/fetcher.py:190
+#: pisi/fetcher.py:189
msgid "Cannot fetch %s; value error: %s"
msgstr "%s konnte nicht abrufen; Wert-Fehler: %s"
-#: pisi/fetcher.py:192 pisi/fetcher.py:196
+#: pisi/fetcher.py:191 pisi/fetcher.py:195
msgid "Cannot fetch %s; %s"
msgstr "Konnte nicht abrufen %s;%s"
-#: pisi/fetcher.py:194
+#: pisi/fetcher.py:193
msgid "Please check your network connections and try again. (%s)"
msgstr ""
"Bitte überprüfen Sie Ihre Netzwerkverbindungen und versuchen Sie es noch "
"einmal. (%s)"
-#: pisi/fetcher.py:198
+#: pisi/fetcher.py:197
msgid "Cannot fetch %s; (%s): %s"
msgstr "Konnte nicht abrufen %s;(%s): %s"
-#: pisi/fetcher.py:244
+#: pisi/fetcher.py:243
msgid "Proxy configuration has been found for '%s' protocol"
msgstr "Für das '%s' Protokoll wurde eine Proxy-Konfiguration entdeckt"
-#: pisi/fetcher.py:328 pisi/fetcher.py:349 pisi/fetcher.py:362
+#: pisi/fetcher.py:327 pisi/fetcher.py:348 pisi/fetcher.py:362
msgid "ftp error"
msgstr "ftp Fehler"
@@ -2436,43 +2522,43 @@ msgstr "ERROR: gpg --detach-sig %s fehlgeschlagen"
msgid "Encountered cycle %s"
msgstr "Zusammengetroffener Zyklus %s"
-#: pisi/index.py:92
-msgid "Adding %s to package index"
-msgstr "%s wird zum Paket-Index hinzugefügt"
-
-#: pisi/index.py:95
+#: pisi/index.py:97
msgid "Adding %s to component index"
msgstr "%s wird zum Komponente-Index hinzugefügt"
-#: pisi/index.py:113
+#: pisi/index.py:109
+msgid "Adding %s to package index"
+msgstr "%s wird zum Paket-Index hinzugefügt"
+
+#: pisi/index.py:123
msgid "Updating package database of %s"
msgstr "Aktualisiere Paket-Datenbank von %s"
-#: pisi/index.py:141
+#: pisi/index.py:152
msgid "Package %s: metadata corrupt, skipping..."
msgstr "Paket %s: Metadata korrupt, wird übersprungen..."
-#: pisi/index.py:169
+#: pisi/index.py:191
msgid "Adding %s to source index"
msgstr "%s wird zu Quell-Index hinzugefügt"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed"
msgstr "installiert"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed-pending"
msgstr "installed-pending"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "purged"
msgstr "gereinigt"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "removed"
msgstr "entfernt"
-#: pisi/installdb.py:62
+#: pisi/installdb.py:55
msgid ""
"State: %s\n"
"Version: %s, Release: %s, Build: %s\n"
@@ -2480,47 +2566,50 @@ msgstr ""
"Status: %s\n"
"Version: %s, Release: %s, Build: %s\n"
-#: pisi/installdb.py:67
+#: pisi/installdb.py:60
msgid "Distribution: %s, Install Time: %s\n"
msgstr "Distribution: %s, Installationszeit: %s\n"
-#: pisi/installdb.py:154
+#: pisi/installdb.py:147
msgid "Already installed"
msgstr "Bereits installiert"
-#: pisi/itembyrepodb.py:120
+#: pisi/itembyrepodb.py:114
msgid "Invalid repository string"
msgstr "Depot-String ungültig"
-#: pisi/itembyrepodb.py:142
+#: pisi/itembyrepodb.py:136
msgid "Key %s not found"
msgstr "Schlüssel %s nicht gefunden"
-#: pisi/itembyrepodb.py:152
+#: pisi/itembyrepodb.py:146
msgid "Key %s in repo %s not found"
msgstr "Schlüssel %s in Depot %s nicht gefunden"
-#: pisi/lockeddbshelve.py:47
+#: pisi/lockeddbshelve.py:46
+#, fuzzy
msgid "Database version for %s insufficient. Please run rebuild-db command."
msgstr ""
"Datenbankversion für %s nicht ausreichend. Bitte führen Sie den Befehl "
"rebuild-db aus."
-#: pisi/lockeddbshelve.py:51
-msgid "Database version for %s greater than PiSi version. You need a newer PiSi."
+#: pisi/lockeddbshelve.py:50
+#, fuzzy
+msgid ""
+"Database version for %s greater than PiSi version. You need a newer PiSi."
msgstr ""
"Datenbankversion %s ist grösser als PiSi-Version. Sie benötigen ein neueres "
"PiSi."
-#: pisi/lockeddbshelve.py:62
+#: pisi/lockeddbshelve.py:61
msgid "Cannot attain write access to database environment"
msgstr "Schreib-Zugang zur Datenbank-Umgebung konnte nicht erreicht werden"
-#: pisi/lockeddbshelve.py:64
+#: pisi/lockeddbshelve.py:63
msgid "Database version %s not present."
msgstr "Datenbank Version %s nicht vorhanden."
-#: pisi/lockeddbshelve.py:71 pisi/lockeddbshelve.py:153
+#: pisi/lockeddbshelve.py:70 pisi/lockeddbshelve.py:152
msgid ""
"Another instance of PiSi is running. Only one instance is allowed to modify "
"the PiSi database at a time."
@@ -2528,11 +2617,11 @@ msgstr ""
"Eine andere Programminstanz von PiSi ist schon aktiv. Nur eine der Instanzen "
"kann die PiSi Datenbank modifizieren."
-#: pisi/lockeddbshelve.py:81
+#: pisi/lockeddbshelve.py:80
msgid "Cannot attain read access to database environment"
msgstr "Lese-Zugang zur Datenbank-Umgebung konnte nicht erreicht werden"
-#: pisi/lockeddbshelve.py:95
+#: pisi/lockeddbshelve.py:94
msgid ""
"Cannot attain write access to PiSi database. You have to be root for this "
"operation."
@@ -2540,23 +2629,24 @@ msgstr ""
"Schreib-Zugang zur PiSi-Datenbank konnte nicht erlangt werden. Sie müssen "
"für diesen Vorgang der root sein."
-#: pisi/lockeddbshelve.py:113
+#: pisi/lockeddbshelve.py:112
msgid "Cannot attain read or write access to database %s"
msgstr ""
"Schreib- oder Lese-Zugang zur Datenbank-Umgebung %s konnte nicht erreicht "
"werden"
-#: pisi/lockeddbshelve.py:139
-msgid "Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
+#: pisi/lockeddbshelve.py:138
+msgid ""
+"Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
msgstr ""
"Flagge sollte eine von 'r', 'w', 'c' oder 'n' sein oder die bsddb.db.DB_* "
"Flaggen benutzen"
-#: pisi/metadata.py:58
+#: pisi/metadata.py:74
msgid "Distribution: %s, Dist. Release: %s\n"
msgstr "Distribution: %s, Dist. Release: %s\n"
-#: pisi/metadata.py:60
+#: pisi/metadata.py:76
msgid "Architecture: %s, Installed Size: %s"
msgstr "Architektur: %s, Installierte Grösse: %s"
@@ -2564,11 +2654,11 @@ msgstr "Architektur: %s, Installierte Grösse: %s"
msgid "Mirrors file %s does not exist. Could not resolve mirrors://"
msgstr "Mirrors-Datei %s existiert nicht. Konnte mirrors:// nicht auflösen"
-#: pisi/operations.py:114
+#: pisi/operations.py:106
msgid "Mixing file names and package names not supported yet."
msgstr "Mischen von Dateinamen und Paketnamen wird noch nicht unterstützt."
-#: pisi/operations.py:156
+#: pisi/operations.py:148
msgid ""
"The following packages will be installed\n"
"in the respective order to satisfy extra dependencies:\n"
@@ -2576,35 +2666,43 @@ msgstr ""
"Die folgenden Pakete werden in der angegebenen \n"
"Reihenfolge installiert um die zusätzlichen Abhängigkeiten zu erfüllen:\n"
-#: pisi/operations.py:159 pisi/operations.py:621
+#: pisi/operations.py:151 pisi/operations.py:618
msgid "Do you want to continue?"
msgstr "Wollen Sie fortfahren?"
-#: pisi/operations.py:160
+#: pisi/operations.py:152
msgid "External dependencies not satisfied"
msgstr "Externe Abhängigkeiten werden nicht erfüllt"
-#: pisi/operations.py:172 pisi/operations.py:339
+#: pisi/operations.py:164 pisi/operations.py:316
msgid "No packages to install."
msgstr "Keine zu installierenden Pakete."
-#: pisi/operations.py:203
+#: pisi/operations.py:195
msgid "Installation order: "
msgstr "Installation's Ordner:"
-#: pisi/operations.py:257 pisi/operations.py:279
+#: pisi/operations.py:223
+msgid "Replaced package remains"
+msgstr ""
+
+#: pisi/operations.py:227 pisi/operations.py:255
msgid "Conflicts remain"
msgstr "Es gibt immer noch Konflikte"
-#: pisi/operations.py:267
+#: pisi/operations.py:233
+msgid "Obsoleted packages remaining"
+msgstr ""
+
+#: pisi/operations.py:243
msgid "Selected packages [%s] are in conflict with each other."
msgstr "Markierte Pakete [%s] sind in Konflikt miteinander."
-#: pisi/operations.py:273
+#: pisi/operations.py:249
msgid "[%s conflicts with: %s]\n"
msgstr "[%s in Konflikt mit: %s]\n"
-#: pisi/operations.py:275
+#: pisi/operations.py:251
msgid ""
"The following packages have conflicts:\n"
"%s"
@@ -2612,23 +2710,26 @@ msgstr ""
"Die folgenden Pakete haben Konflikte:\n"
"%s"
-#: pisi/operations.py:278
+#: pisi/operations.py:254
msgid "Remove the following conflicting packages?"
msgstr "Folgende widersprüchliche Pakete entfernen ?"
-#: pisi/operations.py:305
+#: pisi/operations.py:282
msgid "Safety switch: Following packages in system.base will be installed: "
-msgstr "Sicherheitsschalter: Die folgenden Pakete in system.base serden installiert:"
+msgstr ""
+"Sicherheitsschalter: Die folgenden Pakete in system.base serden installiert:"
+
+#: pisi/operations.py:288
+msgid "Safety switch: Following packages in system.base will be upgraded: "
+msgstr ""
+"Sicherheitsschalter: Die folgenden Pakete in system.base werden aktualisiert:"
+
+#: pisi/operations.py:294 pisi/operations.py:594
+msgid "Safety switch: the component system.base cannot be found"
+msgstr ""
+"Sicherheitsschalter: Die Komponente system.base kann nicht gefunden werden"
#: pisi/operations.py:311
-msgid "Safety switch: Following packages in system.base will be upgraded: "
-msgstr "Sicherheitsschalter: Die folgenden Pakete in system.base werden aktualisiert:"
-
-#: pisi/operations.py:317 pisi/operations.py:597
-msgid "Safety switch: the component system.base cannot be found"
-msgstr "Sicherheitsschalter: Die Komponente system.base kann nicht gefunden werden"
-
-#: pisi/operations.py:334
msgid ""
"The following package(s) are already installed and are not going to be "
"installed again:\n"
@@ -2636,7 +2737,7 @@ msgstr ""
"Die folgenden Pakete sind schon installiert und werden nicht noch einmal "
"installiert:\n"
-#: pisi/operations.py:355
+#: pisi/operations.py:332
msgid ""
"Following packages will be installed in the respective order to satisfy "
"dependencies:\n"
@@ -2644,67 +2745,76 @@ msgstr ""
"Die folgenden Pakete werden in der angegebenen Reihenfolge installiert um "
"die Abhängigkeiten zu erfüllen:\n"
-#: pisi/operations.py:360 pisi/operations.py:491
+#: pisi/operations.py:337 pisi/operations.py:480
msgid "Total size of package(s): %.2f %s"
msgstr "Gesamtgrösse der Pakete: %.2f %s"
-#: pisi/operations.py:366 pisi/operations.py:497 pisi/operations.py:709
+#: pisi/operations.py:343 pisi/operations.py:486 pisi/operations.py:705
msgid "There are extra packages due to dependencies. Do you want to continue?"
msgstr ""
"Es gibt zusätzliche Pakete auf Grund von Abhängigkeiten. Möchten Sie "
"fortfahren ?"
-#: pisi/operations.py:432
+#: pisi/operations.py:412
msgid "Warning: package *name* ends with '.pisi'"
msgstr "Warnung: Paket *name* endet mit '.pisi'"
-#: pisi/operations.py:435
+#: pisi/operations.py:424
msgid "Package %s is not installed."
msgstr "Paket %s ist nicht installiert."
-#: pisi/operations.py:441
+#: pisi/operations.py:430
msgid "Package %s is not available in repositories."
msgstr "Paket %s ist in den Depots nicht vorhanden."
-#: pisi/operations.py:453
+#: pisi/operations.py:442
msgid "Package %s is already at the latest release %s."
msgstr "Paket %s ist schon mit der letzten Release %s."
-#: pisi/operations.py:459
+#: pisi/operations.py:448
msgid "Package %s is already at the latest build %s."
msgstr "Paket %s ist schon in der letzten Build-Version %s."
-#: pisi/operations.py:486
+#: pisi/operations.py:475
msgid "The following packages will be upgraded: "
msgstr "Folgende Pakete werden aktualisiert:"
-#: pisi/operations.py:552
+#: pisi/operations.py:493
+msgid "Downloading %d / %d"
+msgstr ""
+
+#: pisi/operations.py:511
+#, fuzzy
+msgid "Installing %d / %d"
+msgstr "%s installiert"
+
+#: pisi/operations.py:548
msgid "Dependency %s of %s cannot be satisfied"
msgstr "Abhängigkeit %s von %s kann nicht erfüllt werden"
-#: pisi/operations.py:553
+#: pisi/operations.py:549
msgid "Upgrade is not possible."
msgstr "Upgrade ist nicht möglich."
-#: pisi/operations.py:568
+#: pisi/operations.py:565
msgid "Reverse dependency %s of %s cannot be satisfied"
msgstr "Rückabhängigkeit %s von %s kann nicht zufriedenstellend sein"
-#: pisi/operations.py:593
+#: pisi/operations.py:590
msgid "Safety switch: cannot remove the following packages in system.base: "
msgstr ""
"Sicherheitsschalter: Kann die folgenden Pakete aus system.base nicht "
"entfernen:"
-#: pisi/operations.py:604
+#: pisi/operations.py:601
msgid "Package %s does not exist. Cannot remove."
msgstr "Packat %s existiert nicht. Kann nicht entfernt werden."
-#: pisi/operations.py:608
+#: pisi/operations.py:605
msgid "No packages to remove."
msgstr "Es gibt keine Pakete zum entfernen."
-#: pisi/operations.py:617
+#: pisi/operations.py:614
msgid ""
"The following minimal list of packages will be removed\n"
"in the respective order to satisfy dependencies:\n"
@@ -2712,19 +2822,19 @@ msgstr ""
"Die folgende minimale Paketliste wird aus dem Depot in der\n"
"angegebenen Reihenfolge entfernt um die Abhängigkeiten zu erfüllen:\n"
-#: pisi/operations.py:622
+#: pisi/operations.py:619
msgid "Package removal declined"
msgstr "Paket-Entfernung abgelehnt"
-#: pisi/operations.py:634
+#: pisi/operations.py:631
msgid "Package %s is not installed. Cannot remove."
msgstr "Paket %s ist nicht installiert. Kann nicht entfernt werden."
-#: pisi/operations.py:683
+#: pisi/operations.py:679
msgid "No packages to emerge."
msgstr "Keine Pakete zu emerge."
-#: pisi/operations.py:698
+#: pisi/operations.py:694
msgid ""
"The following minimal list of packages will be installed\n"
"from repository in the respective order to satisfy dependencies:\n"
@@ -2732,7 +2842,7 @@ msgstr ""
"Die folgende minimale Paketliste wird aus dem Depot in der\n"
"angegebenen Reihenfolge installiert um die Abhängigkeiten zu erfüllen:\n"
-#: pisi/operations.py:701
+#: pisi/operations.py:697
msgid ""
"The following minimal list of packages will be built and\n"
"installed in the respective order to satisfy dependencies:\n"
@@ -2740,11 +2850,12 @@ msgstr ""
"Die folgende minimale Paketliste wird in der angegebenen\n"
"Reihenfolge build und installiert um die Abhängigkeiten zu erfüllen:\n"
-#: pisi/operations.py:743
+#: pisi/operations.py:739
msgid "Cannot find source package: %s"
msgstr "Nicht gefunden Quellcode Paket: %s"
#: pisi/package.py:56
+#, fuzzy
msgid ""
"There was a problem while fetching '%s'.\n"
"The package may have been upgraded. Please try to upgrade the package."
@@ -2753,33 +2864,33 @@ msgstr ""
"Das Paket kann upgradet worden sein. Bitte versuchen Sie das Paket zu "
"upgraden."
-#: pisi/package.py:60 pisi/sourcearchive.py:94
+#: pisi/package.py:60 pisi/sourcearchive.py:92
msgid "%s [cached]"
msgstr "%s [cached]"
-#: pisi/package.py:131
+#: pisi/package.py:136
msgid "MetaData format wrong"
msgstr "Format der Metadaten ist inkorrekt"
-#: pisi/packagedb.py:66
+#: pisi/packagedb.py:65
msgid "Package %s not found"
msgstr "Paket %s nicht gefunden"
-#: pisi/pxml/autoxml.py:77
+#: pisi/pxml/autoxml.py:79
msgid "At least one '%s' tag should have local text"
msgstr "Mindestens ein '%s' Tag sollte lokalen Text enthalten"
-#: pisi/pxml/autoxml.py:84
+#: pisi/pxml/autoxml.py:86
msgid "'%s' language of tag '%s' is empty"
msgstr "Sprache '%s' des Tags '%s' ist leer"
-#: pisi/pxml/autoxml.py:112
+#: pisi/pxml/autoxml.py:114
msgid "LocalText: unable to get either current or default locale"
msgstr ""
"LocalText: nicht in der Lage, aktuelle oder standard Lokalisierung zu "
"erkennen"
-#: pisi/pxml/autoxml.py:118 pisi/pxml/autoxml.py:133
+#: pisi/pxml/autoxml.py:120 pisi/pxml/autoxml.py:135
msgid ""
"Tag should have at least the current locale, or failing that an English or "
"Turkish version"
@@ -2787,64 +2898,64 @@ msgstr ""
"Der Tag sollte mindestens die aktuelle Lokale haben, oder anderenfalls eine "
"englische oder türkische Version"
-#: pisi/pxml/autoxml.py:368
+#: pisi/pxml/autoxml.py:373
msgid "autoxml.check: '%s' errors"
msgstr "autoxml.check: '%s' Fehler"
-#: pisi/pxml/autoxml.py:423 pisi/pxml/autoxml.py:433
+#: pisi/pxml/autoxml.py:428 pisi/pxml/autoxml.py:438
msgid "autoxml.parse: String '%s' has errors"
msgstr "autoxml.parse: String '%s' hat Fehler"
-#: pisi/pxml/autoxml.py:443 pisi/pxml/autoxml.py:453
+#: pisi/pxml/autoxml.py:448 pisi/pxml/autoxml.py:458
msgid "autoxml.read: File '%s' has errors"
msgstr "autoxml.read: Datei '%s' hat Fehler"
-#: pisi/pxml/autoxml.py:461
+#: pisi/pxml/autoxml.py:466
msgid "autoxml.write: object validation has failed"
msgstr "autoxml.write: Objekt Validation ist fehlgeschlagen"
-#: pisi/pxml/autoxml.py:469
+#: pisi/pxml/autoxml.py:474
msgid "autoxml.write: File encoding '%s' has errors"
msgstr "autoxml.write: Dateikodierung '%s' hat Fehler"
-#: pisi/pxml/autoxml.py:519
+#: pisi/pxml/autoxml.py:524
msgid "gen_tag: unrecognized tag type %s in spec"
msgstr "gen_tag: unbekannter Tag Typ %s in Spec"
-#: pisi/pxml/autoxml.py:567 pisi/pxml/autoxml.py:578
+#: pisi/pxml/autoxml.py:572 pisi/pxml/autoxml.py:583
msgid "Mandatory variable %s not available"
msgstr "obligatirische Variable %s nicht vorhanden"
-#: pisi/pxml/autoxml.py:648
+#: pisi/pxml/autoxml.py:653
msgid "Type mismatch: read text cannot be decoded"
msgstr "Falscher Typ: read text kann nicht dekodiert werden"
-#: pisi/pxml/autoxml.py:652 pisi/pxml/autoxml.py:661
+#: pisi/pxml/autoxml.py:657 pisi/pxml/autoxml.py:666
msgid "Mandatory token %s not available"
msgstr "Zwingend erforderliches Zeichen %s ist nicht verfügbar"
-#: pisi/pxml/autoxml.py:666
+#: pisi/pxml/autoxml.py:671
msgid "Type mismatch. Expected %s, got %s"
msgstr "Falscher Typ. Erwartet %s, erhalten %s"
-#: pisi/pxml/autoxml.py:696 pisi/pxml/autoxml.py:812
+#: pisi/pxml/autoxml.py:701 pisi/pxml/autoxml.py:817
msgid "Type mismatch: DOM cannot be decoded"
msgstr "Falscher Typ: DOM kann nicht dekodiert werden"
-#: pisi/pxml/autoxml.py:699 pisi/pxml/autoxml.py:715 pisi/pxml/autoxml.py:725
-#: pisi/pxml/autoxml.py:815 pisi/pxml/autoxml.py:829 pisi/pxml/autoxml.py:839
+#: pisi/pxml/autoxml.py:704 pisi/pxml/autoxml.py:720 pisi/pxml/autoxml.py:730
+#: pisi/pxml/autoxml.py:820 pisi/pxml/autoxml.py:834 pisi/pxml/autoxml.py:844
msgid "Mandatory argument not available"
msgstr "Obligatorisches Element nicht vorhanden"
-#: pisi/pxml/autoxml.py:712 pisi/pxml/autoxml.py:826
+#: pisi/pxml/autoxml.py:717 pisi/pxml/autoxml.py:831
msgid "Object cannot be encoded"
msgstr "Objekt kann nicht kodiert werden"
-#: pisi/pxml/autoxml.py:737
+#: pisi/pxml/autoxml.py:742
msgid "List type must contain only one element"
msgstr "Listentyp darf nur ein Element enthalten"
-#: pisi/pxml/autoxml.py:750 pisi/pxml/autoxml.py:771
+#: pisi/pxml/autoxml.py:755 pisi/pxml/autoxml.py:776
msgid "Mandatory list \"%s\" under \"%s\" node is empty."
msgstr "Obligatirische Liste \"%s\" unter Knoten \"%s\" ist leer."
@@ -2852,23 +2963,23 @@ msgstr "Obligatirische Liste \"%s\" unter Knoten \"%s\" ist leer."
msgid "getNodeText: Expected text node, got something else!"
msgstr "getNodeText: Text Knoten erwartet, aber etwas anderes erhalten!"
-#: pisi/pxml/xmlfile.py:64
+#: pisi/pxml/xmlfile.py:63
msgid "String '%s' has invalid XML"
msgstr "String '%s' hat ungültiges XML"
-#: pisi/pxml/xmlfile.py:72 pisi/pxml/xmlfile.py:87
+#: pisi/pxml/xmlfile.py:71 pisi/pxml/xmlfile.py:86
msgid "File '%s' has invalid XML"
msgstr "Datei '%s' hat ungültiges XML"
-#: pisi/repodb.py:74
+#: pisi/repodb.py:69
msgid "No repository named %s exists"
msgstr "Es existiert kein %s genanntes Depot"
-#: pisi/repodb.py:83
+#: pisi/repodb.py:78
msgid "Repository %s already exists"
msgstr "Quelle %s existiert bereits"
-#: pisi/repodb.py:90
+#: pisi/repodb.py:85
msgid "Cannot add repository at position %s"
msgstr "No posible agregar Depot en Position %s"
@@ -2884,55 +2995,55 @@ msgstr "Repo hat schon ein Paket mit dem Namen %s."
msgid "Repo does not have package named %s."
msgstr "Repo enthält kein Paket mit Namen %s."
-#: pisi/sourcearchive.py:63
+#: pisi/sourcearchive.py:61
msgid "Trying fallback address: %s"
msgstr "Versuche Ersatz-Adresse: %s"
-#: pisi/sourcearchive.py:74
+#: pisi/sourcearchive.py:72
msgid "%s mirrors are not defined."
msgstr "%s Mirrors sind nicht definiert."
-#: pisi/sourcearchive.py:79
+#: pisi/sourcearchive.py:77
msgid "Fetching source from mirror: %s"
msgstr "Quelle wird vom Mirror abgerufen: %s"
-#: pisi/sourcearchive.py:85
+#: pisi/sourcearchive.py:83
msgid "Could not fetch source from %s mirrors."
msgstr "Could not fetch source from %s mirrors."
-#: pisi/sourcearchive.py:103
+#: pisi/sourcearchive.py:101
msgid "unpack: check_file_hash failed"
msgstr "unpack: check_file_hash fehlgeschlagen"
-#: pisi/sourcedb.py:59 pisi/sourcedb.py:65
+#: pisi/sourcedb.py:54 pisi/sourcedb.py:60
msgid "Source package %s not found"
msgstr "Quell-code Paket %s nicht gefunden"
-#: pisi/specfile.py:141
+#: pisi/specfile.py:139
msgid "URI: %s, type: %s, sha1sum: %s"
msgstr "URI: %s, Typ: %s, Sha1sum: %s"
-#: pisi/specfile.py:208
+#: pisi/specfile.py:206
msgid "Name: %s, version: %s, release: %s, build %s\n"
msgstr "Name: %s, Version: %s, Release: %s, Build %s\n"
-#: pisi/specfile.py:210
+#: pisi/specfile.py:208
msgid "Summary: %s\n"
msgstr "Zusammenfassung: %s\n"
-#: pisi/specfile.py:211
+#: pisi/specfile.py:209
msgid "Description: %s\n"
msgstr "Beschreibung: %s\n"
-#: pisi/specfile.py:212
+#: pisi/specfile.py:210
msgid "Component: %s\n"
msgstr "Kommentar: %s\n"
-#: pisi/specfile.py:213
+#: pisi/specfile.py:211
msgid "Provides: "
msgstr "Bietet:"
-#: pisi/specfile.py:217
+#: pisi/specfile.py:215
msgid "Dependencies: "
msgstr "Abhängigkeiten:"
@@ -2948,47 +3059,43 @@ msgstr "Läuft"
msgid "return value for \"%s\" is %s"
msgstr "Rückgabewert für \"%s\" ist %s"
-#: pisi/util.py:364
+#: pisi/util.py:361
msgid "Including external link '%s'"
msgstr "Externer Link '%s' wird eingebunden"
-#: pisi/util.py:366
+#: pisi/util.py:363
msgid "Including directory '%s'"
msgstr "Verzeichnis '%s' wird eingebunden"
-#: pisi/util.py:440
+#: pisi/util.py:448
msgid "I/O Error: Cannot calculate SHA1 hash of %s"
msgstr "I/O Error: Nicht möglich SHA1-Hash von %s zu berechnen"
-#: pisi/util.py:451
+#: pisi/util.py:459
msgid "Cannot calculate SHA1 hash of given data"
msgstr "Kann SHA1-Hash mit den vorhandenen Daten nicht berechnen"
-#: pisi/util.py:488
+#: pisi/util.py:508
msgid "ERROR: patch (%s) failed"
msgstr "ERROR: Patch (%s) fehlgeschlagen"
-#: pisi/util.py:490
+#: pisi/util.py:510
msgid "ERROR: patch (%s) failed: %s"
msgstr "ERROR: Patch (%s) fehlgeschlagen: %s"
-#: pisi/util.py:536
+#: pisi/util.py:556
msgid "strip command failed for file '%s'!"
msgstr "strip Befehl für die Datei '%s' fehlgeschlagen!"
-#: pisi/util.py:543
+#: pisi/util.py:563
msgid "objcopy (keep-debug) command failed for file '%s'!"
msgstr "Befehl objcopy (keep-debug) fehlgeschlagen für Datei '%s'!"
-#: pisi/util.py:549
+#: pisi/util.py:569
msgid "objcopy (add-debuglink) command failed for file '%s'!"
msgstr "Befehl objcopy (add-debuglink) fehlgeschlagen für Datei '%s'!"
-#: pisi/util.py:610
-msgid "Updating environment..."
-msgstr "Aktualisiere Umgebungsvariablen..."
-
-#: scripts/repostats.py:361
+#: scripts/repostats.py:226
msgid ""
"Duplicate binary packages:\n"
"%s\n"
@@ -2998,11 +3105,7 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:366
-msgid "Unknown file type '%s' in package '%s'"
-msgstr "Unbekannter Datentyp '%s' in Paket '%s'"
-
-#: scripts/repostats.py:422
+#: scripts/repostats.py:301
msgid ""
"Duplicate source packages:\n"
"%s\n"
@@ -3012,17 +3115,14 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:442
-msgid "Source package '%s' has wrong date format '%s'"
-msgstr "Quellcode-Paket '%s' hat falsches Datumsformat '%s'"
-
-#: scripts/repostats.py:481
-msgid "Developer '%s <%s>' has another mail address '%s' in source package '%s'"
+#: scripts/repostats.py:371
+msgid ""
+"Developer '%s <%s>' has another mail address '%s' in source package '%s'"
msgstr ""
"Entwickler '%s <%s>' hat eina andere email adresse '%s' im Quelltext-Paket '%"
"s'"
-#: scripts/repostats.py:564
+#: scripts/repostats.py:467
msgid ""
"Cannot parse '%s':\n"
"%s\n"
@@ -3030,27 +3130,40 @@ msgstr ""
"parsen von '%s' nicht möglich:\n"
"%s\n"
-#: scripts/repostats.py:642
+#: scripts/repostats.py:553
msgid "Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n"
msgstr "Gebrauch: repostats.py [OPTIONEN] quell-repo-pfad [binär-repo-pfad]\n"
-#: scripts/repostats.py:643
+#: scripts/repostats.py:554
msgid "Dont generate the web site.\n"
msgstr "Webseite nicht erzeugen.\n"
-#: scripts/repostats.py:664
+#: scripts/repostats.py:575
msgid "Scanning source repository...\n"
msgstr "Suche im Quellcode - Depot...\n"
-#: scripts/repostats.py:668
+#: scripts/repostats.py:579
msgid "Scanning binary packages...\n"
msgstr "Suche im Binär - Depot...\n"
-#: scripts/repostats.py:673
-msgid "Encountered %d errors! Fix them immediately!\n"
-msgstr "%d Fehler gefunden ! Bitte umgehend korrigieren !\n"
+#, fuzzy
+#~ msgid "History for Package %s not found"
+#~ msgstr "Paket %s nicht gefunden"
-#: scripts/repostats.py:681
-msgid "These dependencies are not available in repository:\n"
-msgstr "Folgende Abhängigkeiten sind nicht im Depot vorhanden:\n"
+#~ msgid "Updating environment..."
+#~ msgstr "Aktualisiere Umgebungsvariablen..."
+#~ msgid "Set search language"
+#~ msgstr "Sprache für Suchfunktion einrichten"
+
+#~ msgid "Unknown file type '%s' in package '%s'"
+#~ msgstr "Unbekannter Datentyp '%s' in Paket '%s'"
+
+#~ msgid "Source package '%s' has wrong date format '%s'"
+#~ msgstr "Quellcode-Paket '%s' hat falsches Datumsformat '%s'"
+
+#~ msgid "Encountered %d errors! Fix them immediately!\n"
+#~ msgstr "%d Fehler gefunden ! Bitte umgehend korrigieren !\n"
+
+#~ msgid "These dependencies are not available in repository:\n"
+#~ msgstr "Folgende Abhängigkeiten sind nicht im Depot vorhanden:\n"
diff --git a/po/es.po b/po/es.po
index 807586fe..40edd606 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: es\n"
-"POT-Creation-Date: 2006-12-09 20:35+EET\n"
+"POT-Creation-Date: 2007-07-05 09:54+EEST\n"
"PO-Revision-Date: 2007-04-18 22:25-0400\n"
"Last-Translator: Christian Faure \n"
"Language-Team: \n"
@@ -17,10 +17,10 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
"X-Generator: KBabel 1.11.4\n"
-#: /usr/lib/python2.4/optparse.py:1
# ...Optik; ver http:....
# "Parser" por "analizador de sintaxis"?
# analizador?
+#: /usr/lib/python2.4/optparse.py:1
msgid ""
"optparse - a powerful, extensible, and easy-to-use option parser.\n"
"\n"
@@ -36,7 +36,8 @@ msgid ""
"For support, use the optik-users@lists.sourceforge.net mailing list\n"
"(http://lists.sourceforge.net/lists/listinfo/optik-users).\n"
msgstr ""
-"optparse - un analizador de opciones, fácil de usar pero potente y ampliable.\n"
+"optparse - un analizador de opciones, fácil de usar pero potente y "
+"ampliable.\n"
"\n"
"Por Greg Ward \n"
"\n"
@@ -95,9 +96,11 @@ msgstr ""
" la línea de comando.\n"
" "
-#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:50
+#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:48
msgid "Return a comma-separated list of option strings & metavariables."
-msgstr "Devolver una lista separada por comas, de cadenas de opciones y meta-variables."
+msgstr ""
+"Devolver una lista separada por comas, de cadenas de opciones y meta-"
+"variables."
#: /usr/lib/python2.4/optparse.py:317
msgid ""
@@ -107,7 +110,7 @@ msgstr ""
"Formato de ayuda con indentación de secciones.\n"
" "
-#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:44
+#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:42
msgid "usage: %s\n"
msgstr "uso: %s\n"
@@ -197,9 +200,12 @@ msgid ""
" "
msgstr ""
"\n"
-" Actualice los valores de opciones de cualquier diccionario, pero solamente\n"
-" use claves del diccionario que ya tienen un atributo correspondiente\n"
-" en si mismo. Cualquier clave en diccionario sin atributo correspondiente se \n"
+" Actualice los valores de opciones de cualquier diccionario, pero "
+"solamente\n"
+" use claves del diccionario que ya tienen un atributo "
+"correspondiente\n"
+" en si mismo. Cualquier clave en diccionario sin atributo "
+"correspondiente se \n"
" va a ignorar silenciosamante.\n"
" "
@@ -260,12 +266,15 @@ msgstr ""
" values : Values = None)\n"
" -> (values : Values, args : [string])\n"
"\n"
-" Analiza las opciones de línea de comando encontrados en 'args' (default:\n"
-" sys.argv[1:]). Cualquier error produce una llamada a 'error()', que\n"
+" Analiza las opciones de línea de comando encontrados en "
+"'args' (default:\n"
+" sys.argv[1:]). Cualquier error produce una llamada a 'error()', "
+"que\n"
" por defecto imprime el mensaje de uso a la salida stderr y llama\n"
" sys.exit() con un mensaje de error. Si exitoso devuelve un par\n"
" (values, args) donde 'values' es una instancia de Values (con todos\n"
-" los valores de las opciones que le fueron pasadas) y 'args' es la lista de argumentos \n"
+" los valores de las opciones que le fueron pasadas) y 'args' es la "
+"lista de argumentos \n"
" que quedan luego de analizar las opciones.\n"
" "
@@ -286,10 +295,13 @@ msgstr ""
" check_values(values : Values, args : [string])\n"
" -> (values : Values, args : [string])\n"
"\n"
-" Verifica la validéz de los valores de las opciones indicadas y de los\n"
-" argumentos sobrantes. Devuelve los valores de opciones y argumentos sobrantes\n"
+" Verifica la validéz de los valores de las opciones indicadas y de "
+"los\n"
+" argumentos sobrantes. Devuelve los valores de opciones y argumentos "
+"sobrantes\n"
" (posiblemente corregidos, completamente nuevos -- como le parezca\n"
-" mejor). La implementación predeterminada simplemente devuelve los valores que se\n"
+" mejor). La implementación predeterminada simplemente devuelve los "
+"valores que se\n"
" le pasaron; las subclases se pueden sobreescribir.\n"
" "
@@ -311,9 +323,11 @@ msgstr ""
" rargs : [string],\n"
" values : Values)\n"
"\n"
-" Procesa argumentos de línea de comando y carga 'values', consumiendo\n"
+" Procesa argumentos de línea de comando y carga 'values', "
+"consumiendo\n"
" opciones y argumentos de 'args'. Si 'allow_interspersed_args' es\n"
-" falso, para con el primer argumento que no es una opción. Si verdadero, acumula los\n"
+" falso, para con el primer argumento que no es una opción. Si "
+"verdadero, acumula los\n"
" argumentos intermedios que no son opciones en 'largs'.\n"
" "
@@ -328,9 +342,11 @@ msgid ""
msgstr ""
"_match_long_opt(opt : string) -> string\n"
"\n"
-" Determina con cual opción de cadena larga concuerda la cadena 'opt', o sea que, para cual\n"
+" Determina con cual opción de cadena larga concuerda la cadena 'opt', "
+"o sea que, para cual\n"
" de ellos es una abreviatura no ambigua. Produce BadOptionError si\n"
-" 'opt' no coincide de manera no-ambigua con uno de las opciones de cadena larga.\n"
+" 'opt' no coincide de manera no-ambigua con uno de las opciones de "
+"cadena larga.\n"
" "
#: /usr/lib/python2.4/optparse.py:1376 /usr/lib/python2.4/optparse.py:1415
@@ -349,8 +365,8 @@ msgstr "ls opción %s no toma un valor"
msgid "no such option: %s"
msgstr "no existe la opción: %s"
-#: /usr/lib/python2.4/optparse.py:1454
# alguna mejor idea para "retornar" ?
+#: /usr/lib/python2.4/optparse.py:1454
msgid ""
"error(msg : string)\n"
"\n"
@@ -380,9 +396,11 @@ msgstr ""
"print_usage(file : file = stdout)\n"
"\n"
" Imprime el mensaje de uso para el programa actual (self.usage) a\n"
-" 'file' (por defecto stdout). Cualquier ocurrencia de la cadena \"%prog\" en\n"
+" 'file' (por defecto stdout). Cualquier ocurrencia de la cadena \"%"
+"prog\" en\n"
" self.usage es reemplazado por el nombre del programa actual\n"
-" (nombre de base de sys.argv[0]). No hace nada si self.usage está vacío\n"
+" (nombre de base de sys.argv[0]). No hace nada si self.usage está "
+"vacío\n"
" o no definido.\n"
" "
@@ -399,8 +417,10 @@ msgstr ""
"print_version(file : file = stdout)\n"
"\n"
" Imprime el mensaje de versión del programa actual (self.version) a\n"
-" 'file' (por defecto a stdout). Similar a print_usage(), cualquier ocurrencia\n"
-" de \"%prog\" en self.version es reemplazado por el nombre del programa\n"
+" 'file' (por defecto a stdout). Similar a print_usage(), cualquier "
+"ocurrencia\n"
+" de \"%prog\" en self.version es reemplazado por el nombre del "
+"programa\n"
" actual. No hace nada si self.version está vacío o no definido.\n"
" "
@@ -419,7 +439,8 @@ msgstr ""
"print_help(file : file = stdout)\n"
"\n"
" Imprime un mensaje de ayuda extensa, listando todas las opciones y\n"
-" los textos de ayuda que vienen con ellos, a 'file' (por defecto a stdout).\n"
+" los textos de ayuda que vienen con ellos, a 'file' (por defecto a "
+"stdout).\n"
" "
#: /usr/lib/python2.4/optparse.py:1541
@@ -433,7 +454,8 @@ msgid ""
msgstr ""
"_match_abbrev(s : string, wordmap : {string : Option}) -> string\n"
"\n"
-" Devuelve la cadena clave en 'wordmap' para la cual 's' es una abreviatura\n"
+" Devuelve la cadena clave en 'wordmap' para la cual 's' es una "
+"abreviatura\n"
" no-ambigua. Si 's' resulta ser ambiguo o no concuerda con ninguno de \n"
" 'words', produce BadOptionError.\n"
" "
@@ -461,7 +483,8 @@ msgstr ""
"Una operación de base de datos fue abortada. Debería ejecutar pisi\n"
"de nuevo para el procedimiento de recuperación normal de DB. Asegúrese de \n"
"tener espacio disponible en disco.\n"
-" Debe ejecutar rebuild-db solamente en caso de corrupción de archivos y para actualización de base de datos"
+" Debe ejecutar rebuild-db solamente en caso de corrupción de archivos y para "
+"actualización de base de datos"
#: pisi-cli:57
msgid ""
@@ -487,7 +510,7 @@ msgstr "Registro:"
msgid "Use --debug to see a traceback."
msgstr "Use --debug para ver registro."
-#: pisi/actionsapi/autotools.py:36
+#: pisi/actionsapi/autotools.py:36 pisi/actionsapi/cmaketools.py:36
msgid ""
"Please attach the config.log to your bug report:\n"
"%s/config.log"
@@ -496,8 +519,8 @@ msgstr ""
"%s/config.log"
#: pisi/actionsapi/autotools.py:75 pisi/actionsapi/autotools.py:85
-#: pisi/actionsapi/kde.py:65 pisi/actionsapi/perlmodules.py:54
-#: pisi/actionsapi/perlmodules.py:57
+#: pisi/actionsapi/cmaketools.py:62 pisi/actionsapi/kde.py:65
+#: pisi/actionsapi/perlmodules.py:54 pisi/actionsapi/perlmodules.py:57
msgid "Configure failed."
msgstr "Configuración fallada."
@@ -506,49 +529,57 @@ msgstr "Configuración fallada."
msgid "No configure script found."
msgstr "Script de configuración no encontrado."
-#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/kde.py:72
-#: pisi/actionsapi/perlmodules.py:63 pisi/actionsapi/perlmodules.py:72
-#: pisi/actionsapi/pythonmodules.py:49 pisi/actionsapi/scons.py:39
+#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/cmaketools.py:70
+#: pisi/actionsapi/kde.py:72 pisi/actionsapi/perlmodules.py:63
+#: pisi/actionsapi/perlmodules.py:72 pisi/actionsapi/pythonmodules.py:49
+#: pisi/actionsapi/scons.py:39
msgid "Make failed."
msgstr "Falló Make."
-#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:134
+#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:135
+#: pisi/actionsapi/cmaketools.py:100 pisi/actionsapi/cmaketools.py:110
#: pisi/actionsapi/kde.py:79 pisi/actionsapi/pythonmodules.py:54
#: pisi/actionsapi/scons.py:43
msgid "Install failed."
msgstr "Falló Install"
-#: pisi/actionsapi/autotools.py:126 pisi/actionsapi/autotools.py:136
-#: pisi/actionsapi/kde.py:81
+#: pisi/actionsapi/autotools.py:128 pisi/actionsapi/autotools.py:139
+#: pisi/actionsapi/cmaketools.py:72 pisi/actionsapi/cmaketools.py:104
+#: pisi/actionsapi/cmaketools.py:114 pisi/actionsapi/kde.py:81
msgid "No Makefile found."
msgstr "Archivo para 'make' no encontrado."
-#: pisi/actionsapi/autotools.py:143
+#: pisi/actionsapi/autotools.py:144
msgid "Running aclocal failed."
msgstr "Falló ejecución de aclocal."
-#: pisi/actionsapi/autotools.py:148
+#: pisi/actionsapi/autotools.py:149
msgid "Running autoconf failed."
msgstr "Falló ejecución de autoconf."
-#: pisi/actionsapi/autotools.py:153
+#: pisi/actionsapi/autotools.py:154
msgid "Running autoreconf failed."
msgstr "Falló ejecución de autoreconf."
-#: pisi/actionsapi/autotools.py:158
+#: pisi/actionsapi/autotools.py:159
msgid "Running automake failed."
msgstr "Falló ejecución de automake."
-#: pisi/actionsapi/autotools.py:163
+#: pisi/actionsapi/autotools.py:164
msgid "Running autoheader failed."
msgstr "Falló ejecución de autoheader."
-#: pisi/actionsapi/get.py:163
+#: pisi/actionsapi/cmaketools.py:64
+#, fuzzy
+msgid "No configure script found for cmake."
+msgstr "Script de configuración no encontrado."
+
+#: pisi/actionsapi/get.py:160
msgid "Util %s cannot be found"
msgstr "Utilidad %s no se puede encontrar"
# what is the context of this ?
-#: pisi/actionsapi/get.py:165
+#: pisi/actionsapi/get.py:162
msgid "Warning: %s does not exist, using plain name %s"
msgstr "Alerta: %s no existe, usando nombre simple %s"
@@ -586,8 +617,8 @@ msgstr "falló perl install."
msgid "ActionsAPI [doman]: Wrong man page file: %s"
msgstr "ActionsAPI [doman]: Archivo de ayuda man equivocado: %s"
-#: pisi/actionsapi/pisitools.py:164
# directorio o carpeta ? creo que mezclé los términos
+#: pisi/actionsapi/pisitools.py:164
msgid "ActionsAPI [rename]: No such file or directory: %s"
msgstr "ActionsAPI [rename]: No existe archivo o directorio: %s"
@@ -681,19 +712,19 @@ msgstr "ActionsAPI [copytree]: Carpeta %s no existe."
msgid "ActionsAPI [touch]: Permission denied: %s"
msgstr "ActionsAPI [touch]: Permiso denegado: %s"
-#: pisi/api.py:302 pisi/comariface.py:30
+#: pisi/api.py:299 pisi/comariface.py:30
msgid "comar package is not fully installed"
msgstr "paquete comar no está instalado completamente"
-#: pisi/api.py:314
+#: pisi/api.py:311
msgid "File %s not found"
msgstr "Archivo %s no encontrado"
-#: pisi/api.py:375
+#: pisi/api.py:366
msgid "Checking /%s "
msgstr "Verificando /%s "
-#: pisi/api.py:379
+#: pisi/api.py:370
msgid ""
"\n"
"Corrupt file: %s"
@@ -701,68 +732,68 @@ msgstr ""
"\n"
"Archivo corrupto: %s"
-#: pisi/api.py:381 pisi/cli/commands.py:966
+#: pisi/api.py:372 pisi/cli/commands.py:1046
msgid "OK"
msgstr "OK"
-#: pisi/api.py:394
+#: pisi/api.py:385
msgid "* Building index of PiSi files under %s"
msgstr "* Generando índice de archivos de PiSi en %s"
-#: pisi/api.py:401
+#: pisi/api.py:392
msgid "* Index file written"
msgstr "* Archivo de índice grabado"
-#: pisi/api.py:405
+#: pisi/api.py:396
msgid "Repo %s already present."
msgstr "Repositorio %s ya existe."
-#: pisi/api.py:409
+#: pisi/api.py:400
msgid "Repo %s added to system."
msgstr "Repositorio %s agregado al sistema."
-#: pisi/api.py:415
+#: pisi/api.py:406
msgid "Repo %s removed from system."
msgstr "Repositorio %s removido del sistema."
-#: pisi/api.py:417
+#: pisi/api.py:408
msgid "Repository %s does not exist. Cannot remove."
msgstr "Repositorio %s no existe. No posible remover."
-#: pisi/api.py:424
+#: pisi/api.py:415
msgid "* Updating repository: %s"
msgstr "* Actualizando repositorio: %s"
-#: pisi/api.py:432
+#: pisi/api.py:423
msgid "No updates available for repository %s."
msgstr "No hay actualizaciones disponibles para repositorio %s."
# what do You mean here with "at any rate" ? ok, got it, but will think of better spanish translation. it is not yet in here.
-#: pisi/api.py:434
+#: pisi/api.py:425
msgid "Updating database at any rate as requested"
msgstr "Actualizando base de datos de todas formas según solicitado"
-#: pisi/api.py:445
+#: pisi/api.py:436
msgid "* Package database updated."
msgstr "* Base de datos de paquetes actualizada."
-#: pisi/api.py:447 pisi/api.py:472
+#: pisi/api.py:438 pisi/api.py:463
msgid "No repository named %s found."
msgstr "No se encontró repositorio con nombre %s."
-#: pisi/api.py:455
+#: pisi/api.py:446
msgid "* Rebuilding '%s' named repo... "
msgstr "* Regenerando repositorio con nombre '%s' ... "
-#: pisi/api.py:468
+#: pisi/api.py:459
msgid "Input/Output error while reading %s: %s"
msgstr "Error de Entrada/Salida al leer %s: %s"
-#: pisi/api.py:525
+#: pisi/api.py:516
msgid "Rebuilding package database"
msgstr "Regenerando base de datos de paquetes"
-#: pisi/archive.py:36
+#: pisi/archive.py:37
msgid ""
"An error has occured while running LZMA:\n"
"%s"
@@ -770,37 +801,39 @@ msgstr ""
"Ocurrió un error al ejecutar LZMA:\n"
"%s"
-#: pisi/archive.py:101 pisi/archive.py:161
+#: pisi/archive.py:123 pisi/archive.py:183
msgid "Archive type not recognized"
msgstr "Tipo de archivo desconocido"
-#: pisi/atomicoperations.py:66
+#: pisi/atomicoperations.py:65
msgid "Package %s found in repository %s"
msgstr "Paquete %s encontrado en repositorio %s"
-#: pisi/atomicoperations.py:78
# should it not be "URL" ?
+#: pisi/atomicoperations.py:88
msgid "Package URI: %s"
msgstr "URI de paquete: %s"
-#: pisi/atomicoperations.py:82
+#: pisi/atomicoperations.py:92
msgid "Package %s not found in any active repository."
msgstr "Paquete %s no encontrado en ningún repositorio activo."
-#: pisi/atomicoperations.py:101
+#: pisi/atomicoperations.py:111
msgid "Installing %s, version %s, release %s, build %s"
msgstr "Instalando %s, versión %s, release %s, build %s"
-#: pisi/atomicoperations.py:146
+#: pisi/atomicoperations.py:156
msgid "%s package cannot be installed unless the dependencies are satisfied"
-msgstr "los paquetes %s no se puede instalar hasta que instale los paquetes requeridos"
+msgstr ""
+"los paquetes %s no se puede instalar hasta que instale los paquetes "
+"requeridos"
# check this ?? - probably ok, but see the context
-#: pisi/atomicoperations.py:165
+#: pisi/atomicoperations.py:185
msgid "/%s from %s package\n"
msgstr "/%s de paquete %s\n"
-#: pisi/atomicoperations.py:166
+#: pisi/atomicoperations.py:186
msgid ""
"File conflicts:\n"
"%s"
@@ -808,281 +841,306 @@ msgstr ""
"Archivo en conflicto:\n"
"%s"
-#: pisi/atomicoperations.py:201
+#: pisi/atomicoperations.py:221
msgid "Re-install same version package?"
msgstr "Reinstalar el paquete de la misma versión ?"
-#: pisi/atomicoperations.py:202
# traducir mejor como rechazar o denegar ??
+#: pisi/atomicoperations.py:222
msgid "Package re-install declined"
msgstr "Reinstalación de paquete rechazada"
-#: pisi/atomicoperations.py:208
+#: pisi/atomicoperations.py:228
msgid "Upgrading to new upstream version"
msgstr "Actualizando a nueva versión upstream"
-#: pisi/atomicoperations.py:211
+#: pisi/atomicoperations.py:231
msgid "Upgrading to new distribution release"
msgstr "Actualización a nueva versión (release) de distribución"
-#: pisi/atomicoperations.py:215
+#: pisi/atomicoperations.py:235
msgid "Upgrading to new distribution build"
msgstr "Actualización a nueva versión ('build') de distribución"
-#: pisi/atomicoperations.py:225
+#: pisi/atomicoperations.py:245
msgid "Downgrade to old distribution release?"
msgstr "Revertir hacia versión (release) antigua de distribución ?"
-#: pisi/atomicoperations.py:227
+#: pisi/atomicoperations.py:247
msgid "Downgrade to old distribution build?"
msgstr "Revertir hacia versión ('build') antigua de distribución ?"
-#: pisi/atomicoperations.py:229
+#: pisi/atomicoperations.py:249
msgid "Package downgrade declined"
msgstr "Revertir versión anterior (downgrade) de paquete rechazada"
-#: pisi/atomicoperations.py:253
+#: pisi/atomicoperations.py:273
msgid "%s configuration failed."
msgstr "Falló la configuración %s ."
-#: pisi/atomicoperations.py:340
+#: pisi/atomicoperations.py:396
msgid "Storing %s, "
msgstr "Guardando %s, "
-#: pisi/atomicoperations.py:343
+#: pisi/atomicoperations.py:399
msgid "Storing %s."
msgstr "Guardando %s."
-#: pisi/atomicoperations.py:350
+#: pisi/atomicoperations.py:406
msgid "Storing %s"
msgstr "Guardando %s"
-#: pisi/atomicoperations.py:406
+#: pisi/atomicoperations.py:462
msgid "File list could not be read for package %s, continuing removal."
-msgstr "La lista de archivos no se pudo leer para el paquete %s, continuando eliminación."
+msgstr ""
+"La lista de archivos no se pudo leer para el paquete %s, continuando "
+"eliminación."
-#: pisi/atomicoperations.py:412
+#: pisi/atomicoperations.py:468
msgid "Removing package %s"
msgstr "Eliminando paquete %s"
-#: pisi/atomicoperations.py:415
+#: pisi/atomicoperations.py:471
msgid "Trying to remove nonexistent package "
msgstr "Intentando remover paquete no-existente"
-#: pisi/atomicoperations.py:454
+#: pisi/atomicoperations.py:510
msgid "Not removing conflicted file : %s"
msgstr "Archivo conflictivo: %s no eliminado "
-#: pisi/atomicoperations.py:474
-msgid "Installed file %s is not exists on system [Probably you manually deleted]"
-msgstr "Archivo instalado %s no existe en el sistema [Probablemente eliminado manualmente]"
+#: pisi/atomicoperations.py:530
+msgid ""
+"Installed file %s is not exists on system [Probably you manually deleted]"
+msgstr ""
+"Archivo instalado %s no existe en el sistema [Probablemente eliminado "
+"manualmente]"
-#: pisi/atomicoperations.py:535
+#: pisi/atomicoperations.py:590
msgid "Metadata XML '%s' cannot be found"
msgstr "Metadata XML '%s' no se puede encontrar"
-#: pisi/atomicoperations.py:543
+#: pisi/atomicoperations.py:598
msgid "MetaData format wrong (%s)"
msgstr "Formato de MetaData incorrecto (%s)"
-#: pisi/atomicoperations.py:545
+#: pisi/atomicoperations.py:600
msgid "* Adding '%s' to db... "
msgstr "* Agregando '%s' a db... "
-#: pisi/atomicoperations.py:551
+#: pisi/atomicoperations.py:606
msgid "Files XML '%s' cannot be found"
msgstr "Archivos XML '%s' no se pueden encontrar"
-#: pisi/atomicoperations.py:556 pisi/package.py:136
+#: pisi/atomicoperations.py:611 pisi/package.py:141
msgid "Invalid %s"
msgstr "%s no es válido"
-#: pisi/atomicoperations.py:565
+#: pisi/atomicoperations.py:620
msgid "OK."
msgstr "OK."
-#: pisi/build.py:88
# depende del contexto - verificar si se puede mejorar..
+#: pisi/build.py:85
msgid "Path %s belongs in multiple packages"
msgstr "Ruta %s pertenece a múltiples paquetes"
-#: pisi/build.py:114
+#: pisi/build.py:111
msgid "Source URI: %s"
msgstr "URI Fuente: %s"
-#: pisi/build.py:118
+#: pisi/build.py:115
msgid "Source %s not found in any active repository."
msgstr "Fuente %s no encontrada en repositorios activos."
-#: pisi/build.py:183
+#: pisi/build.py:185
msgid "Building PiSi source package: %s"
msgstr "Generando paquete fuente PiSi: %s"
-#: pisi/build.py:229
+#: pisi/build.py:230
msgid "IceCream detected. Make sure your daemon is up and running..."
-msgstr "IceCream detectado. Asegurese que el demónio está activo y funcionando..."
+msgstr ""
+"IceCream detectado. Asegurese que el demónio está activo y funcionando..."
-#: pisi/build.py:234
+#: pisi/build.py:235
msgid "CCache detected..."
msgstr "CCache detectado..."
-#: pisi/build.py:287
+#: pisi/build.py:297
msgid "PartOf tag not defined, looking for component"
msgstr "ParteOf tag no definido, buscando componente"
-#: pisi/build.py:297
+#: pisi/build.py:307
msgid "Cannot find component.xml in upper directory"
msgstr "No se pudo encontrar component.xml en directorio superior"
-#: pisi/build.py:301
+#: pisi/build.py:311
msgid "Source is part of %s component"
msgstr "Fuente es parte de componente %s "
-#: pisi/build.py:305
+#: pisi/build.py:315
msgid "Fetching source from: %s"
msgstr "Trayendo fuente desde: %s"
-#: pisi/build.py:307
+#: pisi/build.py:317
msgid "Source archive is stored: %s/%s"
msgstr "Archivo de fuente guardado: %s/%s"
-#: pisi/build.py:311
+#: pisi/build.py:321
msgid "Unpacking archive..."
msgstr "Descompactando archivo..."
-#: pisi/build.py:313
+#: pisi/build.py:325
msgid " unpacked (%s)"
msgstr " descompactado (%s)"
-#: pisi/build.py:318
+#: pisi/build.py:330
msgid "Setting up source..."
msgstr "Configurando fuente..."
-#: pisi/build.py:323
+#: pisi/build.py:335
msgid "Building source..."
msgstr "Generando fuente..."
-#: pisi/build.py:328
+#: pisi/build.py:340
+#, fuzzy
+msgid "Testing package..."
+msgstr "Creando Paquete PiSi %s."
+
+#: pisi/build.py:344
msgid "Installing..."
msgstr "Instalando..."
-#: pisi/build.py:370
+#: pisi/build.py:386
msgid "Unable to read Actions Script (%s): %s"
msgstr "No posible leer Script de Acciones (%s): %s"
-#: pisi/build.py:372
+#: pisi/build.py:388
msgid "SyntaxError in Actions Script (%s): %s"
msgstr "Error de Sintaxis en Script de Acciones (%s): %s"
-#: pisi/build.py:389
+#: pisi/build.py:405
msgid "Unable to read COMAR script (%s): %s"
msgstr "No posible leer Script de COMAR (%s): %s"
-#: pisi/build.py:391
+#: pisi/build.py:407
msgid "SyntaxError in COMAR file (%s): %s"
msgstr "Error de Sintaxis en archivo COMAR (%s): %s"
-#: pisi/build.py:417
+#: pisi/build.py:419
+#, fuzzy
+msgid "Sandbox violation: %s (%s -> %s)"
+msgstr "opción ambigua: %s (%s?)"
+
+#: pisi/build.py:453
+#, fuzzy
+msgid "Sandbox violations!"
+msgstr "opciones de indexar"
+
# no suea bien, pero está correcto segun ingles. pero quizá querían decir otra cosa ?
# quizá quieren decir: no posible llamar/ejecutar rutina del achivo de acciones ??
+#: pisi/build.py:456
msgid "unable to call function from actions: %s"
msgstr "no posible llamar función desde acciones: %s"
# did I get "safety switch" right (in this context)?
-#: pisi/build.py:433
-msgid "Safety switch: following extra packages in system.devel will be installed: "
+#: pisi/build.py:473
+msgid ""
+"Safety switch: following extra packages in system.devel will be installed: "
msgstr ""
-"Verificación de seguridad: Se instalarán los siguientes paquetes adicionales en "
-"system.devel:"
+"Verificación de seguridad: Se instalarán los siguientes paquetes adicionales "
+"en system.devel:"
-#: pisi/build.py:438
+#: pisi/build.py:478
msgid "Safety switch: system.devel is already installed"
msgstr "Verificación de seguridad: system.devel ya está instalado"
-#: pisi/build.py:440
+#: pisi/build.py:480
msgid "Safety switch: the component system.devel cannot be found"
-msgstr "Verificación de seguridad: No posible encontrar el componente system.devel"
+msgstr ""
+"Verificación de seguridad: No posible encontrar el componente system.devel"
-#: pisi/build.py:449
# satisfechas - entiendo que se refiere a librerias necesarias para hacer el proceso build
# quizá hay mejor manera de decirlo en español
+#: pisi/build.py:489
msgid "Unsatisfied Build Dependencies:"
msgstr "Dependencias Build no satisfechas:"
-#: pisi/build.py:453
+#: pisi/build.py:493
msgid "Cannot build package due to unsatisfied build dependencies"
msgstr "No es posible generar el paquete por dependencias build no satisfechas"
-#: pisi/build.py:461
+#: pisi/build.py:501
msgid "Build dependency %s cannot be satisfied"
msgstr "Dependencia build %s no se puede satisfacer"
-#: pisi/build.py:463
+#: pisi/build.py:503
msgid "Do you want to install the unsatisfied build dependencies"
msgstr "Quiere instalar las dependencias build faltantes "
-#: pisi/build.py:464
+#: pisi/build.py:504
msgid "Installing build dependencies."
msgstr "Instalando dependencias build"
-#: pisi/build.py:469
+#: pisi/build.py:509
msgid "Ignoring build dependencies."
msgstr "Ignorando dependencias build"
-#: pisi/build.py:479
+#: pisi/build.py:519
msgid "Patch file is missing: %s\n"
msgstr "Falta el archivo de parche: %s\n"
-#: pisi/build.py:492
+#: pisi/build.py:532
msgid "* Applying patch: %s"
msgstr "* Aplicando parche: %s"
-#: pisi/build.py:550
+#: pisi/build.py:592
msgid "Stripping files.."
msgstr "Quitando archivos.."
-#: pisi/build.py:656
+#: pisi/build.py:692
msgid "(found old version %s)"
msgstr "(encontrado versión antigua %s)"
-#: pisi/build.py:658
+#: pisi/build.py:694
msgid "Skipping %s with wrong pkg name "
msgstr "Omitiendo %s con nombre de pkg incorrecto"
-#: pisi/build.py:679
+#: pisi/build.py:715
+#, fuzzy
msgid "(no previous build found, setting build no to 1.)"
msgstr "(no se encontró build anterior, seteando número de build a 1.)"
-#: pisi/build.py:724
+#: pisi/build.py:760
msgid "(old package lacks a build no, setting build no to 1.)"
-msgstr "(paquete antiguo no tiene número de build, seteando número de build a 1.)"
+msgstr ""
+"(paquete antiguo no tiene número de build, seteando número de build a 1.)"
-#: pisi/build.py:727
+#: pisi/build.py:763
msgid "There are changes, incrementing build no to %d"
msgstr "Hay cambios, incrementando número de build a %d"
-#: pisi/build.py:730
+#: pisi/build.py:766
msgid "There is no change from previous build %d"
msgstr "No hay cambios en relación al build anterior %d"
-#: pisi/build.py:795
+#: pisi/build.py:831
msgid "No user named '%s' found on the system"
msgstr "Nombre de usuario '%s' no encontrado en el sistema"
-#: pisi/build.py:800
+#: pisi/build.py:836
msgid "No group named '%s' found on the system"
msgstr "Nombre de grupo '%s' no encontrado en el sistema"
-#: pisi/build.py:803
# oops, aqui falta traducir. pero como se puede decir ?
+#: pisi/build.py:839
msgid "** Building package %s"
msgstr "** Construyendo paquete %s"
-#: pisi/build.py:805 pisi/build.py:808
+#: pisi/build.py:841 pisi/build.py:844
msgid "Generating %s,"
msgstr "Generando %s,"
-#: pisi/build.py:814
+#: pisi/build.py:850
msgid ""
"Build number is not available. For repo builds you must enable buildno in "
"pisi.conf."
@@ -1090,113 +1148,114 @@ msgstr ""
"Número de build no disponible. Para builds de repo buildno debe estar "
"habilitado en pisi.conf."
-#: pisi/build.py:832
+#: pisi/build.py:868
msgid "Creating PiSi package %s."
msgstr "Creando Paquete PiSi %s."
-#: pisi/build.py:877
# podria ser tambien "Fin" o "Listo"
+#: pisi/build.py:913 pisi/delta.py:93
msgid "Done."
msgstr "Hecho."
-#: pisi/build.py:883
+#: pisi/build.py:919
msgid "Abandoned files under the install dir (%s):"
msgstr "Archivos abandonados en carpeta de instalación (%s):"
-#: pisi/build.py:887
# revisa este por favor
-msgid "All of the files under the install dir (%s) has been collected by package(s)"
+#: pisi/build.py:923
+msgid ""
+"All of the files under the install dir (%s) has been collected by package(s)"
msgstr ""
"Todos los archivos de la carpeta de instalación (%s) se juntaron en los "
"paquetes"
-#: pisi/build.py:891
+#: pisi/build.py:927
msgid "Cleaning Build Directory..."
msgstr "Limpiando Carpeta Build..."
-#: pisi/build.py:894
+#: pisi/build.py:930
msgid "Keeping Build Directory"
msgstr "Conservando Carpeta Build"
-#: pisi/cli/__init__.py:79
+#: pisi/cli/__init__.py:76
msgid "Warning: "
msgstr "Alerta:"
-#: pisi/cli/__init__.py:88
+#: pisi/cli/__init__.py:85
msgid "Error: "
msgstr "Error: "
# is this to translate ? would it work if i change this ?
-#: pisi/cli/__init__.py:120
+#: pisi/cli/__init__.py:117
msgid " (yes/no)"
msgstr " (yes/no)"
-#: pisi/cli/__init__.py:141
+#: pisi/cli/__init__.py:138
msgid " [complete]\n"
msgstr " [complete]\n"
-#: pisi/cli/__init__.py:151
+#: pisi/cli/__init__.py:148
msgid "Installed %s"
msgstr "Instalado %s"
-#: pisi/cli/__init__.py:153
+#: pisi/cli/__init__.py:150
msgid "Removed %s"
msgstr "Removido %s"
-#: pisi/cli/__init__.py:155
+#: pisi/cli/__init__.py:152
msgid "Upgraded %s"
msgstr "Actualizado %s"
-#: pisi/cli/__init__.py:157
+#: pisi/cli/__init__.py:154
msgid "Configured %s"
msgstr "Configurado %s"
-#: pisi/cli/__init__.py:159
+#: pisi/cli/__init__.py:156
msgid "Extracting the files of %s"
msgstr "Extrayendo los archivos de %s"
-#: pisi/cli/commands.py:94
+#: pisi/cli/commands.py:92
msgid "generic help string for any command"
msgstr "cadena de ayuda genérica para cualquier comando"
-#: pisi/cli/commands.py:123 pisi/cli/pisicli.py:104
+#: pisi/cli/commands.py:121 pisi/cli/pisicli.py:101
msgid "Unrecognized command: %s"
msgstr "Comando desconocido: %s"
-#: pisi/cli/commands.py:145
+#: pisi/cli/commands.py:143
msgid "common options"
msgstr "opciones comúnes"
-#: pisi/cli/commands.py:148
+#: pisi/cli/commands.py:146
msgid "general options"
msgstr "opciones generales"
# "Change" is meant to be imperative ? like "please do.." ? (or is it like "The change")
# como entender "root" ??
-#: pisi/cli/commands.py:151
+#: pisi/cli/commands.py:149
msgid "Change the system root for PiSi commands"
msgstr "Cambiar la raíz del sistema para los comandos PiSi"
-#: pisi/cli/commands.py:153
+#: pisi/cli/commands.py:151
msgid "Assume yes in all yes/no queries"
msgstr "Asumir Sí (yes) en todas las consultas Sí/No (yes/no)"
-#: pisi/cli/commands.py:158
+#: pisi/cli/commands.py:156
msgid "Detailed output"
msgstr "Detalles"
-#: pisi/cli/commands.py:160
+#: pisi/cli/commands.py:158
msgid "Show debugging information"
msgstr "Mostrar información de depuración"
-#: pisi/cli/commands.py:162
+#: pisi/cli/commands.py:160
msgid "Suppresses all coloring of PiSi's output"
msgstr "No colorear mensajes de PiSi"
# there must be a better choice for "fallback" (in spanish)..doesn't come to my mind right now
# funcion auxiliar de reserva - funcion de respaldo
# entiendo: .. se va a llamar solamente si el modulo que lo llama no tiene su propia funcion "options"
-#: pisi/cli/commands.py:169
+#: pisi/cli/commands.py:167
msgid ""
"This is a fall back function. If the implementer module provides an\n"
" options function it will be called"
@@ -1204,43 +1263,43 @@ msgstr ""
"Esto es una función de respaldo. Si el módulo que lo implemente provee \n"
" una función de opciones, lo va a llamar"
-#: pisi/cli/commands.py:181
+#: pisi/cli/commands.py:179
msgid "Destination directory %s does not exist. Creating directory.\n"
msgstr "Carpeta destino %s no existe. Creando carpeta.\n"
-#: pisi/cli/commands.py:203
+#: pisi/cli/commands.py:201
msgid "Password: "
msgstr "Contraseña: "
-#: pisi/cli/commands.py:209
+#: pisi/cli/commands.py:207
msgid "initialize PiSi components"
msgstr "inicializar componentes PiSi "
-#: pisi/cli/commands.py:217
+#: pisi/cli/commands.py:215
msgid "do cleanup work for PiSi components"
msgstr "hacer limpieza para los componentes PiSi"
-#: pisi/cli/commands.py:231
+#: pisi/cli/commands.py:229
msgid "print help for the command"
msgstr "imprimir ayuda para el comando"
-#: pisi/cli/commands.py:237
+#: pisi/cli/commands.py:235
msgid "exit program"
msgstr "salir del programa"
-#: pisi/cli/commands.py:239
+#: pisi/cli/commands.py:237
msgid "Command terminated abnormally."
msgstr "Comando terminado de manera anormal"
-#: pisi/cli/commands.py:249
+#: pisi/cli/commands.py:247
msgid "Command lacks name"
msgstr "Al comando le falta el nombre"
-#: pisi/cli/commands.py:253
+#: pisi/cli/commands.py:251
msgid "Duplicate command %s"
msgstr "Comando duplicado %s"
-#: pisi/cli/commands.py:262
+#: pisi/cli/commands.py:260
msgid ""
"Prints help for given commands\n"
"\n"
@@ -1254,7 +1313,7 @@ msgstr ""
"\n"
"Cuando se ejecuta sin parámetros imprime la ayuda general."
-#: pisi/cli/commands.py:296
+#: pisi/cli/commands.py:294
msgid ""
"Clean stale locks\n"
"\n"
@@ -1271,7 +1330,7 @@ msgstr ""
"el acceso a base de datos.\n"
"Este comando elimina archivos lock sin uso de la carpeta de la base de datos."
-#: pisi/cli/commands.py:315
+#: pisi/cli/commands.py:313
msgid ""
"Delete cache files\n"
"\n"
@@ -1289,7 +1348,7 @@ msgstr ""
"guardanen la carpeta /var. Al acumularse pueden\n"
"consumir un gran espacio en disco."
-#: pisi/cli/commands.py:336
+#: pisi/cli/commands.py:334
msgid ""
"Graph package relations\n"
"\n"
@@ -1309,49 +1368,48 @@ msgstr ""
"muestra las relaciones de paquetes entre los paquetes del repositorio y\n"
"guarda el paquete en formato graphviz en 'pgraph.dot'.\n"
-#: pisi/cli/commands.py:353
+#: pisi/cli/commands.py:351
msgid "graph options"
msgstr "opciones del gráfico"
-#: pisi/cli/commands.py:357
+#: pisi/cli/commands.py:355
msgid "Specify a particular repository"
msgstr "Especificar un repositorio determinado"
-#: pisi/cli/commands.py:360
+#: pisi/cli/commands.py:358
msgid "Graph of installed packages"
msgstr "Gráfico de paquetes instalados"
-#: pisi/cli/commands.py:363
+#: pisi/cli/commands.py:361
msgid "Do not show installed packages"
msgstr "No mostrar paquetes instalados"
-#: pisi/cli/commands.py:366
+#: pisi/cli/commands.py:364
msgid "Dot output file"
msgstr "Archivo salida Dot"
-#: pisi/cli/commands.py:377
+#: pisi/cli/commands.py:375
msgid "Plotting packages in repository %s"
msgstr "Ploteando paquetes de repositorio %s"
-#: pisi/cli/commands.py:383
+#: pisi/cli/commands.py:381
msgid "Plotting a graph of relations among all repository packages"
msgstr ""
-"Ploteando un gráfico de relaciones entre todos los paquetes en "
-"repositorio"
+"Ploteando un gráfico de relaciones entre todos los paquetes en repositorio"
-#: pisi/cli/commands.py:390
+#: pisi/cli/commands.py:388
msgid "Plotting a graph of relations among all installed packages"
msgstr "Ploteando un gráfico de relaciones entre todos los paquetes instalados"
-#: pisi/cli/commands.py:402
+#: pisi/cli/commands.py:400
msgid "Do not take build no into account."
msgstr "Ignorar número de build."
-#: pisi/cli/commands.py:407
+#: pisi/cli/commands.py:405
msgid "Do not take dependency information into account"
msgstr "Ignorar información de dependencias"
-#: pisi/cli/commands.py:411
+#: pisi/cli/commands.py:409
msgid ""
"Build PiSi packages\n"
"\n"
@@ -1373,47 +1431,65 @@ msgstr ""
"Como alternativa se puede indicar la ubicación de un paquete de fuentes,\n"
" para descargarlo de un repositorio de fuentes.\n"
-#: pisi/cli/commands.py:433
+#: pisi/cli/commands.py:432
msgid "build options"
msgstr "opciones de build"
-#: pisi/cli/commands.py:441
+#: pisi/cli/commands.py:440 pisi/cli/commands.py:527
msgid "Output directory for produced packages"
msgstr "Carpeta de salida para paquetes producidos"
-#: pisi/cli/commands.py:444
# verificar, está bien asi ? "bypass"
+#: pisi/cli/commands.py:443
msgid "Bypass errors from ActionsAPI"
msgstr "Omitir errores del ActionsAPI"
# check?
# tiene que ver con mensajes anteriores.. safety switch: xx.. (mensaje)
-#: pisi/cli/commands.py:446 pisi/cli/commands.py:554
+#: pisi/cli/commands.py:445 pisi/cli/commands.py:610
msgid "Bypass safety switch"
msgstr "Omitir la verificación de seguridad"
-#: pisi/cli/commands.py:448
+# check?
+# tiene que ver con mensajes anteriores.. safety switch: xx.. (mensaje)
+#: pisi/cli/commands.py:447
+#, fuzzy
+msgid "Bypass testing step"
+msgstr "Omitir la verificación de seguridad"
+
+#: pisi/cli/commands.py:449
msgid "Create a static package with ar files"
msgstr "Crear un paquete estático con archivos ar"
-#: pisi/cli/commands.py:450
# asi lo entiendo, favor verificar
-msgid "Do not install build dependencies, fail if a build dependency is present"
-msgstr "No instalar dependencias de build, producir una falla si una dependencia de build es necesaria"
+#: pisi/cli/commands.py:451
+msgid ""
+"Do not install build dependencies, fail if a build dependency is present"
+msgstr ""
+"No instalar dependencias de build, producir una falla si una dependencia de "
+"build es necesaria"
-#: pisi/cli/commands.py:452
+#: pisi/cli/commands.py:453
msgid "PiSi binary package formats: '1.0', '1.1' (default)"
msgstr "Formatos bínarios de paquetes PiSi: '1.0', '1.1' (default)"
#: pisi/cli/commands.py:455
+msgid "Use quilt patch management system instead of GNU patch"
+msgstr ""
+
+#: pisi/cli/commands.py:457
+msgid "Do not constrain build process inside the build folder"
+msgstr ""
+
+#: pisi/cli/commands.py:460
msgid "build steps"
msgstr "pasos build"
-#: pisi/cli/commands.py:457
+#: pisi/cli/commands.py:462
msgid "Break build after fetching the source archive"
msgstr "Interrumpir build luego de buscar el archivo fuente"
-#: pisi/cli/commands.py:459
+#: pisi/cli/commands.py:464
msgid ""
"Break build after unpacking the source archive, checking sha1sum and "
"applying patches"
@@ -1421,36 +1497,59 @@ msgstr ""
"Interrumpir build luego de descompactar el archivo fuente, verificando "
"sha1sum y aplicando parches"
-#: pisi/cli/commands.py:461
+#: pisi/cli/commands.py:466
msgid "Break build after running configure step"
msgstr "Interrumpir build luego de ejecutar el paso de configure"
-#: pisi/cli/commands.py:463
+#: pisi/cli/commands.py:468
msgid "Break build after running compile step"
msgstr "Interrumpir build luego de compilar"
-#: pisi/cli/commands.py:465
+#: pisi/cli/commands.py:470
+#, fuzzy
+msgid "Break build after running check step"
+msgstr "Interrumpir build luego de compilar"
+
+#: pisi/cli/commands.py:472
msgid "Break build after running install step"
msgstr "Interrumpir build luego de ejecutar install"
-#: pisi/cli/commands.py:467
+#: pisi/cli/commands.py:474
msgid "create PiSi package"
msgstr "crear paquete PiSi"
-#: pisi/cli/commands.py:481
+#: pisi/cli/commands.py:488
msgid "package_format must be one of %s "
msgstr "package_format debe ser uno de %s "
-#: pisi/cli/commands.py:484 pisi/cli/commands.py:533
+#: pisi/cli/commands.py:491 pisi/cli/commands.py:540 pisi/cli/commands.py:589
msgid "Output directory: %s"
msgstr "Carpeta de salida: %s"
# sense is "current directory" i think ?
-#: pisi/cli/commands.py:486
+#: pisi/cli/commands.py:493 pisi/cli/commands.py:542
msgid "Outputting packages in the working directory."
msgstr "Guardando paquetes en la carpeta actual."
-#: pisi/cli/commands.py:497
+#: pisi/cli/commands.py:504
+msgid ""
+"Creates delta PiSi packages\n"
+"\n"
+"Usage: delta oldpackage newpackage\n"
+"\n"
+"Delta command finds the changed files between the given packages by "
+"comparing the sha1sum of the files\n"
+"and creates a delta pisi package with the changed files between two "
+"releases.\n"
+"\n"
+msgstr ""
+
+#: pisi/cli/commands.py:521
+#, fuzzy
+msgid "delta options"
+msgstr "opciones de indexar"
+
+#: pisi/cli/commands.py:553
msgid ""
"Build and install PiSi source packages from repository\n"
"\n"
@@ -1471,36 +1570,36 @@ msgstr ""
"Tambien se puede dar el nombre de un componente.\n"
# no idea, i should know the context :(
-#: pisi/cli/commands.py:516
+#: pisi/cli/commands.py:572
msgid "emerge options"
msgstr "Opciones emerge"
-#: pisi/cli/commands.py:519 pisi/cli/commands.py:592 pisi/cli/commands.py:656
+#: pisi/cli/commands.py:575 pisi/cli/commands.py:648 pisi/cli/commands.py:716
msgid "Ignore file conflicts"
msgstr "Ignorar conflictos de archivos"
-#: pisi/cli/commands.py:521 pisi/cli/commands.py:594 pisi/cli/commands.py:658
+#: pisi/cli/commands.py:577 pisi/cli/commands.py:650 pisi/cli/commands.py:718
msgid "Ignore package conflicts"
msgstr "Ignorar confllictos de paquetes"
-#: pisi/cli/commands.py:523 pisi/cli/commands.py:552
+#: pisi/cli/commands.py:579 pisi/cli/commands.py:608
msgid "Bypass comar configuration agent"
msgstr "Omitir al agente de configuración comar"
-#: pisi/cli/commands.py:535
+#: pisi/cli/commands.py:591
msgid "Outputting binary packages in the package cache."
msgstr "Guardando paquetes binarios en el cache de paquetes."
-#: pisi/cli/commands.py:543
+#: pisi/cli/commands.py:599
msgid "Abstract package operation command"
msgstr "Comando de operación de paquete abstracto"
-#: pisi/cli/commands.py:556
+#: pisi/cli/commands.py:612
msgid "Do not perform any action, just show what would be done"
msgstr "No hacer nada, solamente mostrar lo que se haría"
-#: pisi/cli/commands.py:567
# espero que la idea está bien asi "expanded"
+#: pisi/cli/commands.py:623
msgid ""
"Install PiSi packages\n"
"\n"
@@ -1516,30 +1615,32 @@ msgstr ""
"\n"
"Uso: install ... \n"
"\n"
-"Se puede usar nombres de archivos, URI's o nombres de paquetes para los paquetes. Si\n"
-"se especifíca un nombre de paquete, éste debería existir en un repositorio especificado.\n"
+"Se puede usar nombres de archivos, URI's o nombres de paquetes para los "
+"paquetes. Si\n"
+"se especifíca un nombre de paquete, éste debería existir en un repositorio "
+"especificado.\n"
"\n"
"Tambien se pueden indicar componentes en vez de nombres de paquetes, que se\n"
"completarán a nombres de paquetes.\n"
-#: pisi/cli/commands.py:585
+#: pisi/cli/commands.py:641
msgid "install options"
msgstr "Opciones de instalación"
-#: pisi/cli/commands.py:590
+#: pisi/cli/commands.py:646
msgid "Reinstall already installed packages"
msgstr "Reinstalar paquetes ya instalados"
# check here: should be the idea be here - "dependent" (instead of "recursive")?
-#: pisi/cli/commands.py:596
+#: pisi/cli/commands.py:652
msgid "Install component's and recursive components' packages"
msgstr "Instalar paquetes de componente y de componentes relacionados"
-#: pisi/cli/commands.py:598 pisi/cli/commands.py:662
+#: pisi/cli/commands.py:654 pisi/cli/commands.py:722
msgid "Fetch upgrades but do not install."
msgstr "Descargar actualizaciones pero no instalar"
-#: pisi/cli/commands.py:621
+#: pisi/cli/commands.py:681
msgid ""
"Upgrade PiSi packages\n"
"\n"
@@ -1572,26 +1673,27 @@ msgstr ""
"el paquete correspondiente en los repositorios. Si quiere solamente\n"
" reinstalar un paquete de un archivo PiSi file, use el comando install.\n"
"\n"
-"Tambien se pueden especificar componentes en vez de nombres de paquetes, que \n"
+"Tambien se pueden especificar componentes en vez de nombres de paquetes, "
+"que \n"
"se autocompletará a nombres de paquetes.\n"
-#: pisi/cli/commands.py:647
+#: pisi/cli/commands.py:707
msgid "upgrade options"
msgstr "opciones de actualización"
-#: pisi/cli/commands.py:652
+#: pisi/cli/commands.py:712
msgid "Security related package upgrades only"
msgstr "Solamente actualizaciones de seguridad"
-#: pisi/cli/commands.py:654
+#: pisi/cli/commands.py:714
msgid "Do not update repositories"
msgstr "No actualizar repositorios"
-#: pisi/cli/commands.py:660
+#: pisi/cli/commands.py:720
msgid "Upgrade component's and recursive components' packages"
msgstr "Actualizar componentes y recursivamente paquetes del componente"
-#: pisi/cli/commands.py:664
+#: pisi/cli/commands.py:724
msgid ""
"When upgrading system, ignore packages and components whose basenames match "
"pattern."
@@ -1600,7 +1702,7 @@ msgstr ""
"coincide con el patrón."
# translated as if "..whose basenames contain the pattern string"
-#: pisi/cli/commands.py:666
+#: pisi/cli/commands.py:726
msgid ""
"When upgrading system, ignore packages and components whose "
"basenames match any pattern contained in file."
@@ -1608,15 +1710,15 @@ msgstr ""
"Ignorar paquetes y componentes para la actualización, cuyo nombre base "
"contiene el patrón."
-#: pisi/cli/commands.py:706
+#: pisi/cli/commands.py:770
msgid "Updating repositories"
msgstr "Actualizando repositorios"
-#: pisi/cli/commands.py:711
+#: pisi/cli/commands.py:775
msgid "Will not update repositories"
msgstr "No se actualizarán los repositorios"
-#: pisi/cli/commands.py:733
+#: pisi/cli/commands.py:800
msgid ""
"Remove PiSi packages\n"
"\n"
@@ -1638,15 +1740,15 @@ msgstr ""
"que \n"
"se autocompletará a nombres de paquetes.\n"
-#: pisi/cli/commands.py:750
+#: pisi/cli/commands.py:817
msgid "remove options"
msgstr "opciones de remover"
-#: pisi/cli/commands.py:753
+#: pisi/cli/commands.py:820
msgid "Remove component's and recursive components' packages"
msgstr "Remover paquetes del componente y de componentes relacionados"
-#: pisi/cli/commands.py:775
+#: pisi/cli/commands.py:842
msgid ""
"Configure pending packages\n"
"\n"
@@ -1662,11 +1764,11 @@ msgstr ""
"de paquetes pendientes a configurar. Este comando \n"
"configura los paquetes en esta situación.\n"
-#: pisi/cli/commands.py:791
+#: pisi/cli/commands.py:858
msgid "configure-pending options"
msgstr "Opciones de configuración de pendientes"
-#: pisi/cli/commands.py:803
+#: pisi/cli/commands.py:870
msgid ""
"Display package information\n"
"\n"
@@ -1680,64 +1782,65 @@ msgstr ""
"\n"
" puede ser nombre de un paquete o de un archivo .pisi,\n"
-#: pisi/cli/commands.py:818
+#: pisi/cli/commands.py:885
msgid "info options"
msgstr "opciones de info"
-#: pisi/cli/commands.py:825
+#: pisi/cli/commands.py:892
msgid "Show a list of package files."
msgstr "Mostrar lista de archivos de paquetes"
-#: pisi/cli/commands.py:827
+#: pisi/cli/commands.py:894
msgid "Info about the given component"
msgstr "Infos acerca del componente"
-#: pisi/cli/commands.py:830
+#: pisi/cli/commands.py:897
msgid "Show only paths."
msgstr "Mostrar solamente rutas"
-#: pisi/cli/commands.py:832
+#: pisi/cli/commands.py:899
msgid "Do not show details"
msgstr "No mostrar detalles"
-#: pisi/cli/commands.py:834
+#: pisi/cli/commands.py:901
msgid "Output in xml format"
msgstr "Salida en formato xml"
-#: pisi/cli/commands.py:880
+#: pisi/cli/commands.py:947
msgid "Package file: %s"
msgstr "Archivo de paquete: %s"
-#: pisi/cli/commands.py:886
+#: pisi/cli/commands.py:953
msgid "[inst] "
msgstr "[inst] "
-#: pisi/cli/commands.py:888
+#: pisi/cli/commands.py:955
msgid "Installed package:"
msgstr "Paquete instalado:"
-#: pisi/cli/commands.py:894
+#: pisi/cli/commands.py:961
msgid "[repo] "
msgstr "[repo] "
-#: pisi/cli/commands.py:896
-msgid "Package found in repository:"
+#: pisi/cli/commands.py:963
+#, fuzzy
+msgid "Package found in %s repository:"
msgstr "Paquete encontrado en repositorio:"
-#: pisi/cli/commands.py:900
+#: pisi/cli/commands.py:967
msgid "%s is not found in repositories"
msgstr "%s no encontrado en repositorios"
-#: pisi/cli/commands.py:903
+#: pisi/cli/commands.py:970
msgid "%s is not installed"
msgstr "%s no está instalado"
# "Reverse" ne demek ? is this = undo ?
-#: pisi/cli/commands.py:916
+#: pisi/cli/commands.py:981
msgid "Reverse Dependencies:"
msgstr "Dependencias reversas:"
-#: pisi/cli/commands.py:919
+#: pisi/cli/commands.py:984
msgid ""
"\n"
"Files:"
@@ -1745,11 +1848,11 @@ msgstr ""
"\n"
"Archivos:"
-#: pisi/cli/commands.py:927
+#: pisi/cli/commands.py:992
msgid "File information not available"
msgstr "Información de archivo no disponible"
-#: pisi/cli/commands.py:933
+#: pisi/cli/commands.py:998
msgid ""
"Verify installation\n"
"\n"
@@ -1775,15 +1878,25 @@ msgstr ""
"\n"
"Sin nombre de paquete, el comando verifica todos los paquetes instalados.\n"
-#: pisi/cli/commands.py:957
+#: pisi/cli/commands.py:1018
+#, fuzzy
+msgid "check options"
+msgstr "opciones de busqueda"
+
+#: pisi/cli/commands.py:1020
+#, fuzzy
+msgid "Check installed packages under given component"
+msgstr "Listar paquetes instalados de componente "
+
+#: pisi/cli/commands.py:1036
msgid "Checking all installed packages"
msgstr "Verificando todos los paquetes instalados"
-#: pisi/cli/commands.py:960
+#: pisi/cli/commands.py:1040
msgid "* Checking %s... "
msgstr "* Verificando %s... "
-#: pisi/cli/commands.py:964
+#: pisi/cli/commands.py:1044
msgid ""
"\n"
"Package %s is corrupt."
@@ -1791,11 +1904,11 @@ msgstr ""
"\n"
"Paquete %s está corrupto."
-#: pisi/cli/commands.py:968
+#: pisi/cli/commands.py:1048
msgid "Package %s not installed"
msgstr "Paquete %s no está instalado"
-#: pisi/cli/commands.py:973
+#: pisi/cli/commands.py:1053
msgid ""
"Index PiSi files in a given directory\n"
"\n"
@@ -1818,34 +1931,35 @@ msgstr ""
"que por defecto tiene el nombre 'pisi-index.xml'. El comando indexa\n"
"tanto a paquetes fuente como a binarios.\n"
"\n"
-"Cuando se le indica al programa multiples carpetas, la operación funciona igual, pero\n"
+"Cuando se le indica al programa multiples carpetas, la operación funciona "
+"igual, pero\n"
"se junta el resultado en un solo archivo del indexado.\n"
-#: pisi/cli/commands.py:994
+#: pisi/cli/commands.py:1074
msgid "index options"
msgstr "opciones de indexar"
-#: pisi/cli/commands.py:998
+#: pisi/cli/commands.py:1078
msgid "Store absolute links for indexed files."
msgstr "Guardar rutas absolutas para los archivos indexados."
-#: pisi/cli/commands.py:1001
+#: pisi/cli/commands.py:1081
msgid "Index output file"
msgstr "Archivo index de salida"
-#: pisi/cli/commands.py:1004
+#: pisi/cli/commands.py:1084
msgid "Do not index PiSi spec files."
msgstr "No indexar archivos tipo spec de PiSi"
-#: pisi/cli/commands.py:1007
+#: pisi/cli/commands.py:1087
msgid "Do not sign index."
msgstr "No firmar index."
-#: pisi/cli/commands.py:1020
+#: pisi/cli/commands.py:1100
msgid "Indexing current directory."
msgstr "Indexando carpeta actual."
-#: pisi/cli/commands.py:1028
+#: pisi/cli/commands.py:1108
msgid ""
"Print the list of all installed packages\n"
"\n"
@@ -1855,30 +1969,32 @@ msgstr ""
"\n"
"Uso: list-installed\n"
-#: pisi/cli/commands.py:1042
+#: pisi/cli/commands.py:1122
msgid "list-installed options"
msgstr "opciones de list-installed"
-#: pisi/cli/commands.py:1045 pisi/cli/commands.py:1278
-#: pisi/cli/commands.py:1342 pisi/cli/commands.py:1381
-#: pisi/cli/commands.py:1421 pisi/cli/commands.py:1555
+#: pisi/cli/commands.py:1125 pisi/cli/commands.py:1358
+#: pisi/cli/commands.py:1422 pisi/cli/commands.py:1461
+#: pisi/cli/commands.py:1501 pisi/cli/commands.py:1625
msgid "Show in long format"
msgstr "Mostrar formato largo"
-#: pisi/cli/commands.py:1047
+#: pisi/cli/commands.py:1127
msgid "List installed packages under given component"
msgstr "Listar paquetes instalados de componente "
-#: pisi/cli/commands.py:1049 pisi/cli/commands.py:1425
+#: pisi/cli/commands.py:1129 pisi/cli/commands.py:1505
msgid "Show detailed install info"
msgstr "Mostrar detalles de instalación"
# I suppose here the position is important too ! Should be the same ok as in english
-#: pisi/cli/commands.py:1066 pisi/cli/commands.py:1444
-msgid "Package Name |St| Version| Rel.| Build| Distro| Date"
-msgstr "Nombre Paquete |St| Versión| Rel.| Build| Distro| Fecha"
+#: pisi/cli/commands.py:1146 pisi/cli/commands.py:1524
+msgid ""
+"Package Name |St| Version| Rel.| Build| Distro| Date"
+msgstr ""
+"Nombre Paquete |St| Versión| Rel.| Build| Distro| Fecha"
-#: pisi/cli/commands.py:1081
+#: pisi/cli/commands.py:1161
msgid ""
"Rebuild Databases\n"
"\n"
@@ -1898,19 +2014,19 @@ msgstr ""
"Si se indican nombres de paquetes, deberían coincidir con \n"
"carpetas de paquetes en /var/lib/pisi\n"
-#: pisi/cli/commands.py:1099
+#: pisi/cli/commands.py:1179
msgid "rebuild-db options"
msgstr "opciones rebuild-db"
-#: pisi/cli/commands.py:1102
+#: pisi/cli/commands.py:1182
msgid "Rebuild files database"
msgstr "Regenerar base de datos de archivos"
-#: pisi/cli/commands.py:1113
+#: pisi/cli/commands.py:1193
msgid "Rebuild PiSi databases?"
msgstr "Regenerar base de datos PiSi ?"
-#: pisi/cli/commands.py:1120
+#: pisi/cli/commands.py:1200
msgid ""
"Update repository databases\n"
"\n"
@@ -1930,15 +2046,15 @@ msgstr ""
"Synchroniza la base de datos PiSi con el repositorio actual.\n"
"Si no se indica un repositorio, se actualizan todos los repositorios.\n"
-#: pisi/cli/commands.py:1138
+#: pisi/cli/commands.py:1218
msgid "update-repo options"
msgstr "opciones update-repo"
-#: pisi/cli/commands.py:1142
+#: pisi/cli/commands.py:1222
msgid "Update database in any case"
msgstr "Actualizar la base de datos de todas formas"
-#: pisi/cli/commands.py:1160
+#: pisi/cli/commands.py:1240
msgid ""
"Add a repository\n"
"\n"
@@ -1959,28 +2075,29 @@ msgstr ""
": nombre de repositorio a agregar\n"
": URI de archivo indexador\n"
"\n"
-"Si no se indica repo, add-repo agrega por defect el repositorio pardus-devel\n"
+"Si no se indica repo, add-repo agrega por defect el repositorio pardus-"
+"devel\n"
"\n"
"Obs.: Actualmente están soportados solamente archivos locales (ej., /a/b/c) "
"y URIs http:// \n"
-#: pisi/cli/commands.py:1180
+#: pisi/cli/commands.py:1260
msgid "add-repo options"
msgstr "opciones add-repo"
-#: pisi/cli/commands.py:1183
+#: pisi/cli/commands.py:1263
msgid "Add repository at given position (0 is first)"
msgstr "Agregar repositorio en posicion indicada (inicia con 0)"
-#: pisi/cli/commands.py:1197
+#: pisi/cli/commands.py:1277
msgid "Update PiSi database for repository %s?"
msgstr "Actualizar base de datos PiSi para repositorio %s?"
-#: pisi/cli/commands.py:1201
+#: pisi/cli/commands.py:1281
msgid "%s repository could not be reached. Removing %s from system."
msgstr "Repositorio %s inaccesible. Removiendo %s del sistema."
-#: pisi/cli/commands.py:1210
+#: pisi/cli/commands.py:1290
msgid ""
"Remove repositories\n"
"\n"
@@ -1996,7 +2113,7 @@ msgstr ""
# i think translatioin ok, but maybe something nicer/better (in spanish) for "tracked" ?
# observar, vigilar, o simplemente: registrados, configurados .. ??
-#: pisi/cli/commands.py:1236
+#: pisi/cli/commands.py:1316
msgid ""
"List repositories\n"
"\n"
@@ -2010,7 +2127,7 @@ msgstr ""
"\n"
"Lista repositorios que están configurados actualmente.\n"
-#: pisi/cli/commands.py:1259
+#: pisi/cli/commands.py:1339
msgid ""
"List available packages in the repositories\n"
"\n"
@@ -2028,28 +2145,28 @@ msgstr ""
"repositorios especificados. Si no se especifica un repositorio, se listan\n"
"los paquetes de todos los repositorios.\n"
-#: pisi/cli/commands.py:1276
+#: pisi/cli/commands.py:1356
msgid "list-available options"
msgstr "opciones list-available"
-#: pisi/cli/commands.py:1280
# o traducir "con" ?
+#: pisi/cli/commands.py:1360
msgid "List available packages under given component"
msgstr "Listar paquetes disponibles de un componente dado"
-#: pisi/cli/commands.py:1282
+#: pisi/cli/commands.py:1362
msgid "Show uninstalled packages only"
msgstr "Solo muestra paquetes desinstalados"
-#: pisi/cli/commands.py:1290
+#: pisi/cli/commands.py:1370
msgid "Installed packages are shown in this color"
msgstr "Paquetes instalados se muestran en este color"
-#: pisi/cli/commands.py:1298
+#: pisi/cli/commands.py:1378
msgid "Repository : %s\n"
msgstr "Repositorio : %s\n"
-#: pisi/cli/commands.py:1325
+#: pisi/cli/commands.py:1405
msgid ""
"List available components\n"
"\n"
@@ -2065,11 +2182,11 @@ msgstr ""
"Da una lista breve de componentes PiSi publicados en los\n"
"repositorios.\n"
-#: pisi/cli/commands.py:1340
+#: pisi/cli/commands.py:1420
msgid "list-components options"
msgstr "opciones list-components"
-#: pisi/cli/commands.py:1365
+#: pisi/cli/commands.py:1445
msgid ""
"List available sources\n"
"\n"
@@ -2083,11 +2200,11 @@ msgstr ""
"\n"
"Da una lista breve de los fuentes publicados en los repositories.\n"
-#: pisi/cli/commands.py:1379
+#: pisi/cli/commands.py:1459
msgid "list-sources options"
msgstr "opciones list-sources"
-#: pisi/cli/commands.py:1404
+#: pisi/cli/commands.py:1484
msgid ""
"List packages to be upgraded\n"
"\n"
@@ -2101,19 +2218,19 @@ msgstr ""
"\n"
"Lista los paquetes que se actualizarán.\n"
-#: pisi/cli/commands.py:1418
+#: pisi/cli/commands.py:1498
msgid "list-upgrades options"
msgstr "opciones list-upgrades"
-#: pisi/cli/commands.py:1423
+#: pisi/cli/commands.py:1503
msgid "List upgradable packages under given component"
msgstr "Lista de paquetes actualizables de un componente dado"
-#: pisi/cli/commands.py:1440 pisi/operations.py:466
+#: pisi/cli/commands.py:1520 pisi/operations.py:455
msgid "No packages to upgrade."
msgstr "No hay paquetes para actualizar"
-#: pisi/cli/commands.py:1460
+#: pisi/cli/commands.py:1540
msgid ""
"List pending packages\n"
"\n"
@@ -2123,11 +2240,11 @@ msgstr ""
"\n"
"Lista paquetes pendientes a configurar.\n"
-#: pisi/cli/commands.py:1482
+#: pisi/cli/commands.py:1562
msgid "There are no packages waiting to be configured"
msgstr "No hay paquetes pendientes para configurar"
-#: pisi/cli/commands.py:1487
+#: pisi/cli/commands.py:1567
msgid ""
"Search packages\n"
"\n"
@@ -2143,23 +2260,19 @@ msgstr ""
"Busca paquetes con un patrón de búsqueda en\n"
"campos de resumen, descripción y nombre de paquete.\n"
-#: pisi/cli/commands.py:1502
+#: pisi/cli/commands.py:1582
msgid "search options"
msgstr "opciones de busqueda"
-#: pisi/cli/commands.py:1505
-msgid "Set search language"
-msgstr "Establecer idioma de búsqueda"
-
-#: pisi/cli/commands.py:1510
+#: pisi/cli/commands.py:1588
msgid "Show details"
msgstr "Mostrar detalles"
-#: pisi/cli/commands.py:1530
+#: pisi/cli/commands.py:1600
msgid "%s packages found"
msgstr "%s paquetes encontrados"
-#: pisi/cli/commands.py:1539
+#: pisi/cli/commands.py:1609
msgid ""
"Search for a file\n"
"\n"
@@ -2173,36 +2286,36 @@ msgstr ""
"\n"
"Busca el paquete instalado que contiene el archivo indicado.\n"
-#: pisi/cli/commands.py:1553
+#: pisi/cli/commands.py:1623
msgid "search-file options"
msgstr "opciones search-file"
-#: pisi/cli/commands.py:1557
+#: pisi/cli/commands.py:1627
msgid "Fuzzy search"
msgstr "Búsqueda Fuzzy"
-#: pisi/cli/commands.py:1559
+#: pisi/cli/commands.py:1629
msgid "Show only package name"
msgstr "Mostrar solamente nombre de paquete"
# i put in spanish "contains" instead of "has", ok ?
-#: pisi/cli/commands.py:1580
+#: pisi/cli/commands.py:1650
msgid "Package %s has file %s"
msgstr "Paquete %s contiene archivo %s"
-#: pisi/cli/commands.py:1582
+#: pisi/cli/commands.py:1652
msgid "Type: %s, Hash: %s"
msgstr "Tipo: %s, Hash: %s"
-#: pisi/cli/commands.py:1585
+#: pisi/cli/commands.py:1655
msgid "Path '%s' does not belong to an installed package"
msgstr "Ruta '%s' no pertenece a un paquete instalado"
-#: pisi/cli/commands.py:1598
+#: pisi/cli/commands.py:1668
msgid "Searching for %s"
msgstr "Buscando %s"
-#: pisi/cli/commands.py:1608
+#: pisi/cli/commands.py:1678
msgid ""
"%prog [options] [arguments]\n"
"\n"
@@ -2214,7 +2327,7 @@ msgstr ""
"donde es uno de:\n"
"\n"
-#: pisi/cli/commands.py:1614
+#: pisi/cli/commands.py:1684
msgid ""
"\n"
"Use \"%prog help \" for help on a specific command.\n"
@@ -2222,16 +2335,16 @@ msgstr ""
"\n"
"Use \"%prog help \" para ayuda de un comando específico.\n"
-#: pisi/cli/pisicli.py:56
+#: pisi/cli/pisicli.py:53
msgid "Options must precede non-option arguments"
msgstr "Se debe indicar opciones delante de otros argumentos"
-#: pisi/cli/pisicli.py:97
+#: pisi/cli/pisicli.py:94
msgid "No command given"
msgstr "No se dió ningún comando"
# is my idea of "parsing" in spanish correct - or acceptable ?
-#: pisi/cli/pisicli.py:100
+#: pisi/cli/pisicli.py:97
msgid "Command line parsing error"
msgstr "Error de sintaxis de comando"
@@ -2291,61 +2404,71 @@ msgstr "Llamando actuadores previos de remover"
msgid "Unregistering comar scripts"
msgstr "Eliminando scripts comar del registro"
-#: pisi/component.py:97 pisi/component.py:103
+#: pisi/component.py:105 pisi/component.py:111
msgid "Component %s not found"
msgstr "Componente %s no encontrado"
-#: pisi/component.py:199 pisi/component.py:225
+#: pisi/component.py:207 pisi/component.py:233
msgid "Information for component %s not available"
msgstr "Información para componente %s no disponible"
-#: pisi/config.py:61
+#: pisi/config.py:60
msgid "Destination directory %s does not exist. Creating it."
msgstr "Carpeta destino %s no existe. Creando ahora."
-#: pisi/configfile.py:105
+#: pisi/configfile.py:112
msgid "No section by name '%s'"
msgstr "No hay sección con nombre '%s'"
-#: pisi/conflict.py:39 pisi/dependency.py:40
+#: pisi/conflict.py:26 pisi/replace.py:24
msgid " version >= "
msgstr " versión >= "
-#: pisi/conflict.py:41 pisi/dependency.py:42
+#: pisi/conflict.py:28 pisi/replace.py:26
msgid " version <= "
msgstr " versión <= "
-#: pisi/conflict.py:43 pisi/dependency.py:44
+#: pisi/conflict.py:30 pisi/replace.py:28
msgid " version "
msgstr " versión "
-#: pisi/conflict.py:45 pisi/dependency.py:46
+#: pisi/conflict.py:32 pisi/replace.py:30
msgid " release >= "
msgstr " release >= "
-#: pisi/conflict.py:47 pisi/dependency.py:48
+#: pisi/conflict.py:34 pisi/replace.py:32
msgid " release <= "
msgstr " release <= "
-#: pisi/conflict.py:49 pisi/dependency.py:50
+#: pisi/conflict.py:36 pisi/replace.py:34
msgid " release "
msgstr " release "
-#: pisi/constants.py:30
# rebind en español ??
+#: pisi/constants.py:28
msgid "Can't rebind constant: %s"
msgstr "No posible rebind constant: %s"
-#: pisi/constants.py:36
+#: pisi/constants.py:34
msgid "Can't unbind constant: %s"
msgstr "No posible unbind constant: %s"
-#: pisi/dependency.py:107
+#: pisi/delta.py:27
+#, fuzzy
+msgid "Cannot create delta for same package!"
+msgstr "No posible crear la carpeta %s"
+
+#: pisi/delta.py:41
+#, fuzzy
+msgid "Creating delta PiSi package between %s %s"
+msgstr "Creando Paquete PiSi %s."
+
# satisfy - a traducir con "cumplir" ? como suena ?
+#: pisi/dependency.py:55
msgid "%s dependency of package %s is not satisfied"
msgstr "Dependencia %s de paquete %s no está satisfecha"
-#: pisi/dependency.py:120
+#: pisi/dependency.py:68
msgid "Package %s is not present in the package database"
msgstr "Paquete %s no figura en la base de datos de paquetes"
@@ -2362,38 +2485,41 @@ msgid "Access denied to destination file: \"%s\""
msgstr "Acceso denegado a archivo de destino: \"%s\""
#: pisi/fetcher.py:100
-msgid "A problem occured. Please check the archive address and/or permissions again."
-msgstr "Ocurrió un problema. Favor verifique la ubicación y/o los permisos del paquete."
+msgid ""
+"A problem occured. Please check the archive address and/or permissions again."
+msgstr ""
+"Ocurrió un problema. Favor verifique la ubicación y/o los permisos del "
+"paquete."
#: pisi/fetcher.py:158
msgid "No such file or no permission to read"
msgstr "No existe el archivo o no hay permiso de lectura"
-#: pisi/fetcher.py:183
+#: pisi/fetcher.py:182
msgid "Requested range not satisfiable, starting again."
msgstr "Rango solicitado no posible satisfacer, iniciando otra vez."
-#: pisi/fetcher.py:190
+#: pisi/fetcher.py:189
msgid "Cannot fetch %s; value error: %s"
msgstr "Imposible descargar %s; valor de error: %s"
-#: pisi/fetcher.py:192 pisi/fetcher.py:196
+#: pisi/fetcher.py:191 pisi/fetcher.py:195
msgid "Cannot fetch %s; %s"
msgstr "No posible descargar %s; %s"
-#: pisi/fetcher.py:194
+#: pisi/fetcher.py:193
msgid "Please check your network connections and try again. (%s)"
msgstr "Favor verifique su conexión de red y luego intente de nuevo. (%s)"
-#: pisi/fetcher.py:198
+#: pisi/fetcher.py:197
msgid "Cannot fetch %s; (%s): %s"
msgstr "No posible descargar %s; (%s): %s"
-#: pisi/fetcher.py:244
+#: pisi/fetcher.py:243
msgid "Proxy configuration has been found for '%s' protocol"
msgstr "Configuración de proxy se detectó para protocolo '%s' "
-#: pisi/fetcher.py:328 pisi/fetcher.py:349 pisi/fetcher.py:362
+#: pisi/fetcher.py:327 pisi/fetcher.py:348 pisi/fetcher.py:362
msgid "ftp error"
msgstr "error ftp"
@@ -2405,8 +2531,8 @@ msgstr "uri debe ser de tipo URI o string"
msgid "zip compression not supported yet"
msgstr "compresión zip actualmente no soportada"
-#: pisi/file.py:117
# reemplazar traer por - descargar ??
+#: pisi/file.py:117
msgid "Fetching %s"
msgstr "Descargando %s"
@@ -2442,45 +2568,45 @@ msgstr "ERROR: gpg --detach-sig %s falló"
msgid "Encountered cycle %s"
msgstr "Encontrado ciclo (cycle) %s"
-#: pisi/index.py:92
-msgid "Adding %s to package index"
-msgstr "Agregando %s al index de paquetes"
-
-#: pisi/index.py:95
+#: pisi/index.py:97
msgid "Adding %s to component index"
msgstr "Agregando %s a index de componentes"
-#: pisi/index.py:113
+#: pisi/index.py:109
+msgid "Adding %s to package index"
+msgstr "Agregando %s al index de paquetes"
+
+#: pisi/index.py:123
msgid "Updating package database of %s"
msgstr "Actualizando base de datos de paquetes de %s"
-#: pisi/index.py:141
+#: pisi/index.py:152
msgid "Package %s: metadata corrupt, skipping..."
msgstr "Metadata de paquete %s: corrupto, omitiendo..."
# here "source" means - like source code ? (not "base".. )
-#: pisi/index.py:169
+#: pisi/index.py:191
msgid "Adding %s to source index"
msgstr "Agregando %s a index de fuentes"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed"
msgstr "instalado"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed-pending"
msgstr "installed-pending"
# ok ?
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "purged"
msgstr "limpiado"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "removed"
msgstr "removido"
-#: pisi/installdb.py:62
+#: pisi/installdb.py:55
msgid ""
"State: %s\n"
"Version: %s, Release: %s, Build: %s\n"
@@ -2488,45 +2614,50 @@ msgstr ""
"Estado: %s\n"
"Versión: %s, Release: %s, Build: %s\n"
-#: pisi/installdb.py:67
+#: pisi/installdb.py:60
msgid "Distribution: %s, Install Time: %s\n"
msgstr "Distribución: %s, Tiempo de Instalación: %s\n"
-#: pisi/installdb.py:154
+#: pisi/installdb.py:147
msgid "Already installed"
msgstr "Ya instalado"
-#: pisi/itembyrepodb.py:120
+#: pisi/itembyrepodb.py:114
msgid "Invalid repository string"
msgstr "Cadena de repositorio inválida"
-#: pisi/itembyrepodb.py:142
+#: pisi/itembyrepodb.py:136
msgid "Key %s not found"
msgstr "Clave %s no encontrado"
-#: pisi/itembyrepodb.py:152
+#: pisi/itembyrepodb.py:146
msgid "Key %s in repo %s not found"
msgstr "Clave %s no encontrado en repositorio %s "
-#: pisi/lockeddbshelve.py:47
+#: pisi/lockeddbshelve.py:46
+#, fuzzy
msgid "Database version for %s insufficient. Please run rebuild-db command."
-msgstr "Versión de base de datos %s insuficiente. Favor ejecute el comando rebuild-db."
+msgstr ""
+"Versión de base de datos %s insuficiente. Favor ejecute el comando rebuild-"
+"db."
-#: pisi/lockeddbshelve.py:51
-msgid "Database version for %s greater than PiSi version. You need a newer PiSi."
+#: pisi/lockeddbshelve.py:50
+#, fuzzy
+msgid ""
+"Database version for %s greater than PiSi version. You need a newer PiSi."
msgstr ""
"Versión de base de datos %s mayor que versión de PiSi. Necesita una versión "
"PiSi más nueva."
-#: pisi/lockeddbshelve.py:62
+#: pisi/lockeddbshelve.py:61
msgid "Cannot attain write access to database environment"
msgstr "No posible acceder base de datos para escritura"
-#: pisi/lockeddbshelve.py:64
+#: pisi/lockeddbshelve.py:63
msgid "Database version %s not present."
msgstr "Versión de base de datos %s no disponible."
-#: pisi/lockeddbshelve.py:71 pisi/lockeddbshelve.py:153
+#: pisi/lockeddbshelve.py:70 pisi/lockeddbshelve.py:152
msgid ""
"Another instance of PiSi is running. Only one instance is allowed to modify "
"the PiSi database at a time."
@@ -2534,29 +2665,34 @@ msgstr ""
"Otra instancia de PiSi se está ejecutando en este momento. Solamente una de "
"las instancias puede realizar modificaciones en la base de datos de PiSi."
-#: pisi/lockeddbshelve.py:81
+#: pisi/lockeddbshelve.py:80
msgid "Cannot attain read access to database environment"
msgstr "No posible acceder base de datos para lectura"
-#: pisi/lockeddbshelve.py:95
+#: pisi/lockeddbshelve.py:94
msgid ""
"Cannot attain write access to PiSi database. You have to be root for this "
"operation."
-msgstr "No posible escribir en base de datos PiSi. Debe ejecutar esta operación como usuario root."
+msgstr ""
+"No posible escribir en base de datos PiSi. Debe ejecutar esta operación como "
+"usuario root."
-#: pisi/lockeddbshelve.py:113
+#: pisi/lockeddbshelve.py:112
msgid "Cannot attain read or write access to database %s"
msgstr "No posible acceder a base de datos %s para lectura o escritura"
-#: pisi/lockeddbshelve.py:139
-msgid "Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
-msgstr "Banderas deberían ser uno de 'r', 'w', 'c' or 'n' o use las banderas bsddb.db.DB_* "
+#: pisi/lockeddbshelve.py:138
+msgid ""
+"Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
+msgstr ""
+"Banderas deberían ser uno de 'r', 'w', 'c' or 'n' o use las banderas bsddb."
+"db.DB_* "
-#: pisi/metadata.py:58
+#: pisi/metadata.py:74
msgid "Distribution: %s, Dist. Release: %s\n"
msgstr "Distribución: %s, Dist. Release: %s\n"
-#: pisi/metadata.py:60
+#: pisi/metadata.py:76
msgid "Architecture: %s, Installed Size: %s"
msgstr "Arquitectura: %s, Tamaño Instalado: %s"
@@ -2565,11 +2701,12 @@ msgstr "Arquitectura: %s, Tamaño Instalado: %s"
msgid "Mirrors file %s does not exist. Could not resolve mirrors://"
msgstr "Archivo %s no existe en mirror. No posible resolver mirrors://"
-#: pisi/operations.py:114
+#: pisi/operations.py:106
msgid "Mixing file names and package names not supported yet."
-msgstr "Mezclando nombres de archivos y nombres de paquetes actualmente no soportado."
+msgstr ""
+"Mezclando nombres de archivos y nombres de paquetes actualmente no soportado."
-#: pisi/operations.py:156
+#: pisi/operations.py:148
msgid ""
"The following packages will be installed\n"
"in the respective order to satisfy extra dependencies:\n"
@@ -2577,36 +2714,44 @@ msgstr ""
"Se instalarán los siguientes paquetes\n"
"en el orden respectivo para satisfacer las dependencias adicionales:\n"
-#: pisi/operations.py:159 pisi/operations.py:621
+#: pisi/operations.py:151 pisi/operations.py:618
msgid "Do you want to continue?"
msgstr "Desea continuar ?"
-#: pisi/operations.py:160
+#: pisi/operations.py:152
msgid "External dependencies not satisfied"
msgstr "Dependencia externa no satisfecha"
-#: pisi/operations.py:172 pisi/operations.py:339
+#: pisi/operations.py:164 pisi/operations.py:316
msgid "No packages to install."
msgstr "No hay paquetes para instalar."
-#: pisi/operations.py:203
+#: pisi/operations.py:195
msgid "Installation order: "
msgstr "Orden de instalación:"
+#: pisi/operations.py:223
+msgid "Replaced package remains"
+msgstr ""
+
# might be slightly different. i should see the context
-#: pisi/operations.py:257 pisi/operations.py:279
+#: pisi/operations.py:227 pisi/operations.py:255
msgid "Conflicts remain"
msgstr "Conflictos quedan"
-#: pisi/operations.py:267
+#: pisi/operations.py:233
+msgid "Obsoleted packages remaining"
+msgstr ""
+
+#: pisi/operations.py:243
msgid "Selected packages [%s] are in conflict with each other."
msgstr "Paquetes seleccionados [%s] están en conflicto entre ellos."
-#: pisi/operations.py:273
+#: pisi/operations.py:249
msgid "[%s conflicts with: %s]\n"
msgstr "[%s en conflicto con: %s]\n"
-#: pisi/operations.py:275
+#: pisi/operations.py:251
msgid ""
"The following packages have conflicts:\n"
"%s"
@@ -2614,31 +2759,37 @@ msgstr ""
"Los siguientes paquetes tienen conflictos:\n"
"%s"
-#: pisi/operations.py:278
+#: pisi/operations.py:254
msgid "Remove the following conflicting packages?"
msgstr "Remover los siguientes paquetes conflictivos ?"
# I don't know what to say for "Safety switch".. yet
-#: pisi/operations.py:305
+#: pisi/operations.py:282
msgid "Safety switch: Following packages in system.base will be installed: "
-msgstr "Verificación de seguridad: Se instalarán los siguientes paquetes en system.base: "
+msgstr ""
+"Verificación de seguridad: Se instalarán los siguientes paquetes en system."
+"base: "
-#: pisi/operations.py:311
+#: pisi/operations.py:288
msgid "Safety switch: Following packages in system.base will be upgraded: "
-msgstr "Verificación de seguridad: Se actualizarán los siguientes paquetes en system.base: "
+msgstr ""
+"Verificación de seguridad: Se actualizarán los siguientes paquetes en system."
+"base: "
# should this say in english ? "Safety switch: the component cannot be found in system.base" ?? (i did in spanish like this)
-#: pisi/operations.py:317 pisi/operations.py:597
+#: pisi/operations.py:294 pisi/operations.py:594
msgid "Safety switch: the component system.base cannot be found"
-msgstr "Verificación de seguridad: No posible encontrar el componente system.base: "
+msgstr ""
+"Verificación de seguridad: No posible encontrar el componente system.base: "
-#: pisi/operations.py:334
+#: pisi/operations.py:311
msgid ""
"The following package(s) are already installed and are not going to be "
"installed again:\n"
-msgstr "Los siguientes paquetes ya están instalados y no se instalarán de nuevo:\n"
+msgstr ""
+"Los siguientes paquetes ya están instalados y no se instalarán de nuevo:\n"
-#: pisi/operations.py:355
+#: pisi/operations.py:332
msgid ""
"Following packages will be installed in the respective order to satisfy "
"dependencies:\n"
@@ -2646,63 +2797,75 @@ msgstr ""
"Se instalarán los siguientes paquetes en el orden indicado para satisfacer "
"las dependencias:\n"
-#: pisi/operations.py:360 pisi/operations.py:491
+#: pisi/operations.py:337 pisi/operations.py:480
msgid "Total size of package(s): %.2f %s"
msgstr "Tamaño total de paquete(s): %.2f %s"
-#: pisi/operations.py:366 pisi/operations.py:497 pisi/operations.py:709
+#: pisi/operations.py:343 pisi/operations.py:486 pisi/operations.py:705
msgid "There are extra packages due to dependencies. Do you want to continue?"
-msgstr "Hay paquetes adicionales por motivo de dependencias. Quiere continuar ?"
+msgstr ""
+"Hay paquetes adicionales por motivo de dependencias. Quiere continuar ?"
-#: pisi/operations.py:432
+#: pisi/operations.py:412
msgid "Warning: package *name* ends with '.pisi'"
msgstr "Alerta: *name* de paquete termina con '.pisi'"
-#: pisi/operations.py:435
+#: pisi/operations.py:424
msgid "Package %s is not installed."
msgstr "Paquete %s no está instalado."
-#: pisi/operations.py:441
+#: pisi/operations.py:430
msgid "Package %s is not available in repositories."
msgstr "Paquete %s no está disponible en repositorios."
-#: pisi/operations.py:453
+#: pisi/operations.py:442
msgid "Package %s is already at the latest release %s."
msgstr "Paquete %s ya está con su ultima release %s."
-#: pisi/operations.py:459
+#: pisi/operations.py:448
msgid "Package %s is already at the latest build %s."
msgstr "Paquete %s ya está con su último build %s."
-#: pisi/operations.py:486
+#: pisi/operations.py:475
msgid "The following packages will be upgraded: "
msgstr "Se actualizarán los siguientes paquetes: "
-#: pisi/operations.py:552
+#: pisi/operations.py:493
+msgid "Downloading %d / %d"
+msgstr ""
+
+#: pisi/operations.py:511
+#, fuzzy
+msgid "Installing %d / %d"
+msgstr "Instalado %s"
+
+#: pisi/operations.py:548
msgid "Dependency %s of %s cannot be satisfied"
msgstr "Dependencia %s de %s no se puede satisfacer"
-#: pisi/operations.py:553
+#: pisi/operations.py:549
msgid "Upgrade is not possible."
msgstr "Actualización no posible."
-#: pisi/operations.py:568
+#: pisi/operations.py:565
msgid "Reverse dependency %s of %s cannot be satisfied"
msgstr "No se puede satisfacer la dependencia %s de %s"
-#: pisi/operations.py:593
+#: pisi/operations.py:590
msgid "Safety switch: cannot remove the following packages in system.base: "
-msgstr "Verificación de seguridad: no posible remover los paquetes siguientes de system.base: "
+msgstr ""
+"Verificación de seguridad: no posible remover los paquetes siguientes de "
+"system.base: "
-#: pisi/operations.py:604
+#: pisi/operations.py:601
msgid "Package %s does not exist. Cannot remove."
msgstr "Paquete %s no existe. No posible remover."
-#: pisi/operations.py:608
+#: pisi/operations.py:605
msgid "No packages to remove."
msgstr "No hay paquetes para remover."
-#: pisi/operations.py:617
+#: pisi/operations.py:614
msgid ""
"The following minimal list of packages will be removed\n"
"in the respective order to satisfy dependencies:\n"
@@ -2710,19 +2873,19 @@ msgstr ""
"La siguiente lista mínima de paquetes se removerá\n"
"en el orden indicado, para satisfacer las dependencias:\n"
-#: pisi/operations.py:622
+#: pisi/operations.py:619
msgid "Package removal declined"
msgstr "Remover paquetes denegado"
-#: pisi/operations.py:634
+#: pisi/operations.py:631
msgid "Package %s is not installed. Cannot remove."
msgstr "Paquete %s no está instalado. No posible remover."
-#: pisi/operations.py:683
+#: pisi/operations.py:679
msgid "No packages to emerge."
msgstr "No hay paquetes para emerge."
-#: pisi/operations.py:698
+#: pisi/operations.py:694
msgid ""
"The following minimal list of packages will be installed\n"
"from repository in the respective order to satisfy dependencies:\n"
@@ -2730,7 +2893,7 @@ msgstr ""
"Se instalará la siguiente lista mínima de paquetes\n"
"del repositorio en el orden indicado para satisfacer dependencias:\n"
-#: pisi/operations.py:701
+#: pisi/operations.py:697
msgid ""
"The following minimal list of packages will be built and\n"
"installed in the respective order to satisfy dependencies:\n"
@@ -2738,110 +2901,112 @@ msgstr ""
"La siguiente lista mínima de paquetes se generará e instalará\n"
"en el orden indicado, para satisfacer las dependencias:\n"
-#: pisi/operations.py:743
+#: pisi/operations.py:739
msgid "Cannot find source package: %s"
msgstr "No se ha encontrado paquete fuente: %s"
-#: pisi/package.py:56
# en realidad no lo entiendo.., supongo que debe haber un error en el texto en ingles (la ultima frase)
+#: pisi/package.py:56
+#, fuzzy
msgid ""
"There was a problem while fetching '%s'.\n"
"The package may have been upgraded. Please try to upgrade the package."
msgstr ""
"Ocurrió un problema durante descarga de '%s'.\n"
-"El paquete puede ya estar actualizado. Por favor intente actualizar el paquete."
+"El paquete puede ya estar actualizado. Por favor intente actualizar el "
+"paquete."
-#: pisi/package.py:60 pisi/sourcearchive.py:94
+#: pisi/package.py:60 pisi/sourcearchive.py:92
msgid "%s [cached]"
msgstr "%s [cached]"
-#: pisi/package.py:131
+#: pisi/package.py:136
msgid "MetaData format wrong"
msgstr "Formato MetaData incorrecto"
-#: pisi/packagedb.py:66
+#: pisi/packagedb.py:65
msgid "Package %s not found"
msgstr "Paquete %s no encontrado"
-#: pisi/pxml/autoxml.py:77
+#: pisi/pxml/autoxml.py:79
msgid "At least one '%s' tag should have local text"
msgstr "Al menos un tag '%s' debería tener texto local"
-#: pisi/pxml/autoxml.py:84
+#: pisi/pxml/autoxml.py:86
msgid "'%s' language of tag '%s' is empty"
msgstr "Idioma '%s' de tag '%s' está vacío"
-#: pisi/pxml/autoxml.py:112
+#: pisi/pxml/autoxml.py:114
msgid "LocalText: unable to get either current or default locale"
msgstr "LocalText: no posible obtener locale actual o valor por defecto"
-#: pisi/pxml/autoxml.py:118 pisi/pxml/autoxml.py:133
+#: pisi/pxml/autoxml.py:120 pisi/pxml/autoxml.py:135
msgid ""
"Tag should have at least the current locale, or failing that an English or "
"Turkish version"
msgstr ""
-"El tag debería tener al menos un locale actual, o al fallar, una versión "
-"en inglés o turco"
+"El tag debería tener al menos un locale actual, o al fallar, una versión en "
+"inglés o turco"
-#: pisi/pxml/autoxml.py:368
+#: pisi/pxml/autoxml.py:373
msgid "autoxml.check: '%s' errors"
msgstr "autoxml.check: '%s' errores"
-#: pisi/pxml/autoxml.py:423 pisi/pxml/autoxml.py:433
+#: pisi/pxml/autoxml.py:428 pisi/pxml/autoxml.py:438
msgid "autoxml.parse: String '%s' has errors"
msgstr "autoxml.parse: Cadena '%s' tiene errores"
-#: pisi/pxml/autoxml.py:443 pisi/pxml/autoxml.py:453
+#: pisi/pxml/autoxml.py:448 pisi/pxml/autoxml.py:458
msgid "autoxml.read: File '%s' has errors"
msgstr "autoxml.read: Archivo '%s' tiene errores"
-#: pisi/pxml/autoxml.py:461
+#: pisi/pxml/autoxml.py:466
msgid "autoxml.write: object validation has failed"
msgstr "autoxml.write: falló validación de objeto"
-#: pisi/pxml/autoxml.py:469
+#: pisi/pxml/autoxml.py:474
msgid "autoxml.write: File encoding '%s' has errors"
msgstr "autoxml.write: codificación de archivo '%s' tiene errores"
-#: pisi/pxml/autoxml.py:519
+#: pisi/pxml/autoxml.py:524
msgid "gen_tag: unrecognized tag type %s in spec"
msgstr "gen_tag: tipo de tag desconocido %s en spec"
-#: pisi/pxml/autoxml.py:567 pisi/pxml/autoxml.py:578
+#: pisi/pxml/autoxml.py:572 pisi/pxml/autoxml.py:583
msgid "Mandatory variable %s not available"
msgstr "Variable requerida %s no disponible"
-#: pisi/pxml/autoxml.py:648
+#: pisi/pxml/autoxml.py:653
msgid "Type mismatch: read text cannot be decoded"
msgstr "Error de tipo de datos: no posible decodificar cadena de entrada"
# anything better for "token"?
-#: pisi/pxml/autoxml.py:652 pisi/pxml/autoxml.py:661
+#: pisi/pxml/autoxml.py:657 pisi/pxml/autoxml.py:666
msgid "Mandatory token %s not available"
msgstr "Token requerido %s no disponible"
-#: pisi/pxml/autoxml.py:666
+#: pisi/pxml/autoxml.py:671
msgid "Type mismatch. Expected %s, got %s"
msgstr "Error de tipo de datos. Esperado %s, recibido %s"
-#: pisi/pxml/autoxml.py:696 pisi/pxml/autoxml.py:812
+#: pisi/pxml/autoxml.py:701 pisi/pxml/autoxml.py:817
msgid "Type mismatch: DOM cannot be decoded"
msgstr "Error de tipo de datos: no posible decodificar DOM "
-#: pisi/pxml/autoxml.py:699 pisi/pxml/autoxml.py:715 pisi/pxml/autoxml.py:725
-#: pisi/pxml/autoxml.py:815 pisi/pxml/autoxml.py:829 pisi/pxml/autoxml.py:839
+#: pisi/pxml/autoxml.py:704 pisi/pxml/autoxml.py:720 pisi/pxml/autoxml.py:730
+#: pisi/pxml/autoxml.py:820 pisi/pxml/autoxml.py:834 pisi/pxml/autoxml.py:844
msgid "Mandatory argument not available"
msgstr "Argumento requerido no disponible"
-#: pisi/pxml/autoxml.py:712 pisi/pxml/autoxml.py:826
+#: pisi/pxml/autoxml.py:717 pisi/pxml/autoxml.py:831
msgid "Object cannot be encoded"
msgstr "No posible codificar objeto"
-#: pisi/pxml/autoxml.py:737
+#: pisi/pxml/autoxml.py:742
msgid "List type must contain only one element"
msgstr "Tipo de lista debe contener un solo elemento"
-#: pisi/pxml/autoxml.py:750 pisi/pxml/autoxml.py:771
+#: pisi/pxml/autoxml.py:755 pisi/pxml/autoxml.py:776
msgid "Mandatory list \"%s\" under \"%s\" node is empty."
msgstr "Lista requerida \"%s\" bajo nodo \"%s\" está vacía."
@@ -2849,23 +3014,23 @@ msgstr "Lista requerida \"%s\" bajo nodo \"%s\" está vacía."
msgid "getNodeText: Expected text node, got something else!"
msgstr "getNodeText: Esperado nodo de text, recibido algo diferente!"
-#: pisi/pxml/xmlfile.py:64
+#: pisi/pxml/xmlfile.py:63
msgid "String '%s' has invalid XML"
msgstr "Cadena '%s' contiene XML inválido"
-#: pisi/pxml/xmlfile.py:72 pisi/pxml/xmlfile.py:87
+#: pisi/pxml/xmlfile.py:71 pisi/pxml/xmlfile.py:86
msgid "File '%s' has invalid XML"
msgstr "Archivo '%s' contiene XML inválido"
-#: pisi/repodb.py:74
+#: pisi/repodb.py:69
msgid "No repository named %s exists"
msgstr "No existe repositorio con nombre %s"
-#: pisi/repodb.py:83
+#: pisi/repodb.py:78
msgid "Repository %s already exists"
msgstr "Repositorio %s ya existe"
-#: pisi/repodb.py:90
+#: pisi/repodb.py:85
msgid "Cannot add repository at position %s"
msgstr "No posible agregar repositorio en posición %s"
@@ -2881,56 +3046,56 @@ msgstr "Repo ya contiene paquete con nombre %s."
msgid "Repo does not have package named %s."
msgstr "Repo no contiene paquete con nombre %s."
-#: pisi/sourcearchive.py:63
+#: pisi/sourcearchive.py:61
msgid "Trying fallback address: %s"
msgstr "Intentando dirección de respaldo: %s"
-#: pisi/sourcearchive.py:74
+#: pisi/sourcearchive.py:72
msgid "%s mirrors are not defined."
msgstr "%s repositorios no están definidos."
-#: pisi/sourcearchive.py:79
+#: pisi/sourcearchive.py:77
msgid "Fetching source from mirror: %s"
msgstr "Descargando fuente desde %s"
-#: pisi/sourcearchive.py:85
+#: pisi/sourcearchive.py:83
msgid "Could not fetch source from %s mirrors."
msgstr "No posible descargar fuentes desde %s."
-#: pisi/sourcearchive.py:103
+#: pisi/sourcearchive.py:101
msgid "unpack: check_file_hash failed"
msgstr "unpack: check_file_hash falló"
-#: pisi/sourcedb.py:59 pisi/sourcedb.py:65
+#: pisi/sourcedb.py:54 pisi/sourcedb.py:60
msgid "Source package %s not found"
msgstr "Paquete fuente %s no encontrado"
-#: pisi/specfile.py:141
+#: pisi/specfile.py:139
msgid "URI: %s, type: %s, sha1sum: %s"
msgstr "URI: %s, tipo: %s, sha1sum: %s"
-#: pisi/specfile.py:208
+#: pisi/specfile.py:206
msgid "Name: %s, version: %s, release: %s, build %s\n"
msgstr "Nombre: %s, version: %s, release: %s, build %s\n"
-#: pisi/specfile.py:210
+#: pisi/specfile.py:208
msgid "Summary: %s\n"
msgstr "Resumen: %s\n"
-#: pisi/specfile.py:211
+#: pisi/specfile.py:209
msgid "Description: %s\n"
msgstr "Descripción: %s\n"
-#: pisi/specfile.py:212
+#: pisi/specfile.py:210
msgid "Component: %s\n"
msgstr "Componente: %s\n"
-#: pisi/specfile.py:213
# o simplemente "contiene" ?
+#: pisi/specfile.py:211
msgid "Provides: "
msgstr "Provee: "
-#: pisi/specfile.py:217
+#: pisi/specfile.py:215
msgid "Dependencies: "
msgstr "Dependencias: "
@@ -2946,47 +3111,43 @@ msgstr "Ejecutando"
msgid "return value for \"%s\" is %s"
msgstr "valor devuelto de \"%s\" es %s"
-#: pisi/util.py:364
+#: pisi/util.py:361
msgid "Including external link '%s'"
msgstr "Incluyendo link externo '%s'"
-#: pisi/util.py:366
+#: pisi/util.py:363
msgid "Including directory '%s'"
msgstr "Incluyendo carpeta '%s'"
-#: pisi/util.py:440
+#: pisi/util.py:448
msgid "I/O Error: Cannot calculate SHA1 hash of %s"
msgstr "I/O Error: No posible calcular hash SHA1 de %s"
-#: pisi/util.py:451
+#: pisi/util.py:459
msgid "Cannot calculate SHA1 hash of given data"
msgstr "No posible calcular hash SHA1 de datos indicados"
-#: pisi/util.py:488
+#: pisi/util.py:508
msgid "ERROR: patch (%s) failed"
msgstr "ERROR: parche (%s) falló"
-#: pisi/util.py:490
+#: pisi/util.py:510
msgid "ERROR: patch (%s) failed: %s"
msgstr "ERROR: parche (%s) falló: %s"
-#: pisi/util.py:536
+#: pisi/util.py:556
msgid "strip command failed for file '%s'!"
msgstr "comando strip falló para archivo '%s'!"
-#: pisi/util.py:543
+#: pisi/util.py:563
msgid "objcopy (keep-debug) command failed for file '%s'!"
msgstr "comando objcopy (keep-debug) falló para archivo '%s'!"
-#: pisi/util.py:549
+#: pisi/util.py:569
msgid "objcopy (add-debuglink) command failed for file '%s'!"
msgstr "comando objcopy (add-debuglink) falló para archivo '%s'!"
-#: pisi/util.py:610
-msgid "Updating environment..."
-msgstr "Actualizando entorno..."
-
-#: scripts/repostats.py:361
+#: scripts/repostats.py:226
msgid ""
"Duplicate binary packages:\n"
"%s\n"
@@ -2996,11 +3157,7 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:366
-msgid "Unknown file type '%s' in package '%s'"
-msgstr "Tipo de archivo '%s' desconocido en paquete '%s' "
-
-#: scripts/repostats.py:422
+#: scripts/repostats.py:301
msgid ""
"Duplicate source packages:\n"
"%s\n"
@@ -3010,15 +3167,14 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:442
-msgid "Source package '%s' has wrong date format '%s'"
-msgstr "Paquete de fuente '%s' tiene formato de fecha incorrecto '%s'"
+#: scripts/repostats.py:371
+msgid ""
+"Developer '%s <%s>' has another mail address '%s' in source package '%s'"
+msgstr ""
+"Desarrollador '%s <%s>' tiene otra dirección email '%s' en archivo fuente '%"
+"s'"
-#: scripts/repostats.py:481
-msgid "Developer '%s <%s>' has another mail address '%s' in source package '%s'"
-msgstr "Desarrollador '%s <%s>' tiene otra dirección email '%s' en archivo fuente '%s'"
-
-#: scripts/repostats.py:564
+#: scripts/repostats.py:467
msgid ""
"Cannot parse '%s':\n"
"%s\n"
@@ -3026,27 +3182,41 @@ msgstr ""
"No posible analizar '%s':\n"
"%s\n"
-#: scripts/repostats.py:642
+#: scripts/repostats.py:553
msgid "Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n"
msgstr "Uso: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n"
-#: scripts/repostats.py:643
+#: scripts/repostats.py:554
msgid "Dont generate the web site.\n"
msgstr "No generar sitio web.\n"
-#: scripts/repostats.py:664
+#: scripts/repostats.py:575
msgid "Scanning source repository...\n"
msgstr "Buscando en repositorio de fuentes...\n"
-#: scripts/repostats.py:668
+#: scripts/repostats.py:579
msgid "Scanning binary packages...\n"
msgstr "Buscando paquetes binarios...\n"
-#: scripts/repostats.py:673
-msgid "Encountered %d errors! Fix them immediately!\n"
-msgstr "%d errores encontrados! Corríjalos de inmediato!\n"
+#, fuzzy
+#~ msgid "History for Package %s not found"
+#~ msgstr "Paquete %s no encontrado"
-#: scripts/repostats.py:681
-msgid "These dependencies are not available in repository:\n"
-msgstr "Las siguientes dependencias no están disponibles en el repositorio:\n"
+#~ msgid "Updating environment..."
+#~ msgstr "Actualizando entorno..."
+#~ msgid "Set search language"
+#~ msgstr "Establecer idioma de búsqueda"
+
+#~ msgid "Unknown file type '%s' in package '%s'"
+#~ msgstr "Tipo de archivo '%s' desconocido en paquete '%s' "
+
+#~ msgid "Source package '%s' has wrong date format '%s'"
+#~ msgstr "Paquete de fuente '%s' tiene formato de fecha incorrecto '%s'"
+
+#~ msgid "Encountered %d errors! Fix them immediately!\n"
+#~ msgstr "%d errores encontrados! Corríjalos de inmediato!\n"
+
+#~ msgid "These dependencies are not available in repository:\n"
+#~ msgstr ""
+#~ "Las siguientes dependencias no están disponibles en el repositorio:\n"
diff --git a/po/fr.po b/po/fr.po
index 51035522..8784d42f 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: fr\n"
-"POT-Creation-Date: 2006-12-12 14:29+EET\n"
+"POT-Creation-Date: 2007-07-05 09:54+EEST\n"
"PO-Revision-Date: 2007-03-17 17:16+0200\n"
"Last-Translator: Amine Chadly \n"
"Language-Team: French \n"
@@ -16,7 +16,6 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
#: /usr/lib/python2.4/optparse.py:1
-#, docstring
msgid ""
"optparse - a powerful, extensible, and easy-to-use option parser.\n"
"\n"
@@ -49,7 +48,6 @@ msgstr ""
"(http://lists.sourceforge.net/lists/listinfo/optik-users).\n"
#: /usr/lib/python2.4/optparse.py:93
-#, docstring
msgid ""
"\n"
" Raised if an Option instance is created with invalid or\n"
@@ -62,7 +60,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:109
-#, docstring
msgid ""
"\n"
" Raised if conflicting options are added to an OptionParser.\n"
@@ -73,7 +70,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:114
-#, docstring
msgid ""
"\n"
" Raised if an invalid option value is encountered on the command\n"
@@ -86,23 +82,23 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:120
-#, docstring
msgid ""
"\n"
" Raised if an invalid or ambiguous option is seen on the command-line.\n"
" "
msgstr ""
"\n"
-" Levée si une option invalide ou ambiguë est vue dans la ligne de commande.\n"
+" Levée si une option invalide ou ambiguë est vue dans la ligne de "
+"commande.\n"
" "
-#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:50
-#, docstring
+#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:48
msgid "Return a comma-separated list of option strings & metavariables."
-msgstr "Retourne une liste de chaînes d'options & de métavariables séparées par des virgules."
+msgstr ""
+"Retourne une liste de chaînes d'options & de métavariables séparées par des "
+"virgules."
#: /usr/lib/python2.4/optparse.py:317
-#, docstring
msgid ""
"Format help with indented section bodies.\n"
" "
@@ -110,12 +106,11 @@ msgstr ""
"Réarrange l'aide en indentant le corps des sections.\n"
" "
-#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:44
+#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:42
msgid "usage: %s\n"
msgstr "utilisation : %s\n"
#: /usr/lib/python2.4/optparse.py:336
-#, docstring
msgid ""
"Format help with underlined section headers.\n"
" "
@@ -152,7 +147,6 @@ msgid "option %s: invalid choice: %r (choose from %s)"
msgstr "option %s: choix invalide : %r (choisir parmi %s)"
#: /usr/lib/python2.4/optparse.py:382
-#, docstring
msgid ""
"\n"
" Instance attributes:\n"
@@ -193,7 +187,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:781
-#, docstring
msgid ""
"\n"
" Update the option values from an arbitrary dictionary, but only\n"
@@ -210,7 +203,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:794
-#, docstring
msgid ""
"\n"
" Update the option values from an arbitrary dictionary,\n"
@@ -225,7 +217,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:926
-#, docstring
msgid ""
"add_option(Option)\n"
" add_option(opt_str, ..., kwarg=val, ...)\n"
@@ -248,7 +239,6 @@ msgid "%prog [options]"
msgstr "%prog [options]"
#: /usr/lib/python2.4/optparse.py:1246
-#, docstring
msgid ""
"\n"
" parse_args(args : [string] = sys.argv[1:],\n"
@@ -281,7 +271,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:1285
-#, docstring
msgid ""
"\n"
" check_values(values : Values, args : [string])\n"
@@ -308,15 +297,16 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:1298
-#, docstring
msgid ""
"_process_args(largs : [string],\n"
" rargs : [string],\n"
" values : Values)\n"
"\n"
" Process command-line arguments and populate 'values', consuming\n"
-" options and arguments from 'rargs'. If 'allow_interspersed_args' is\n"
-" false, stop at the first non-option argument. If true, accumulate any\n"
+" options and arguments from 'rargs'. If 'allow_interspersed_args' "
+"is\n"
+" false, stop at the first non-option argument. If true, accumulate "
+"any\n"
" interspersed non-option arguments in 'largs'.\n"
" "
msgstr ""
@@ -326,13 +316,14 @@ msgstr ""
"\n"
" Procède à l'analyse des arguments de la ligne de commande et peuple\n"
" 'values', consommant les options et les arguments de 'rargs'. Si \n"
-" 'allow_interspersed_args' est à false, s'arrête au premier argument qui\n"
-" n'est pas une option. Si établi à true, accumule tout argument intercalé\n"
+" 'allow_interspersed_args' est à false, s'arrête au premier argument "
+"qui\n"
+" n'est pas une option. Si établi à true, accumule tout argument "
+"intercalé\n"
" qui n'est pas une option dans 'largs'.\n"
" "
#: /usr/lib/python2.4/optparse.py:1349
-#, docstring
msgid ""
"_match_long_opt(opt : string) -> string\n"
"\n"
@@ -366,7 +357,6 @@ msgid "no such option: %s"
msgstr "Option inexistante : %s"
#: /usr/lib/python2.4/optparse.py:1454
-#, docstring
msgid ""
"error(msg : string)\n"
"\n"
@@ -377,13 +367,14 @@ msgid ""
msgstr ""
"error(msg : string)\n"
"\n"
-" Affiche un message d'utilisation incorporant 'msg' dans stderr puis sort.\n"
+" Affiche un message d'utilisation incorporant 'msg' dans stderr puis "
+"sort.\n"
" Si vous surchargez dans une sous-classe, la méthode ne doit \n"
-" pas rendre la main -- Elle devrait soit quitter, soit lever une exception.\n"
+" pas rendre la main -- Elle devrait soit quitter, soit lever une "
+"exception.\n"
" "
#: /usr/lib/python2.4/optparse.py:1471
-#, docstring
msgid ""
"print_usage(file : file = stdout)\n"
"\n"
@@ -396,15 +387,16 @@ msgid ""
msgstr ""
"print_usage(file : file = stdout)\n"
"\n"
-" Affiche le message d'utilisation pour le programme courant (self.usage) \n"
-" dans 'file' (par défaut stdout). Toute occurence de la chaîne \"%prog\" dans\n"
+" Affiche le message d'utilisation pour le programme courant (self."
+"usage) \n"
+" dans 'file' (par défaut stdout). Toute occurence de la chaîne \"%"
+"prog\" dans\n"
" self.usage est remplacée par le nom du programme courant\n"
" (nom de base de sys.argv[0]). Ne fait rien si self.usage est vide\n"
" ou indéfinie.\n"
" "
#: /usr/lib/python2.4/optparse.py:1489
-#, docstring
msgid ""
"print_version(file : file = stdout)\n"
"\n"
@@ -428,7 +420,6 @@ msgid "options"
msgstr "options"
#: /usr/lib/python2.4/optparse.py:1528
-#, docstring
msgid ""
"print_help(file : file = stdout)\n"
"\n"
@@ -444,7 +435,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:1541
-#, docstring
msgid ""
"_match_abbrev(s : string, wordmap : {string : Option}) -> string\n"
"\n"
@@ -475,11 +465,14 @@ msgstr "Programme définitivement interrompu."
#: pisi-cli:52
msgid ""
"A database operation has been aborted. You should run pisi\n"
-"again for normal DB recovery procedure. Make sure you have free disk space. \n"
-"You have to run rebuild-db only when there is file corruption and database upgrades."
+"again for normal DB recovery procedure. Make sure you have free disk "
+"space. \n"
+"You have to run rebuild-db only when there is file corruption and database "
+"upgrades."
msgstr ""
"Une opération relative à la base de données a été abandonnée.\n"
-"Veuillez lancer pisi une nouvelle fois afin de suivre la procédure normale de\n"
+"Veuillez lancer pisi une nouvelle fois afin de suivre la procédure normale "
+"de\n"
"reprise DB. Faîtes bien en sorte d'avoir suffisamment d'espace disque.\n"
"Vous ne devez lancer rebuild-db que lorsqu'un fichier est corrompu ou lors \n"
"de mises à jour de la base."
@@ -490,7 +483,8 @@ msgid ""
"Please file a bug report. (http://bugs.uludag.org.tr)"
msgstr ""
"Exception interne non gérée.\n"
-"Veuillez signaler le disfonctionnement s'il vous plaît. (http://bugs.uludag.org.tr)"
+"Veuillez signaler le disfonctionnement s'il vous plaît. (http://bugs.uludag."
+"org.tr)"
#: pisi-cli:63
msgid "System Error. Program Terminated."
@@ -508,17 +502,18 @@ msgstr "Pile d'exécution : "
msgid "Use --debug to see a traceback."
msgstr "Utiliser --debug pour voir une pile d'exécution."
-#: pisi/actionsapi/autotools.py:36
+#: pisi/actionsapi/autotools.py:36 pisi/actionsapi/cmaketools.py:36
msgid ""
"Please attach the config.log to your bug report:\n"
"%s/config.log"
msgstr ""
-"Veuillez attacher le config.log à votre rapport de disfonctionnement s'il vous plaît :\n"
+"Veuillez attacher le config.log à votre rapport de disfonctionnement s'il "
+"vous plaît :\n"
"%s/config.log"
#: pisi/actionsapi/autotools.py:75 pisi/actionsapi/autotools.py:85
-#: pisi/actionsapi/kde.py:65 pisi/actionsapi/perlmodules.py:54
-#: pisi/actionsapi/perlmodules.py:57
+#: pisi/actionsapi/cmaketools.py:62 pisi/actionsapi/kde.py:65
+#: pisi/actionsapi/perlmodules.py:54 pisi/actionsapi/perlmodules.py:57
msgid "Configure failed."
msgstr "Échec du configure."
@@ -527,48 +522,56 @@ msgstr "Échec du configure."
msgid "No configure script found."
msgstr "Pas de script configure trouvé."
-#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/kde.py:72
-#: pisi/actionsapi/perlmodules.py:63 pisi/actionsapi/perlmodules.py:72
-#: pisi/actionsapi/pythonmodules.py:49 pisi/actionsapi/scons.py:39
+#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/cmaketools.py:70
+#: pisi/actionsapi/kde.py:72 pisi/actionsapi/perlmodules.py:63
+#: pisi/actionsapi/perlmodules.py:72 pisi/actionsapi/pythonmodules.py:49
+#: pisi/actionsapi/scons.py:39
msgid "Make failed."
msgstr "Échec du make."
-#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:134
+#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:135
+#: pisi/actionsapi/cmaketools.py:100 pisi/actionsapi/cmaketools.py:110
#: pisi/actionsapi/kde.py:79 pisi/actionsapi/pythonmodules.py:54
#: pisi/actionsapi/scons.py:43
msgid "Install failed."
msgstr "Échec de l'installation."
-#: pisi/actionsapi/autotools.py:126 pisi/actionsapi/autotools.py:136
-#: pisi/actionsapi/kde.py:81
+#: pisi/actionsapi/autotools.py:128 pisi/actionsapi/autotools.py:139
+#: pisi/actionsapi/cmaketools.py:72 pisi/actionsapi/cmaketools.py:104
+#: pisi/actionsapi/cmaketools.py:114 pisi/actionsapi/kde.py:81
msgid "No Makefile found."
msgstr "Pas de Makefile trouvé."
-#: pisi/actionsapi/autotools.py:143
+#: pisi/actionsapi/autotools.py:144
msgid "Running aclocal failed."
msgstr "L'exécution de aclocal a échoué."
-#: pisi/actionsapi/autotools.py:148
+#: pisi/actionsapi/autotools.py:149
msgid "Running autoconf failed."
msgstr "L'exécution de autoconf a échoué."
-#: pisi/actionsapi/autotools.py:153
+#: pisi/actionsapi/autotools.py:154
msgid "Running autoreconf failed."
msgstr "L'exécution de autoreconf a échoué."
-#: pisi/actionsapi/autotools.py:158
+#: pisi/actionsapi/autotools.py:159
msgid "Running automake failed."
msgstr "L'exécution de automake a échoué."
-#: pisi/actionsapi/autotools.py:163
+#: pisi/actionsapi/autotools.py:164
msgid "Running autoheader failed."
msgstr "L'exécution de autoheader a échoué."
-#: pisi/actionsapi/get.py:163
+#: pisi/actionsapi/cmaketools.py:64
+#, fuzzy
+msgid "No configure script found for cmake."
+msgstr "Pas de script configure trouvé."
+
+#: pisi/actionsapi/get.py:160
msgid "Util %s cannot be found"
msgstr "L'utilitaire %s n'a pu être trouvé"
-#: pisi/actionsapi/get.py:165
+#: pisi/actionsapi/get.py:162
msgid "Warning: %s does not exist, using plain name %s"
msgstr "Attention : %s n'existe pas, utilisation du simple nom %s"
@@ -579,7 +582,8 @@ msgid ""
"%s/config.log"
msgstr ""
"\n"
-"!!! Veuillez attacher le config.log à votre rapport de disfonctionnement s'il vous plaît :\n"
+"!!! Veuillez attacher le config.log à votre rapport de disfonctionnement "
+"s'il vous plaît :\n"
"%s/config.log"
#: pisi/actionsapi/libtools.py:38
@@ -700,19 +704,19 @@ msgstr "ActionsAPI [copytree]: Le repertoire %s n'existe pas."
msgid "ActionsAPI [touch]: Permission denied: %s"
msgstr "ActionsAPI [touch]: Permission refusée : %s"
-#: pisi/api.py:302 pisi/comariface.py:30
+#: pisi/api.py:299 pisi/comariface.py:30
msgid "comar package is not fully installed"
msgstr "Le paquet comar n'est pas entièrement installé"
-#: pisi/api.py:314
+#: pisi/api.py:311
msgid "File %s not found"
msgstr "Le fichier %s est introuvable"
-#: pisi/api.py:375
+#: pisi/api.py:366
msgid "Checking /%s "
msgstr "Vérification /%s "
-#: pisi/api.py:379
+#: pisi/api.py:370
msgid ""
"\n"
"Corrupt file: %s"
@@ -720,67 +724,67 @@ msgstr ""
"\n"
"Fichier corrompu : %s"
-#: pisi/api.py:381 pisi/cli/commands.py:966
+#: pisi/api.py:372 pisi/cli/commands.py:1046
msgid "OK"
msgstr "OK"
-#: pisi/api.py:394
+#: pisi/api.py:385
msgid "* Building index of PiSi files under %s"
msgstr "* Construction de l'index des fichiers PiSi sous %s"
-#: pisi/api.py:401
+#: pisi/api.py:392
msgid "* Index file written"
msgstr "* Fichier d'index écrit"
-#: pisi/api.py:405
+#: pisi/api.py:396
msgid "Repo %s already present."
msgstr "Le dépôt %s existe déjà."
-#: pisi/api.py:409
+#: pisi/api.py:400
msgid "Repo %s added to system."
msgstr "Le dépôt %s a été ajouté au système."
-#: pisi/api.py:415
+#: pisi/api.py:406
msgid "Repo %s removed from system."
msgstr "Le dépôt %s a été supprimé du système."
-#: pisi/api.py:417
+#: pisi/api.py:408
msgid "Repository %s does not exist. Cannot remove."
msgstr "Le dépôt %s n'existe pas. Impossible de le supprimer."
-#: pisi/api.py:424
+#: pisi/api.py:415
msgid "* Updating repository: %s"
msgstr "* Mise à jour du dépôt : %s"
-#: pisi/api.py:432
+#: pisi/api.py:423
msgid "No updates available for repository %s."
msgstr "Pas de mise à jour pour le dépôt %s."
-#: pisi/api.py:434
+#: pisi/api.py:425
msgid "Updating database at any rate as requested"
msgstr "Mise à jour de la base de données quoi qu'il arrive comme demandé"
-#: pisi/api.py:445
+#: pisi/api.py:436
msgid "* Package database updated."
msgstr "* Base de données des paquets mise à jour."
-#: pisi/api.py:447 pisi/api.py:472
+#: pisi/api.py:438 pisi/api.py:463
msgid "No repository named %s found."
msgstr "Pas de dépôt au nom %s trouvé."
-#: pisi/api.py:455
+#: pisi/api.py:446
msgid "* Rebuilding '%s' named repo... "
msgstr "* Reconstruction du dépôt '%s'... "
-#: pisi/api.py:468
+#: pisi/api.py:459
msgid "Input/Output error while reading %s: %s"
msgstr "Erreur d'entrée/sortie ors de la lecture de %s : %s"
-#: pisi/api.py:525
+#: pisi/api.py:516
msgid "Rebuilding package database"
msgstr "Reconstruction de la base de données des paquets"
-#: pisi/archive.py:36
+#: pisi/archive.py:37
msgid ""
"An error has occured while running LZMA:\n"
"%s"
@@ -788,35 +792,37 @@ msgstr ""
"Une erreur est survenue lors de l'exécutions de LZMA :\n"
"%s"
-#: pisi/archive.py:101 pisi/archive.py:161
+#: pisi/archive.py:123 pisi/archive.py:183
msgid "Archive type not recognized"
msgstr "Type d'archive non reconnue"
-#: pisi/atomicoperations.py:66
+#: pisi/atomicoperations.py:65
msgid "Package %s found in repository %s"
msgstr "Paquet %s trouvé dans le dépôt %s"
-#: pisi/atomicoperations.py:78
+#: pisi/atomicoperations.py:88
msgid "Package URI: %s"
msgstr "URI du paquet : %s"
-#: pisi/atomicoperations.py:82
+#: pisi/atomicoperations.py:92
msgid "Package %s not found in any active repository."
msgstr "Le paquet %s introuvable dans les dépôts actifs."
-#: pisi/atomicoperations.py:101
+#: pisi/atomicoperations.py:111
msgid "Installing %s, version %s, release %s, build %s"
msgstr "Installation de %s, version majeure %s, version mineure %s, build %s"
-#: pisi/atomicoperations.py:146
+#: pisi/atomicoperations.py:156
msgid "%s package cannot be installed unless the dependencies are satisfied"
-msgstr "Le paquet %s ne peut être installé sans que les dépendances ne soient satisfaites"
+msgstr ""
+"Le paquet %s ne peut être installé sans que les dépendances ne soient "
+"satisfaites"
-#: pisi/atomicoperations.py:165
+#: pisi/atomicoperations.py:185
msgid "/%s from %s package\n"
msgstr "/%s pour le paquet %s\n"
-#: pisi/atomicoperations.py:166
+#: pisi/atomicoperations.py:186
msgid ""
"File conflicts:\n"
"%s"
@@ -824,374 +830,408 @@ msgstr ""
"Conflit de fichiers :\n"
"%s"
-#: pisi/atomicoperations.py:201
+#: pisi/atomicoperations.py:221
msgid "Re-install same version package?"
msgstr "Ré-installer la même version du paquet ?"
-#: pisi/atomicoperations.py:202
+#: pisi/atomicoperations.py:222
msgid "Package re-install declined"
msgstr "Ré-installation du paquet déclinée"
-#: pisi/atomicoperations.py:208
+#: pisi/atomicoperations.py:228
msgid "Upgrading to new upstream version"
msgstr "Mise à jour vers une version ultérieure"
-#: pisi/atomicoperations.py:211
+#: pisi/atomicoperations.py:231
msgid "Upgrading to new distribution release"
msgstr "Mise à jour vers une nouvelle version de distribution"
-#: pisi/atomicoperations.py:215
+#: pisi/atomicoperations.py:235
msgid "Upgrading to new distribution build"
msgstr "Mise à jour vers un nouveau build de la distribution"
-#: pisi/atomicoperations.py:225
+#: pisi/atomicoperations.py:245
msgid "Downgrade to old distribution release?"
msgstr "Régresser vers une version de distribution plus récente ?"
-#: pisi/atomicoperations.py:227
+#: pisi/atomicoperations.py:247
msgid "Downgrade to old distribution build?"
msgstr "Régresser vers une version de build plus vielle de la distribution ?"
-#: pisi/atomicoperations.py:229
+#: pisi/atomicoperations.py:249
msgid "Package downgrade declined"
msgstr "Régression de paquet déclinée"
-#: pisi/atomicoperations.py:253
+#: pisi/atomicoperations.py:273
msgid "%s configuration failed."
msgstr "La configuration de %s a échoué."
-#: pisi/atomicoperations.py:340
+#: pisi/atomicoperations.py:396
msgid "Storing %s, "
msgstr "Stockage de %s,"
-#: pisi/atomicoperations.py:343
+#: pisi/atomicoperations.py:399
msgid "Storing %s."
msgstr "Stockage de %s."
-#: pisi/atomicoperations.py:350
+#: pisi/atomicoperations.py:406
msgid "Storing %s"
msgstr "Stockage de %s"
-#: pisi/atomicoperations.py:406
+#: pisi/atomicoperations.py:462
msgid "File list could not be read for package %s, continuing removal."
-msgstr "La liste des fichier pour le paquet %s n'a pu être lue, poursuite de la suppression."
+msgstr ""
+"La liste des fichier pour le paquet %s n'a pu être lue, poursuite de la "
+"suppression."
-#: pisi/atomicoperations.py:412
+#: pisi/atomicoperations.py:468
msgid "Removing package %s"
msgstr "Suppression du paquet %s"
-#: pisi/atomicoperations.py:415
+#: pisi/atomicoperations.py:471
msgid "Trying to remove nonexistent package "
msgstr " Tentative de suppression d'un paquet inexistant"
-#: pisi/atomicoperations.py:454
+#: pisi/atomicoperations.py:510
msgid "Not removing conflicted file : %s"
msgstr "Le fichier %s causant un conflit ne sera pas supprimé"
-#: pisi/atomicoperations.py:474
-msgid "Installed file %s is not exists on system [Probably you manually deleted]"
-msgstr "Le fichier %s précédemment installé n'existe plus sur le système [Probablement supprimé manuellement]"
+#: pisi/atomicoperations.py:530
+msgid ""
+"Installed file %s is not exists on system [Probably you manually deleted]"
+msgstr ""
+"Le fichier %s précédemment installé n'existe plus sur le système "
+"[Probablement supprimé manuellement]"
-#: pisi/atomicoperations.py:535
+#: pisi/atomicoperations.py:590
msgid "Metadata XML '%s' cannot be found"
msgstr "La métadonnée XML '%s' introuvable"
-#: pisi/atomicoperations.py:543
+#: pisi/atomicoperations.py:598
msgid "MetaData format wrong (%s)"
msgstr "Le format de la MétaDonnée (%s) est eronné"
-#: pisi/atomicoperations.py:545
+#: pisi/atomicoperations.py:600
msgid "* Adding '%s' to db... "
msgstr "* Ajout de '%s' à la base de données... "
-#: pisi/atomicoperations.py:551
+#: pisi/atomicoperations.py:606
msgid "Files XML '%s' cannot be found"
msgstr "Fichiers XML '%s' introuvables"
-#: pisi/atomicoperations.py:556 pisi/package.py:136
+#: pisi/atomicoperations.py:611 pisi/package.py:141
msgid "Invalid %s"
msgstr "%s invalide"
-#: pisi/atomicoperations.py:565
+#: pisi/atomicoperations.py:620
msgid "OK."
msgstr "OK."
-#: pisi/build.py:88
+#: pisi/build.py:85
msgid "Path %s belongs in multiple packages"
msgstr "Le chemin %s appartient à plusieurs paquets"
-#: pisi/build.py:114
+#: pisi/build.py:111
msgid "Source URI: %s"
msgstr "URI Source : %s"
-#: pisi/build.py:118
+#: pisi/build.py:115
msgid "Source %s not found in any active repository."
msgstr "La source %s n'est dans aucun des dépôts actifs."
-#: pisi/build.py:183
+#: pisi/build.py:185
msgid "Building PiSi source package: %s"
msgstr "Construction du paquet source PiSi : %s"
-#: pisi/build.py:229
+#: pisi/build.py:230
msgid "IceCream detected. Make sure your daemon is up and running..."
-msgstr "IceCream détecté. Vérifiez bien que votre daemon est en cours d'exécution..."
+msgstr ""
+"IceCream détecté. Vérifiez bien que votre daemon est en cours d'exécution..."
-#: pisi/build.py:234
+#: pisi/build.py:235
msgid "CCache detected..."
msgstr "CCache détecté..."
-#: pisi/build.py:287
+#: pisi/build.py:297
msgid "PartOf tag not defined, looking for component"
msgstr "Balise PartOf non définie, recherche d'un composant"
-#: pisi/build.py:297
+#: pisi/build.py:307
msgid "Cannot find component.xml in upper directory"
msgstr "Impossible de trouver component.xml dans le répertoire père"
-#: pisi/build.py:301
+#: pisi/build.py:311
msgid "Source is part of %s component"
msgstr "La source fait partie du composant %s"
-#: pisi/build.py:305
+#: pisi/build.py:315
msgid "Fetching source from: %s"
msgstr "Récupération de la source depuis : %s"
-#: pisi/build.py:307
+#: pisi/build.py:317
msgid "Source archive is stored: %s/%s"
msgstr "L'archive du source est stockée dans : %s/%s"
-#: pisi/build.py:311
+#: pisi/build.py:321
msgid "Unpacking archive..."
msgstr "Décompression de l'archive..."
-#: pisi/build.py:313
+#: pisi/build.py:325
msgid " unpacked (%s)"
msgstr " décompressée (%s)"
-#: pisi/build.py:318
+#: pisi/build.py:330
msgid "Setting up source..."
msgstr "Préparation du code source..."
-#: pisi/build.py:323
+#: pisi/build.py:335
msgid "Building source..."
msgstr "Compilation du code source..."
-#: pisi/build.py:328
+#: pisi/build.py:340
+#, fuzzy
+msgid "Testing package..."
+msgstr "Création du paquet PiSi %s."
+
+#: pisi/build.py:344
msgid "Installing..."
msgstr "Installation..."
-#: pisi/build.py:370
+#: pisi/build.py:386
msgid "Unable to read Actions Script (%s): %s"
msgstr "Impossible de lire le Script d'Actions (%s) : %s"
-#: pisi/build.py:372
+#: pisi/build.py:388
msgid "SyntaxError in Actions Script (%s): %s"
msgstr "Erreur de syntaxe dans le Script d'Actions (%s) : %s"
-#: pisi/build.py:389
+#: pisi/build.py:405
msgid "Unable to read COMAR script (%s): %s"
msgstr "Impossible de lire le script COMAR (%s) : %s"
-#: pisi/build.py:391
+#: pisi/build.py:407
msgid "SyntaxError in COMAR file (%s): %s"
msgstr "Erreur de syntaxe dans le fichier COMAR (%s) : %s"
-#: pisi/build.py:417
+#: pisi/build.py:419
+#, fuzzy
+msgid "Sandbox violation: %s (%s -> %s)"
+msgstr "option ambiguë : %s (%s?)"
+
+#: pisi/build.py:453
+#, fuzzy
+msgid "Sandbox violations!"
+msgstr "options d'index"
+
+#: pisi/build.py:456
msgid "unable to call function from actions: %s"
msgstr "impossible d'appeler une fonction depuis une action : %s"
-#: pisi/build.py:433
-msgid "Safety switch: following extra packages in system.devel will be installed: "
-msgstr "Précautions de sécurité : les paquets supplémentaire dans system.devel vont être installés :"
+#: pisi/build.py:473
+msgid ""
+"Safety switch: following extra packages in system.devel will be installed: "
+msgstr ""
+"Précautions de sécurité : les paquets supplémentaire dans system.devel vont "
+"être installés :"
-#: pisi/build.py:438
+#: pisi/build.py:478
msgid "Safety switch: system.devel is already installed"
msgstr "Précautions de sécurité : system.devel est déjà installé"
-#: pisi/build.py:440
+#: pisi/build.py:480
msgid "Safety switch: the component system.devel cannot be found"
msgstr "Précautions de sécurité : Le composant system.devel est introuvable"
-#: pisi/build.py:449
+#: pisi/build.py:489
msgid "Unsatisfied Build Dependencies:"
msgstr "Dépendance de Compilation Insatisfaites : "
-#: pisi/build.py:453
+#: pisi/build.py:493
msgid "Cannot build package due to unsatisfied build dependencies"
-msgstr "Impossible de construire le paquer à cause de dépendance de compilation insatisfaites"
+msgstr ""
+"Impossible de construire le paquer à cause de dépendance de compilation "
+"insatisfaites"
-#: pisi/build.py:461
+#: pisi/build.py:501
msgid "Build dependency %s cannot be satisfied"
msgstr "La dépendance de compilation %s ne peut être satisfaite"
-#: pisi/build.py:463
+#: pisi/build.py:503
msgid "Do you want to install the unsatisfied build dependencies"
msgstr "Voulez-vous installer les dépendances de compilations manquantes"
-#: pisi/build.py:464
+#: pisi/build.py:504
msgid "Installing build dependencies."
msgstr "Installation des dépendances de compilation."
-#: pisi/build.py:469
+#: pisi/build.py:509
msgid "Ignoring build dependencies."
msgstr "Ignore les dépendances de compilations."
-#: pisi/build.py:479
+#: pisi/build.py:519
msgid "Patch file is missing: %s\n"
msgstr "Le fichier de patch %s est manquant\n"
-#: pisi/build.py:492
+#: pisi/build.py:532
msgid "* Applying patch: %s"
msgstr "* Application du patch : %s"
-#: pisi/build.py:550
+#: pisi/build.py:592
msgid "Stripping files.."
msgstr "Suppression des chaînes inutilisées des fichiers..."
-#: pisi/build.py:656
+#: pisi/build.py:692
msgid "(found old version %s)"
msgstr "(Une ancienne version %s a été trouvée)"
-#: pisi/build.py:658
+#: pisi/build.py:694
msgid "Skipping %s with wrong pkg name "
msgstr "Mise de côté de %s avec un nom de paquet erroné"
-#: pisi/build.py:679
+#: pisi/build.py:715
+#, fuzzy
msgid "(no previous build found, setting build no to 1.)"
-msgstr "(pas de compilation précédente trouvée, établissement du numéro de build à 1)"
+msgstr ""
+"(pas de compilation précédente trouvée, établissement du numéro de build à 1)"
-#: pisi/build.py:724
+#: pisi/build.py:760
msgid "(old package lacks a build no, setting build no to 1.)"
-msgstr "(le package plus ancien n'a pas de numéro de build, établissement du numéro de build à 1)"
+msgstr ""
+"(le package plus ancien n'a pas de numéro de build, établissement du numéro "
+"de build à 1)"
-#: pisi/build.py:727
+#: pisi/build.py:763
msgid "There are changes, incrementing build no to %d"
msgstr "Il y a des changements, incrémentation du numéro de build à %d"
-#: pisi/build.py:730
+#: pisi/build.py:766
msgid "There is no change from previous build %d"
msgstr "Il n'y a aucun changement depuis la compilation précédente %d"
-#: pisi/build.py:795
+#: pisi/build.py:831
msgid "No user named '%s' found on the system"
msgstr "Aucun utilisateur '%s' trouvé sur le système"
-#: pisi/build.py:800
+#: pisi/build.py:836
msgid "No group named '%s' found on the system"
msgstr "Pas de groupe '%s' trouvé sur le système"
-#: pisi/build.py:803
+#: pisi/build.py:839
msgid "** Building package %s"
msgstr "** Compilation du paquet %s"
-#: pisi/build.py:805 pisi/build.py:808
+#: pisi/build.py:841 pisi/build.py:844
msgid "Generating %s,"
msgstr "Génération de %s."
-#: pisi/build.py:814
-msgid "Build number is not available. For repo builds you must enable buildno in pisi.conf."
-msgstr "Numéro de build non disponible. Pour les builds de dépôts, vous devez activer buildno dans pisi.conf"
+#: pisi/build.py:850
+msgid ""
+"Build number is not available. For repo builds you must enable buildno in "
+"pisi.conf."
+msgstr ""
+"Numéro de build non disponible. Pour les builds de dépôts, vous devez "
+"activer buildno dans pisi.conf"
-#: pisi/build.py:832
+#: pisi/build.py:868
msgid "Creating PiSi package %s."
msgstr "Création du paquet PiSi %s."
-#: pisi/build.py:877
+#: pisi/build.py:913 pisi/delta.py:93
msgid "Done."
msgstr "Terminé."
-#: pisi/build.py:883
+#: pisi/build.py:919
msgid "Abandoned files under the install dir (%s):"
msgstr "Fichiers abandonnés sous le répertoire d'installation (%s) :"
-#: pisi/build.py:887
-msgid "All of the files under the install dir (%s) has been collected by package(s)"
-msgstr "Tous les fichiers sous le répertoire d'installation (%s) ont été collectés par le(s) paquet(s)"
+#: pisi/build.py:923
+msgid ""
+"All of the files under the install dir (%s) has been collected by package(s)"
+msgstr ""
+"Tous les fichiers sous le répertoire d'installation (%s) ont été collectés "
+"par le(s) paquet(s)"
-#: pisi/build.py:891
+#: pisi/build.py:927
msgid "Cleaning Build Directory..."
msgstr "Nettoyage du Répertoire de Compilation..."
-#: pisi/build.py:894
+#: pisi/build.py:930
msgid "Keeping Build Directory"
msgstr "Répertoire de Compilation conservé"
-#: pisi/cli/__init__.py:79
+#: pisi/cli/__init__.py:76
msgid "Warning: "
msgstr "Alerte :"
-#: pisi/cli/__init__.py:88
+#: pisi/cli/__init__.py:85
msgid "Error: "
msgstr "Erreur :"
-#: pisi/cli/__init__.py:120
+#: pisi/cli/__init__.py:117
msgid " (yes/no)"
msgstr " (oui/non)"
-#: pisi/cli/__init__.py:141
+#: pisi/cli/__init__.py:138
msgid " [complete]\n"
msgstr " [fini]\n"
-#: pisi/cli/__init__.py:151
+#: pisi/cli/__init__.py:148
msgid "Installed %s"
msgstr "%s installé"
-#: pisi/cli/__init__.py:153
+#: pisi/cli/__init__.py:150
msgid "Removed %s"
msgstr "%s supprimé"
-#: pisi/cli/__init__.py:155
+#: pisi/cli/__init__.py:152
msgid "Upgraded %s"
msgstr "%s mis à jour"
-#: pisi/cli/__init__.py:157
+#: pisi/cli/__init__.py:154
msgid "Configured %s"
msgstr "%s configuré"
-#: pisi/cli/__init__.py:159
+#: pisi/cli/__init__.py:156
msgid "Extracting the files of %s"
msgstr "Extraction des fichiers de %s"
-#: pisi/cli/commands.py:94
-#, docstring
+#: pisi/cli/commands.py:92
msgid "generic help string for any command"
msgstr "chaîne d'aide générique pour tout commande"
-#: pisi/cli/commands.py:123 pisi/cli/pisicli.py:104
+#: pisi/cli/commands.py:121 pisi/cli/pisicli.py:101
msgid "Unrecognized command: %s"
msgstr "Commande non reconnue : %s"
-#: pisi/cli/commands.py:145
-#, docstring
+#: pisi/cli/commands.py:143
msgid "common options"
msgstr "options communes"
-#: pisi/cli/commands.py:148
+#: pisi/cli/commands.py:146
msgid "general options"
msgstr "options générales"
-#: pisi/cli/commands.py:151
+#: pisi/cli/commands.py:149
msgid "Change the system root for PiSi commands"
msgstr "Change la racine système pour les commandes PiSi"
-#: pisi/cli/commands.py:153
+#: pisi/cli/commands.py:151
msgid "Assume yes in all yes/no queries"
msgstr "Assume oui pour toutes les questions oui/non"
-#: pisi/cli/commands.py:158
+#: pisi/cli/commands.py:156
msgid "Detailed output"
msgstr "Affichage détaillé du retour"
-#: pisi/cli/commands.py:160
+#: pisi/cli/commands.py:158
msgid "Show debugging information"
msgstr "Montrer les informations de déverminage"
-#: pisi/cli/commands.py:162
+#: pisi/cli/commands.py:160
msgid "Suppresses all coloring of PiSi's output"
msgstr "Supprime toute coloration dans les retours de PiSi."
-#: pisi/cli/commands.py:169
-#, docstring
+#: pisi/cli/commands.py:167
msgid ""
"This is a fall back function. If the implementer module provides an\n"
" options function it will be called"
@@ -1199,48 +1239,43 @@ msgstr ""
"Ceci est une fonction de secours. Si le module implémenteur fourni une\n"
" fonction d'options elle sera appelée"
-#: pisi/cli/commands.py:181
+#: pisi/cli/commands.py:179
msgid "Destination directory %s does not exist. Creating directory.\n"
msgstr "Répertoire de destination %s n'existe pas. Création du répertoire.\n"
-#: pisi/cli/commands.py:203
+#: pisi/cli/commands.py:201
msgid "Password: "
msgstr "Mot de passe : "
-#: pisi/cli/commands.py:209
-#, docstring
+#: pisi/cli/commands.py:207
msgid "initialize PiSi components"
msgstr "Initialisation des composants PiSi"
-#: pisi/cli/commands.py:217
-#, docstring
+#: pisi/cli/commands.py:215
msgid "do cleanup work for PiSi components"
msgstr "Effectue les travaux de nettoyage des composants de PiSi"
-#: pisi/cli/commands.py:231
-#, docstring
+#: pisi/cli/commands.py:229
msgid "print help for the command"
msgstr "Affiche l'aide de la commande"
-#: pisi/cli/commands.py:237
-#, docstring
+#: pisi/cli/commands.py:235
msgid "exit program"
msgstr "Sort du programme"
-#: pisi/cli/commands.py:239
+#: pisi/cli/commands.py:237
msgid "Command terminated abnormally."
msgstr "La commande s'est achevée anormalement."
-#: pisi/cli/commands.py:249
+#: pisi/cli/commands.py:247
msgid "Command lacks name"
msgstr "La commande n'a pas de nom"
-#: pisi/cli/commands.py:253
+#: pisi/cli/commands.py:251
msgid "Duplicate command %s"
msgstr "Commande %s dupliquée"
-#: pisi/cli/commands.py:262
-#, docstring
+#: pisi/cli/commands.py:260
msgid ""
"Prints help for given commands\n"
"\n"
@@ -1254,8 +1289,7 @@ msgstr ""
"\n"
"Affiche l'aide générale si lancée sans paramètres."
-#: pisi/cli/commands.py:296
-#, docstring
+#: pisi/cli/commands.py:294
msgid ""
"Clean stale locks\n"
"\n"
@@ -1272,8 +1306,7 @@ msgstr ""
"l'accès à la base de données. Cette commande supprime\n"
"les verrous inutilisés du répertoire de la base."
-#: pisi/cli/commands.py:315
-#, docstring
+#: pisi/cli/commands.py:313
msgid ""
"Delete cache files\n"
"\n"
@@ -1291,8 +1324,7 @@ msgstr ""
"stockés dans le répertoire /var. Comme ils s'accumulent\n"
"ils peuvent finir par occuper beaucoup d'espace disque."
-#: pisi/cli/commands.py:336
-#, docstring
+#: pisi/cli/commands.py:334
msgid ""
"Graph package relations\n"
"\n"
@@ -1312,48 +1344,47 @@ msgstr ""
"donnés. Montre par défaut les relations entre les paquets du dépôt,\n"
"et écrit le paquet au format graphviz dans 'pgraph.dot'.\n"
-#: pisi/cli/commands.py:353
+#: pisi/cli/commands.py:351
msgid "graph options"
msgstr "Options du graphe"
-#: pisi/cli/commands.py:357
+#: pisi/cli/commands.py:355
msgid "Specify a particular repository"
msgstr "Spécifier un dépôt en particulier"
-#: pisi/cli/commands.py:360
+#: pisi/cli/commands.py:358
msgid "Graph of installed packages"
msgstr "Graphe des paquets installés"
-#: pisi/cli/commands.py:363
+#: pisi/cli/commands.py:361
msgid "Do not show installed packages"
msgstr "Ne pas montrer les paquets installés"
-#: pisi/cli/commands.py:366
+#: pisi/cli/commands.py:364
msgid "Dot output file"
msgstr "fichier de sortie dot"
-#: pisi/cli/commands.py:377
+#: pisi/cli/commands.py:375
msgid "Plotting packages in repository %s"
msgstr "Tracé des paquets du dépôt %s"
-#: pisi/cli/commands.py:383
+#: pisi/cli/commands.py:381
msgid "Plotting a graph of relations among all repository packages"
msgstr "Tracé du graphe des relations entre tous les paquets du dépôt"
-#: pisi/cli/commands.py:390
+#: pisi/cli/commands.py:388
msgid "Plotting a graph of relations among all installed packages"
msgstr "Tracé du graphe de relations entre tous les paquets installés"
-#: pisi/cli/commands.py:402
+#: pisi/cli/commands.py:400
msgid "Do not take build no into account."
msgstr "Ne pas prendre en compte le numéro de build."
-#: pisi/cli/commands.py:407
+#: pisi/cli/commands.py:405
msgid "Do not take dependency information into account"
msgstr "Ne pas prendre les informations de dépendance en compte"
-#: pisi/cli/commands.py:411
-#, docstring
+#: pisi/cli/commands.py:409
msgid ""
"Build PiSi packages\n"
"\n"
@@ -1376,76 +1407,122 @@ msgstr ""
"Vous pouvez également donné le nom d'un paquet de source\n"
"à télécharger depuis un dépôt contenant les sources.\n"
-#: pisi/cli/commands.py:433
+#: pisi/cli/commands.py:432
msgid "build options"
msgstr "options de compilation"
-#: pisi/cli/commands.py:441
+#: pisi/cli/commands.py:440 pisi/cli/commands.py:527
msgid "Output directory for produced packages"
msgstr "Répertoire acceuillant les paquets produits"
-#: pisi/cli/commands.py:444
+#: pisi/cli/commands.py:443
msgid "Bypass errors from ActionsAPI"
msgstr "Passe outre les erreurs d'ActionsAPI"
-#: pisi/cli/commands.py:446 pisi/cli/commands.py:554
+#: pisi/cli/commands.py:445 pisi/cli/commands.py:610
msgid "Bypass safety switch"
msgstr "Passe outre les précautions de sécurité"
-#: pisi/cli/commands.py:448
+#: pisi/cli/commands.py:447
+#, fuzzy
+msgid "Bypass testing step"
+msgstr "Passe outre les précautions de sécurité"
+
+#: pisi/cli/commands.py:449
msgid "Create a static package with ar files"
msgstr "Création d'un paquet statique avec des fichier ar"
-#: pisi/cli/commands.py:450
-msgid "Do not install build dependencies, fail if a build dependency is present"
-msgstr "N'installe pas les dépendances de compilation, échoue en présence d'une dépendance de compilation"
+#: pisi/cli/commands.py:451
+msgid ""
+"Do not install build dependencies, fail if a build dependency is present"
+msgstr ""
+"N'installe pas les dépendances de compilation, échoue en présence d'une "
+"dépendance de compilation"
-#: pisi/cli/commands.py:452
+#: pisi/cli/commands.py:453
msgid "PiSi binary package formats: '1.0', '1.1' (default)"
msgstr "formats de paquets binaires PiSi : '1.0', '1.1' (par défaut)"
#: pisi/cli/commands.py:455
+msgid "Use quilt patch management system instead of GNU patch"
+msgstr ""
+
+#: pisi/cli/commands.py:457
+msgid "Do not constrain build process inside the build folder"
+msgstr ""
+
+#: pisi/cli/commands.py:460
msgid "build steps"
msgstr "étapes de compilation"
-#: pisi/cli/commands.py:457
+#: pisi/cli/commands.py:462
msgid "Break build after fetching the source archive"
msgstr "Se contente de télécharger le code source"
-#: pisi/cli/commands.py:459
-msgid "Break build after unpacking the source archive, checking sha1sum and applying patches"
-msgstr "Se contente de télécharger le code source, vérifier son intégrité avec sha1sum et appliquer les patchs"
+#: pisi/cli/commands.py:464
+msgid ""
+"Break build after unpacking the source archive, checking sha1sum and "
+"applying patches"
+msgstr ""
+"Se contente de télécharger le code source, vérifier son intégrité avec "
+"sha1sum et appliquer les patchs"
-#: pisi/cli/commands.py:461
+#: pisi/cli/commands.py:466
msgid "Break build after running configure step"
-msgstr "Arrête le processus de construction du paquet après le lancement de configure"
+msgstr ""
+"Arrête le processus de construction du paquet après le lancement de configure"
-#: pisi/cli/commands.py:463
+#: pisi/cli/commands.py:468
msgid "Break build after running compile step"
-msgstr "Arrête le processus de construction du paquet après la compilation du source"
+msgstr ""
+"Arrête le processus de construction du paquet après la compilation du source"
-#: pisi/cli/commands.py:465
+#: pisi/cli/commands.py:470
+#, fuzzy
+msgid "Break build after running check step"
+msgstr ""
+"Arrête le processus de construction du paquet après la compilation du source"
+
+#: pisi/cli/commands.py:472
msgid "Break build after running install step"
-msgstr "Arrête le process de construction du paquet après l'exécution de l'install"
+msgstr ""
+"Arrête le process de construction du paquet après l'exécution de l'install"
-#: pisi/cli/commands.py:467
+#: pisi/cli/commands.py:474
msgid "create PiSi package"
msgstr "Crée le paquet PiSi"
-#: pisi/cli/commands.py:481
+#: pisi/cli/commands.py:488
msgid "package_format must be one of %s "
msgstr "package_format doît être l'un de %s "
-#: pisi/cli/commands.py:484 pisi/cli/commands.py:533
+#: pisi/cli/commands.py:491 pisi/cli/commands.py:540 pisi/cli/commands.py:589
msgid "Output directory: %s"
msgstr "Répertoire de sortie : %s"
-#: pisi/cli/commands.py:486
+#: pisi/cli/commands.py:493 pisi/cli/commands.py:542
msgid "Outputting packages in the working directory."
msgstr "Génération des paquets dans le répertoire de travail."
-#: pisi/cli/commands.py:497
-#, docstring
+#: pisi/cli/commands.py:504
+msgid ""
+"Creates delta PiSi packages\n"
+"\n"
+"Usage: delta oldpackage newpackage\n"
+"\n"
+"Delta command finds the changed files between the given packages by "
+"comparing the sha1sum of the files\n"
+"and creates a delta pisi package with the changed files between two "
+"releases.\n"
+"\n"
+msgstr ""
+
+#: pisi/cli/commands.py:521
+#, fuzzy
+msgid "delta options"
+msgstr "options d'index"
+
+#: pisi/cli/commands.py:553
msgid ""
"Build and install PiSi source packages from repository\n"
"\n"
@@ -1465,37 +1542,35 @@ msgstr ""
"\n"
"Vous pouvez également donné le nom d'un composant.\n"
-#: pisi/cli/commands.py:516
+#: pisi/cli/commands.py:572
msgid "emerge options"
msgstr "options d'emerge"
-#: pisi/cli/commands.py:519 pisi/cli/commands.py:592 pisi/cli/commands.py:656
+#: pisi/cli/commands.py:575 pisi/cli/commands.py:648 pisi/cli/commands.py:716
msgid "Ignore file conflicts"
msgstr "Ignorer les conflits de fichiers"
-#: pisi/cli/commands.py:521 pisi/cli/commands.py:594 pisi/cli/commands.py:658
+#: pisi/cli/commands.py:577 pisi/cli/commands.py:650 pisi/cli/commands.py:718
msgid "Ignore package conflicts"
msgstr "Ignorer les conflits de paquets"
-#: pisi/cli/commands.py:523 pisi/cli/commands.py:552
+#: pisi/cli/commands.py:579 pisi/cli/commands.py:608
msgid "Bypass comar configuration agent"
msgstr "Passer outre l'agent de configuration comar"
-#: pisi/cli/commands.py:535
+#: pisi/cli/commands.py:591
msgid "Outputting binary packages in the package cache."
msgstr "Génération de paquets binaires dans le cache de paquets."
-#: pisi/cli/commands.py:543
-#, docstring
+#: pisi/cli/commands.py:599
msgid "Abstract package operation command"
msgstr "Commande d'opération de paquet abstrait"
-#: pisi/cli/commands.py:556
+#: pisi/cli/commands.py:612
msgid "Do not perform any action, just show what would be done"
msgstr "Ne rien faire, juste montrer ce qui serait fait"
-#: pisi/cli/commands.py:567
-#, docstring
+#: pisi/cli/commands.py:623
msgid ""
"Install PiSi packages\n"
"\n"
@@ -1518,24 +1593,24 @@ msgstr ""
"Vous pouvez également spécifiers des composants au lieu de nom de paquets,\n"
"ils seront complétés en nom de paquets.\n"
-#: pisi/cli/commands.py:585
+#: pisi/cli/commands.py:641
msgid "install options"
msgstr "Options d'installation"
-#: pisi/cli/commands.py:590
+#: pisi/cli/commands.py:646
msgid "Reinstall already installed packages"
msgstr "Ré-installer les paquets déjà installés."
-#: pisi/cli/commands.py:596
+#: pisi/cli/commands.py:652
msgid "Install component's and recursive components' packages"
-msgstr "Installer les paquets du composant, et les ceux des composants récursifs"
+msgstr ""
+"Installer les paquets du composant, et les ceux des composants récursifs"
-#: pisi/cli/commands.py:598 pisi/cli/commands.py:662
+#: pisi/cli/commands.py:654 pisi/cli/commands.py:722
msgid "Fetch upgrades but do not install."
msgstr "Chercher les mises à jour mais ne pas les installer."
-#: pisi/cli/commands.py:621
-#, docstring
+#: pisi/cli/commands.py:681
msgid ""
"Upgrade PiSi packages\n"
"\n"
@@ -1572,40 +1647,47 @@ msgstr ""
"Vous pouvez également spécifier des composants au lieu de noms de\n"
"paquets, ils seront complétés en noms de paquets.\n"
-#: pisi/cli/commands.py:647
+#: pisi/cli/commands.py:707
msgid "upgrade options"
msgstr "options de mise à jour"
-#: pisi/cli/commands.py:652
+#: pisi/cli/commands.py:712
msgid "Security related package upgrades only"
msgstr "Seulement les mises à jour liées à la sécurité"
-#: pisi/cli/commands.py:654
+#: pisi/cli/commands.py:714
msgid "Do not update repositories"
msgstr "Ne pas mettre à jour les dépôts"
-#: pisi/cli/commands.py:660
+#: pisi/cli/commands.py:720
msgid "Upgrade component's and recursive components' packages"
msgstr "Mettre à jour les paquets du composant et les composants récursifs"
-#: pisi/cli/commands.py:664
-msgid "When upgrading system, ignore packages and components whose basenames match pattern."
-msgstr "Ignorer les paquet et les composants dont le nom de base correspon au patron lors de la mise à jour du système."
+#: pisi/cli/commands.py:724
+msgid ""
+"When upgrading system, ignore packages and components whose basenames match "
+"pattern."
+msgstr ""
+"Ignorer les paquet et les composants dont le nom de base correspon au patron "
+"lors de la mise à jour du système."
-#: pisi/cli/commands.py:666
-msgid "When upgrading system, ignore packages and components whose basenames match any pattern contained in file."
-msgstr "Ignore les paquets et les composants dont les noms de base correspondent aux patrons contenus dans le fichier lors de la mise à jour,"
+#: pisi/cli/commands.py:726
+msgid ""
+"When upgrading system, ignore packages and components whose "
+"basenames match any pattern contained in file."
+msgstr ""
+"Ignore les paquets et les composants dont les noms de base "
+"correspondent aux patrons contenus dans le fichier lors de la mise à jour,"
-#: pisi/cli/commands.py:706
+#: pisi/cli/commands.py:770
msgid "Updating repositories"
msgstr "Mise à jour des dépôts"
-#: pisi/cli/commands.py:711
+#: pisi/cli/commands.py:775
msgid "Will not update repositories"
msgstr "Les dépots ne seront pas mis à jours"
-#: pisi/cli/commands.py:733
-#, docstring
+#: pisi/cli/commands.py:800
msgid ""
"Remove PiSi packages\n"
"\n"
@@ -1620,22 +1702,22 @@ msgstr ""
"\n"
"Utilisation : remove ... \n"
"\n"
-"Supprime les paquet(s) de votre système. Il suffit de donner le nom des paquets\n"
+"Supprime les paquet(s) de votre système. Il suffit de donner le nom des "
+"paquets\n"
"à supprimer\n"
"\n"
"Vous pouvez également spécifier des composants au lieu de noms de paquets,\n"
"ils seront complétés en nom de paquets.\n"
-#: pisi/cli/commands.py:750
+#: pisi/cli/commands.py:817
msgid "remove options"
msgstr "Options de suppression"
-#: pisi/cli/commands.py:753
+#: pisi/cli/commands.py:820
msgid "Remove component's and recursive components' packages"
msgstr "Supprime les paquets du composant et des composants récursifs"
-#: pisi/cli/commands.py:775
-#, docstring
+#: pisi/cli/commands.py:842
msgid ""
"Configure pending packages\n"
"\n"
@@ -1651,12 +1733,11 @@ msgstr ""
"des paquets en attente de configuration. Cette commande\n"
"configure ces paquets en question.\n"
-#: pisi/cli/commands.py:791
+#: pisi/cli/commands.py:858
msgid "configure-pending options"
msgstr "Options de configuration des paquets en attente (configure-pending)"
-#: pisi/cli/commands.py:803
-#, docstring
+#: pisi/cli/commands.py:870
msgid ""
"Display package information\n"
"\n"
@@ -1670,63 +1751,64 @@ msgstr ""
"\n"
" est soit un nom de paquet, soit un fichier .pisi.\n"
-#: pisi/cli/commands.py:818
+#: pisi/cli/commands.py:885
msgid "info options"
msgstr "options d'info"
-#: pisi/cli/commands.py:825
+#: pisi/cli/commands.py:892
msgid "Show a list of package files."
msgstr "Montre une liste de fichiers de paquets."
-#: pisi/cli/commands.py:827
+#: pisi/cli/commands.py:894
msgid "Info about the given component"
msgstr "Infos à propos du composant donné"
-#: pisi/cli/commands.py:830
+#: pisi/cli/commands.py:897
msgid "Show only paths."
msgstr "Montre seulement les chemins."
-#: pisi/cli/commands.py:832
+#: pisi/cli/commands.py:899
msgid "Do not show details"
msgstr "Ne pas montrer les détails"
-#: pisi/cli/commands.py:834
+#: pisi/cli/commands.py:901
msgid "Output in xml format"
msgstr "La sortie s'effectue au format xml"
-#: pisi/cli/commands.py:880
+#: pisi/cli/commands.py:947
msgid "Package file: %s"
msgstr "Fichier paquet : %s"
-#: pisi/cli/commands.py:886
+#: pisi/cli/commands.py:953
msgid "[inst] "
msgstr "[inst] "
-#: pisi/cli/commands.py:888
+#: pisi/cli/commands.py:955
msgid "Installed package:"
msgstr "Paquets installés :"
-#: pisi/cli/commands.py:894
+#: pisi/cli/commands.py:961
msgid "[repo] "
msgstr "[dépôt]"
-#: pisi/cli/commands.py:896
-msgid "Package found in repository:"
+#: pisi/cli/commands.py:963
+#, fuzzy
+msgid "Package found in %s repository:"
msgstr "Paquet trouvé dans le dépôt :"
-#: pisi/cli/commands.py:900
+#: pisi/cli/commands.py:967
msgid "%s is not found in repositories"
msgstr "%s est introuvable dans les dépôts"
-#: pisi/cli/commands.py:903
+#: pisi/cli/commands.py:970
msgid "%s is not installed"
msgstr "%s n'est pas installé"
-#: pisi/cli/commands.py:916
+#: pisi/cli/commands.py:981
msgid "Reverse Dependencies:"
msgstr "Dépendances inverses : "
-#: pisi/cli/commands.py:919
+#: pisi/cli/commands.py:984
msgid ""
"\n"
"Files:"
@@ -1734,12 +1816,11 @@ msgstr ""
"\n"
"Fichiers :"
-#: pisi/cli/commands.py:927
+#: pisi/cli/commands.py:992
msgid "File information not available"
msgstr "Les informations concernant les fichiers n'est pas disponible"
-#: pisi/cli/commands.py:933
-#, docstring
+#: pisi/cli/commands.py:998
msgid ""
"Verify installation\n"
"\n"
@@ -1767,15 +1848,25 @@ msgstr ""
"Si aucun paquet n'est donné, vérifie l'intégralité des paquets\n"
"installés.\n"
-#: pisi/cli/commands.py:957
+#: pisi/cli/commands.py:1018
+#, fuzzy
+msgid "check options"
+msgstr "Options de search"
+
+#: pisi/cli/commands.py:1020
+#, fuzzy
+msgid "Check installed packages under given component"
+msgstr "Lister les paquets installé pour le composant donné"
+
+#: pisi/cli/commands.py:1036
msgid "Checking all installed packages"
msgstr "Vérification de tous les paquets installés"
-#: pisi/cli/commands.py:960
+#: pisi/cli/commands.py:1040
msgid "* Checking %s... "
msgstr "* Vérification de %s... "
-#: pisi/cli/commands.py:964
+#: pisi/cli/commands.py:1044
msgid ""
"\n"
"Package %s is corrupt."
@@ -1783,12 +1874,11 @@ msgstr ""
"\n"
"Le paquet %s est corrompu."
-#: pisi/cli/commands.py:968
+#: pisi/cli/commands.py:1048
msgid "Package %s not installed"
msgstr "Le paquet %s n'est pas installé"
-#: pisi/cli/commands.py:973
-#, docstring
+#: pisi/cli/commands.py:1053
msgid ""
"Index PiSi files in a given directory\n"
"\n"
@@ -1815,32 +1905,31 @@ msgstr ""
"La commande fonctionne si vous indiquez plusieurs répertoires, mais\n"
"produit un seul fichier d'index contenant toutes les informations.\n"
-#: pisi/cli/commands.py:994
+#: pisi/cli/commands.py:1074
msgid "index options"
msgstr "options d'index"
-#: pisi/cli/commands.py:998
+#: pisi/cli/commands.py:1078
msgid "Store absolute links for indexed files."
msgstr "Stocker des liens absolus pour les fichiers indexés."
-#: pisi/cli/commands.py:1001
+#: pisi/cli/commands.py:1081
msgid "Index output file"
msgstr "Fichier de sortie d'index."
-#: pisi/cli/commands.py:1004
+#: pisi/cli/commands.py:1084
msgid "Do not index PiSi spec files."
msgstr "Ne pas indexer les fichiers spec PiSi."
-#: pisi/cli/commands.py:1007
+#: pisi/cli/commands.py:1087
msgid "Do not sign index."
msgstr "Ne pas signer l'index."
-#: pisi/cli/commands.py:1020
+#: pisi/cli/commands.py:1100
msgid "Indexing current directory."
msgstr "Indexer le répertoire courant."
-#: pisi/cli/commands.py:1028
-#, docstring
+#: pisi/cli/commands.py:1108
msgid ""
"Print the list of all installed packages\n"
"\n"
@@ -1850,30 +1939,30 @@ msgstr ""
"\n"
"Utilisation : list-installed\n"
-#: pisi/cli/commands.py:1042
+#: pisi/cli/commands.py:1122
msgid "list-installed options"
msgstr "Options de list-installed"
-#: pisi/cli/commands.py:1045 pisi/cli/commands.py:1278
-#: pisi/cli/commands.py:1342 pisi/cli/commands.py:1381
-#: pisi/cli/commands.py:1421 pisi/cli/commands.py:1555
+#: pisi/cli/commands.py:1125 pisi/cli/commands.py:1358
+#: pisi/cli/commands.py:1422 pisi/cli/commands.py:1461
+#: pisi/cli/commands.py:1501 pisi/cli/commands.py:1625
msgid "Show in long format"
msgstr "Montrer au format long"
-#: pisi/cli/commands.py:1047
+#: pisi/cli/commands.py:1127
msgid "List installed packages under given component"
msgstr "Lister les paquets installé pour le composant donné"
-#: pisi/cli/commands.py:1049 pisi/cli/commands.py:1425
+#: pisi/cli/commands.py:1129 pisi/cli/commands.py:1505
msgid "Show detailed install info"
msgstr "Montrer les informations détaillées de l'installation"
-#: pisi/cli/commands.py:1066 pisi/cli/commands.py:1444
-msgid "Package Name |St| Version| Rel.| Build| Distro| Date"
+#: pisi/cli/commands.py:1146 pisi/cli/commands.py:1524
+msgid ""
+"Package Name |St| Version| Rel.| Build| Distro| Date"
msgstr "Paquet Nom |St| Version| Rel.| Build| Distro| Date"
-#: pisi/cli/commands.py:1081
-#, docstring
+#: pisi/cli/commands.py:1161
msgid ""
"Rebuild Databases\n"
"\n"
@@ -1893,20 +1982,19 @@ msgstr ""
"Si les specs de paquets sont données, ils devraient correspondrent\n"
"aux noms des répertoires de paquets sous /var/lib/pisi\n"
-#: pisi/cli/commands.py:1099
+#: pisi/cli/commands.py:1179
msgid "rebuild-db options"
msgstr "Options de rebuild-db"
-#: pisi/cli/commands.py:1102
+#: pisi/cli/commands.py:1182
msgid "Rebuild files database"
msgstr "Reconstruction de la base de données fichiers"
-#: pisi/cli/commands.py:1113
+#: pisi/cli/commands.py:1193
msgid "Rebuild PiSi databases?"
msgstr "Reconstruire les bases de données de PiSi ?"
-#: pisi/cli/commands.py:1120
-#, docstring
+#: pisi/cli/commands.py:1200
msgid ""
"Update repository databases\n"
"\n"
@@ -1926,16 +2014,15 @@ msgstr ""
"Synchronise les bases de données de PiSi avec le dépôt donné.\n"
"Si aucun dépôt n'est donné, tous les dépôts sont mis à jours.\n"
-#: pisi/cli/commands.py:1138
+#: pisi/cli/commands.py:1218
msgid "update-repo options"
msgstr "Options de update-repo"
-#: pisi/cli/commands.py:1142
+#: pisi/cli/commands.py:1222
msgid "Update database in any case"
msgstr "Mise à jour de la base de données quoi qu'il arrive"
-#: pisi/cli/commands.py:1160
-#, docstring
+#: pisi/cli/commands.py:1240
msgid ""
"Add a repository\n"
"\n"
@@ -1946,7 +2033,8 @@ msgid ""
"\n"
"If no repo is given, add-repo pardus-devel repo is added by default\n"
"\n"
-"NB: We support only local files (e.g., /a/b/c) and http:// URIs at the moment\n"
+"NB: We support only local files (e.g., /a/b/c) and http:// URIs at the "
+"moment\n"
msgstr ""
"Ajouter un dépôt\n"
"\n"
@@ -1955,29 +2043,30 @@ msgstr ""
" : nom du dépôt à ajouter\n"
" : URI du fichier d'index\n"
"\n"
-"Si aucun dépôt n'est donné, add-repo ajoute le dépôt pardus-devel par défaut\n"
+"Si aucun dépôt n'est donné, add-repo ajoute le dépôt pardus-devel par "
+"défaut\n"
"\n"
-"NB : Pour l'instant seuls les fichiers locaux (e.g., /a/b/c) et les URI http sont\n"
+"NB : Pour l'instant seuls les fichiers locaux (e.g., /a/b/c) et les URI http "
+"sont\n"
"supportées\n"
-#: pisi/cli/commands.py:1180
+#: pisi/cli/commands.py:1260
msgid "add-repo options"
msgstr "Options d'add-repo"
-#: pisi/cli/commands.py:1183
+#: pisi/cli/commands.py:1263
msgid "Add repository at given position (0 is first)"
msgstr "Ajouter un dépôt à la position donnée (0 est la première)"
-#: pisi/cli/commands.py:1197
+#: pisi/cli/commands.py:1277
msgid "Update PiSi database for repository %s?"
msgstr "Mettre à jour la base de données PiSi pour le dépôt %s ?"
-#: pisi/cli/commands.py:1201
+#: pisi/cli/commands.py:1281
msgid "%s repository could not be reached. Removing %s from system."
msgstr "Impossible d'atteindre le dépôt %s. Suppression de %s du système."
-#: pisi/cli/commands.py:1210
-#, docstring
+#: pisi/cli/commands.py:1290
msgid ""
"Remove repositories\n"
"\n"
@@ -1991,8 +2080,7 @@ msgstr ""
"\n"
"Supprime toutes les informations liées au dépôt du système.\n"
-#: pisi/cli/commands.py:1236
-#, docstring
+#: pisi/cli/commands.py:1316
msgid ""
"List repositories\n"
"\n"
@@ -2006,8 +2094,7 @@ msgstr ""
"\n"
"Liste les dépôts actuellement suivis.\n"
-#: pisi/cli/commands.py:1259
-#, docstring
+#: pisi/cli/commands.py:1339
msgid ""
"List available packages in the repositories\n"
"\n"
@@ -2025,28 +2112,27 @@ msgstr ""
"donnés. Si aucun dépôt n'est spécifié, liste les paquets de tous\n"
"les dépôts.\n"
-#: pisi/cli/commands.py:1276
+#: pisi/cli/commands.py:1356
msgid "list-available options"
msgstr "Options de list-available"
-#: pisi/cli/commands.py:1280
+#: pisi/cli/commands.py:1360
msgid "List available packages under given component"
msgstr "Liste les paquets disponibles pour un composant donné"
-#: pisi/cli/commands.py:1282
+#: pisi/cli/commands.py:1362
msgid "Show uninstalled packages only"
msgstr "Montre seulement les paquets désinstallés"
-#: pisi/cli/commands.py:1290
+#: pisi/cli/commands.py:1370
msgid "Installed packages are shown in this color"
msgstr "Les paquêts installés sont indiqués avec cette couleur"
-#: pisi/cli/commands.py:1298
+#: pisi/cli/commands.py:1378
msgid "Repository : %s\n"
msgstr "Dépôt : %s\n"
-#: pisi/cli/commands.py:1325
-#, docstring
+#: pisi/cli/commands.py:1405
msgid ""
"List available components\n"
"\n"
@@ -2062,12 +2148,11 @@ msgstr ""
"Donne une liste brêve des composants PiSi publiés\n"
"dans les dépôts.\n"
-#: pisi/cli/commands.py:1340
+#: pisi/cli/commands.py:1420
msgid "list-components options"
msgstr "Options de list-components"
-#: pisi/cli/commands.py:1365
-#, docstring
+#: pisi/cli/commands.py:1445
msgid ""
"List available sources\n"
"\n"
@@ -2081,12 +2166,11 @@ msgstr ""
"\n"
"Donnes une brève liste des sources publiées dans les dépôts.\n"
-#: pisi/cli/commands.py:1379
+#: pisi/cli/commands.py:1459
msgid "list-sources options"
msgstr "Options de list-sources"
-#: pisi/cli/commands.py:1404
-#, docstring
+#: pisi/cli/commands.py:1484
msgid ""
"List packages to be upgraded\n"
"\n"
@@ -2100,20 +2184,20 @@ msgstr ""
"\n"
"Liste les paquets qui vont être mis à jour.\n"
-#: pisi/cli/commands.py:1418
+#: pisi/cli/commands.py:1498
msgid "list-upgrades options"
msgstr "Options de list-upgrades"
-#: pisi/cli/commands.py:1423
+#: pisi/cli/commands.py:1503
msgid "List upgradable packages under given component"
-msgstr "Liste les paquets pouvant être mis à jour concernant un composant donné"
+msgstr ""
+"Liste les paquets pouvant être mis à jour concernant un composant donné"
-#: pisi/cli/commands.py:1440 pisi/operations.py:466
+#: pisi/cli/commands.py:1520 pisi/operations.py:455
msgid "No packages to upgrade."
msgstr "Pas de paquet à mettre à jour."
-#: pisi/cli/commands.py:1460
-#, docstring
+#: pisi/cli/commands.py:1540
msgid ""
"List pending packages\n"
"\n"
@@ -2123,12 +2207,11 @@ msgstr ""
"\n"
"Liste les paquet en attente de configuration.\n"
-#: pisi/cli/commands.py:1482
+#: pisi/cli/commands.py:1562
msgid "There are no packages waiting to be configured"
msgstr "Il n'y a aucun paquet en attente de configuration"
-#: pisi/cli/commands.py:1487
-#, docstring
+#: pisi/cli/commands.py:1567
msgid ""
"Search packages\n"
"\n"
@@ -2144,24 +2227,19 @@ msgstr ""
"Trouve un paquet contenant les termes recherchés\n"
"dans le sommaire, la description ou le nom du paquet.\n"
-#: pisi/cli/commands.py:1502
+#: pisi/cli/commands.py:1582
msgid "search options"
msgstr "Options de search"
-#: pisi/cli/commands.py:1505
-msgid "Set search language"
-msgstr "Établir la langue de la recherche"
-
-#: pisi/cli/commands.py:1510
+#: pisi/cli/commands.py:1588
msgid "Show details"
msgstr "Montrer les détails"
-#: pisi/cli/commands.py:1530
+#: pisi/cli/commands.py:1600
msgid "%s packages found"
msgstr "%s paquets trouvés"
-#: pisi/cli/commands.py:1539
-#, docstring
+#: pisi/cli/commands.py:1609
msgid ""
"Search for a file\n"
"\n"
@@ -2175,35 +2253,35 @@ msgstr ""
"\n"
"Trouve le paquet installé contenant le fichier spécifié.\n"
-#: pisi/cli/commands.py:1553
+#: pisi/cli/commands.py:1623
msgid "search-file options"
msgstr "Options pour search-file"
-#: pisi/cli/commands.py:1557
+#: pisi/cli/commands.py:1627
msgid "Fuzzy search"
msgstr "Recherche floue"
-#: pisi/cli/commands.py:1559
+#: pisi/cli/commands.py:1629
msgid "Show only package name"
msgstr "Montre seulement le nom de paquet"
-#: pisi/cli/commands.py:1580
+#: pisi/cli/commands.py:1650
msgid "Package %s has file %s"
msgstr "Le paquet %s a le fichier %s"
-#: pisi/cli/commands.py:1582
+#: pisi/cli/commands.py:1652
msgid "Type: %s, Hash: %s"
msgstr "Type : %s, Hash : %s"
-#: pisi/cli/commands.py:1585
+#: pisi/cli/commands.py:1655
msgid "Path '%s' does not belong to an installed package"
msgstr "Le chemin %s n'appartient à aucun paquet installé"
-#: pisi/cli/commands.py:1598
+#: pisi/cli/commands.py:1668
msgid "Searching for %s"
msgstr "Recherche pour %s"
-#: pisi/cli/commands.py:1608
+#: pisi/cli/commands.py:1678
msgid ""
"%prog [options] [arguments]\n"
"\n"
@@ -2215,23 +2293,24 @@ msgstr ""
"où peut-être :\n"
"\n"
-#: pisi/cli/commands.py:1614
+#: pisi/cli/commands.py:1684
msgid ""
"\n"
"Use \"%prog help \" for help on a specific command.\n"
msgstr ""
"\n"
-"Utilisez \"%prog help \" pour une aide concernant une commande spécifique.\n"
+"Utilisez \"%prog help \" pour une aide concernant une commande "
+"spécifique.\n"
-#: pisi/cli/pisicli.py:56
+#: pisi/cli/pisicli.py:53
msgid "Options must precede non-option arguments"
msgstr "Les options doivent précéder les arguments qui n'en sont pas."
-#: pisi/cli/pisicli.py:97
+#: pisi/cli/pisicli.py:94
msgid "No command given"
msgstr "Aucune commande fournie"
-#: pisi/cli/pisicli.py:100
+#: pisi/cli/pisicli.py:97
msgid "Command line parsing error"
msgstr "Erreur d'analyse de la ligne de commande"
@@ -2291,59 +2370,69 @@ msgstr "Appel aux officiants de pré-suppression"
msgid "Unregistering comar scripts"
msgstr "Désenregistrement des scripts comar"
-#: pisi/component.py:97 pisi/component.py:103
+#: pisi/component.py:105 pisi/component.py:111
msgid "Component %s not found"
msgstr "Le composant %s est introuvable"
-#: pisi/component.py:199 pisi/component.py:225
+#: pisi/component.py:207 pisi/component.py:233
msgid "Information for component %s not available"
msgstr "Les informations concernant le composant %s ne sont pas disponibles"
-#: pisi/config.py:61
+#: pisi/config.py:60
msgid "Destination directory %s does not exist. Creating it."
msgstr "Le répertoire de destination %s n'existe pas. Création du répertoire."
-#: pisi/configfile.py:105
+#: pisi/configfile.py:112
msgid "No section by name '%s'"
msgstr "Pas de section au nom '%s'"
-#: pisi/conflict.py:39 pisi/dependency.py:40
+#: pisi/conflict.py:26 pisi/replace.py:24
msgid " version >= "
msgstr " version >= "
-#: pisi/conflict.py:41 pisi/dependency.py:42
+#: pisi/conflict.py:28 pisi/replace.py:26
msgid " version <= "
msgstr " version <= "
-#: pisi/conflict.py:43 pisi/dependency.py:44
+#: pisi/conflict.py:30 pisi/replace.py:28
msgid " version "
msgstr " version "
-#: pisi/conflict.py:45 pisi/dependency.py:46
+#: pisi/conflict.py:32 pisi/replace.py:30
msgid " release >= "
msgstr " release >= "
-#: pisi/conflict.py:47 pisi/dependency.py:48
+#: pisi/conflict.py:34 pisi/replace.py:32
msgid " release <= "
msgstr " release <= "
-#: pisi/conflict.py:49 pisi/dependency.py:50
+#: pisi/conflict.py:36 pisi/replace.py:34
msgid " release "
msgstr " release "
-#: pisi/constants.py:30
+#: pisi/constants.py:28
msgid "Can't rebind constant: %s"
msgstr "Impossible de changer la valeur de la constante : %s"
-#: pisi/constants.py:36
+#: pisi/constants.py:34
msgid "Can't unbind constant: %s"
msgstr "Impossible de désallouer la constante : %s"
-#: pisi/dependency.py:107
+#: pisi/delta.py:27
+#, fuzzy
+msgid "Cannot create delta for same package!"
+msgstr "Impossible de créer le répertoire %s"
+
+#: pisi/delta.py:41
+#, fuzzy
+msgid "Creating delta PiSi package between %s %s"
+msgstr "Création du paquet PiSi %s."
+
+#: pisi/dependency.py:55
msgid "%s dependency of package %s is not satisfied"
msgstr "La dépendance %s du paquet %s n'est pas satisfaite"
-#: pisi/dependency.py:120
+#: pisi/dependency.py:68
msgid "Package %s is not present in the package database"
msgstr "Le paquet %s n'est pas présent dans la base de données des paquets"
@@ -2360,38 +2449,41 @@ msgid "Access denied to destination file: \"%s\""
msgstr "Accès refusé au fichier de destination : \"%s\""
#: pisi/fetcher.py:100
-msgid "A problem occured. Please check the archive address and/or permissions again."
-msgstr "Un problème est survenu. Veuillez vérifier l'adresse de l'archive et/ou ses permissions une fois de plus s'il vous plaît."
+msgid ""
+"A problem occured. Please check the archive address and/or permissions again."
+msgstr ""
+"Un problème est survenu. Veuillez vérifier l'adresse de l'archive et/ou ses "
+"permissions une fois de plus s'il vous plaît."
#: pisi/fetcher.py:158
msgid "No such file or no permission to read"
msgstr "Fichier inexistant ou pas pour d'autorisation pour le lire"
-#: pisi/fetcher.py:183
+#: pisi/fetcher.py:182
msgid "Requested range not satisfiable, starting again."
msgstr "Impossible de satisfaire la fourchette demandée, redémarrage."
-#: pisi/fetcher.py:190
+#: pisi/fetcher.py:189
msgid "Cannot fetch %s; value error: %s"
msgstr "Impossible de télécharger %s; erreur numéro : %s"
-#: pisi/fetcher.py:192 pisi/fetcher.py:196
+#: pisi/fetcher.py:191 pisi/fetcher.py:195
msgid "Cannot fetch %s; %s"
msgstr "Impossible de télécharger %s; %s"
-#: pisi/fetcher.py:194
+#: pisi/fetcher.py:193
msgid "Please check your network connections and try again. (%s)"
msgstr "Veuillez vérifier vos connections réseau et essayer de nouveau. (%s)"
-#: pisi/fetcher.py:198
+#: pisi/fetcher.py:197
msgid "Cannot fetch %s; (%s): %s"
msgstr "Impossible de télécharger %s; (%s) : %s"
-#: pisi/fetcher.py:244
+#: pisi/fetcher.py:243
msgid "Proxy configuration has been found for '%s' protocol"
msgstr "Une configuration de proxy a été trouvée pour le protocole %s"
-#: pisi/fetcher.py:328 pisi/fetcher.py:349 pisi/fetcher.py:362
+#: pisi/fetcher.py:327 pisi/fetcher.py:348 pisi/fetcher.py:362
msgid "ftp error"
msgstr "erreur ftp"
@@ -2439,43 +2531,43 @@ msgstr "ERREUR : gpg --detach-sig %s a échoué"
msgid "Encountered cycle %s"
msgstr "Dépendance circulaire %s rencontrée"
-#: pisi/index.py:92
-msgid "Adding %s to package index"
-msgstr "Ajout du paquet %s à l'index du paquet"
-
-#: pisi/index.py:95
+#: pisi/index.py:97
msgid "Adding %s to component index"
msgstr "Ajout du composant %s à l'index"
-#: pisi/index.py:113
+#: pisi/index.py:109
+msgid "Adding %s to package index"
+msgstr "Ajout du paquet %s à l'index du paquet"
+
+#: pisi/index.py:123
msgid "Updating package database of %s"
msgstr "Mise à jour de la base de données des paquets de %s"
-#: pisi/index.py:141
+#: pisi/index.py:152
msgid "Package %s: metadata corrupt, skipping..."
msgstr "Paquet %s : métadonnées corrompues, mis de côté..."
-#: pisi/index.py:169
+#: pisi/index.py:191
msgid "Adding %s to source index"
msgstr "Ajout de %s à l'index des sources"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed"
msgstr "installé"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed-pending"
msgstr "en attente d'installation"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "purged"
msgstr "purgé"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "removed"
msgstr "supprimé"
-#: pisi/installdb.py:62
+#: pisi/installdb.py:55
msgid ""
"State: %s\n"
"Version: %s, Release: %s, Build: %s\n"
@@ -2483,79 +2575,105 @@ msgstr ""
"État : %s\n"
"Version : %s, Release : %s, Build : %s\n"
-#: pisi/installdb.py:67
+#: pisi/installdb.py:60
msgid "Distribution: %s, Install Time: %s\n"
msgstr "Distribution : %s, Date d'installation : %s\n"
-#: pisi/installdb.py:154
+#: pisi/installdb.py:147
msgid "Already installed"
msgstr "Déjà installé"
-#: pisi/itembyrepodb.py:120
+#: pisi/itembyrepodb.py:114
msgid "Invalid repository string"
msgstr "Chaîne de dépôt invalide"
-#: pisi/itembyrepodb.py:142
+#: pisi/itembyrepodb.py:136
msgid "Key %s not found"
msgstr "Clef %s introuvable"
-#: pisi/itembyrepodb.py:152
+#: pisi/itembyrepodb.py:146
msgid "Key %s in repo %s not found"
msgstr "La Clef %s est introuvable dans le dépôt %s"
-#: pisi/lockeddbshelve.py:47
+#: pisi/lockeddbshelve.py:46
+#, fuzzy
msgid "Database version for %s insufficient. Please run rebuild-db command."
-msgstr "La version %s de la base de données est trop obsolète. Veuillez lancer la commande rebuild-db s'il vous plaît."
+msgstr ""
+"La version %s de la base de données est trop obsolète. Veuillez lancer la "
+"commande rebuild-db s'il vous plaît."
-#: pisi/lockeddbshelve.py:51
-msgid "Database version for %s greater than PiSi version. You need a newer PiSi."
-msgstr "La version %s est trop récente pour votre version de PiSi. Vous devez mettre à jour PiSi."
+#: pisi/lockeddbshelve.py:50
+#, fuzzy
+msgid ""
+"Database version for %s greater than PiSi version. You need a newer PiSi."
+msgstr ""
+"La version %s est trop récente pour votre version de PiSi. Vous devez mettre "
+"à jour PiSi."
-#: pisi/lockeddbshelve.py:62
+#: pisi/lockeddbshelve.py:61
msgid "Cannot attain write access to database environment"
-msgstr "Impossible d'obtenir l'accès en écriture à l'environnement de la base de données"
+msgstr ""
+"Impossible d'obtenir l'accès en écriture à l'environnement de la base de "
+"données"
-#: pisi/lockeddbshelve.py:64
+#: pisi/lockeddbshelve.py:63
msgid "Database version %s not present."
msgstr "La version de base de données %s n'est pas présente."
-#: pisi/lockeddbshelve.py:71 pisi/lockeddbshelve.py:153
-msgid "Another instance of PiSi is running. Only one instance is allowed to modify the PiSi database at a time."
-msgstr "Une autre instance de PiSi est en cours d'exécution. Une seule instance de PiSi peut modifier la base de données à la fois."
+#: pisi/lockeddbshelve.py:70 pisi/lockeddbshelve.py:152
+msgid ""
+"Another instance of PiSi is running. Only one instance is allowed to modify "
+"the PiSi database at a time."
+msgstr ""
+"Une autre instance de PiSi est en cours d'exécution. Une seule instance de "
+"PiSi peut modifier la base de données à la fois."
-#: pisi/lockeddbshelve.py:81
+#: pisi/lockeddbshelve.py:80
msgid "Cannot attain read access to database environment"
-msgstr "Impossible les droits de lecture à l'environnement de la base de données."
+msgstr ""
+"Impossible les droits de lecture à l'environnement de la base de données."
-#: pisi/lockeddbshelve.py:95
-msgid "Cannot attain write access to PiSi database. You have to be root for this operation."
-msgstr "Impossible d'obtenir les droits en écriture à la base de données de PiSi. Vous devez être root pour cette opération."
+#: pisi/lockeddbshelve.py:94
+msgid ""
+"Cannot attain write access to PiSi database. You have to be root for this "
+"operation."
+msgstr ""
+"Impossible d'obtenir les droits en écriture à la base de données de PiSi. "
+"Vous devez être root pour cette opération."
-#: pisi/lockeddbshelve.py:113
+#: pisi/lockeddbshelve.py:112
msgid "Cannot attain read or write access to database %s"
-msgstr "Impossible d'obtenir un accès en lecture ou en écriture à la base de données %s"
+msgstr ""
+"Impossible d'obtenir un accès en lecture ou en écriture à la base de données "
+"%s"
-#: pisi/lockeddbshelve.py:139
-msgid "Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
-msgstr "Les fanions devraient être 'r, 'w', 'c', 'n' ou l'un des fanions de bsddb.db.DB_*"
+#: pisi/lockeddbshelve.py:138
+msgid ""
+"Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
+msgstr ""
+"Les fanions devraient être 'r, 'w', 'c', 'n' ou l'un des fanions de bsddb.db."
+"DB_*"
-#: pisi/metadata.py:58
+#: pisi/metadata.py:74
msgid "Distribution: %s, Dist. Release: %s\n"
msgstr "Distribution: %s, Dist. Release: %s\n"
-#: pisi/metadata.py:60
+#: pisi/metadata.py:76
msgid "Architecture: %s, Installed Size: %s"
msgstr "Architecture : %s, Taille des fichiers installés : %s"
#: pisi/mirrors.py:46
msgid "Mirrors file %s does not exist. Could not resolve mirrors://"
-msgstr "Le fichier des mirroirs %s n'existe pas. Impossible de trouver les mirroirs."
+msgstr ""
+"Le fichier des mirroirs %s n'existe pas. Impossible de trouver les mirroirs."
-#: pisi/operations.py:114
+#: pisi/operations.py:106
msgid "Mixing file names and package names not supported yet."
-msgstr "Mélanger des noms de fichiers et des noms de paquets n'est pas encore supporté."
+msgstr ""
+"Mélanger des noms de fichiers et des noms de paquets n'est pas encore "
+"supporté."
-#: pisi/operations.py:156
+#: pisi/operations.py:148
msgid ""
"The following packages will be installed\n"
"in the respective order to satisfy extra dependencies:\n"
@@ -2563,35 +2681,43 @@ msgstr ""
"Les paquets suivants vont être installés\n"
"dans cet ordre afin de satisfaire des dépendances supplémentaires :\n"
-#: pisi/operations.py:159 pisi/operations.py:621
+#: pisi/operations.py:151 pisi/operations.py:618
msgid "Do you want to continue?"
msgstr "Voulez-vous continuer ?"
-#: pisi/operations.py:160
+#: pisi/operations.py:152
msgid "External dependencies not satisfied"
msgstr "Dépendances externes non satisfaites"
-#: pisi/operations.py:172 pisi/operations.py:339
+#: pisi/operations.py:164 pisi/operations.py:316
msgid "No packages to install."
msgstr "Aucun paquet à installer."
-#: pisi/operations.py:203
+#: pisi/operations.py:195
msgid "Installation order: "
msgstr "Ordre d'installation : "
-#: pisi/operations.py:257 pisi/operations.py:279
+#: pisi/operations.py:223
+msgid "Replaced package remains"
+msgstr ""
+
+#: pisi/operations.py:227 pisi/operations.py:255
msgid "Conflicts remain"
msgstr "Des conflits persistent"
-#: pisi/operations.py:267
+#: pisi/operations.py:233
+msgid "Obsoleted packages remaining"
+msgstr ""
+
+#: pisi/operations.py:243
msgid "Selected packages [%s] are in conflict with each other."
msgstr "Les paquets [%s] sélectionnés sont en conflits."
-#: pisi/operations.py:273
+#: pisi/operations.py:249
msgid "[%s conflicts with: %s]\n"
msgstr "[%s est en conflit avec %s]\n"
-#: pisi/operations.py:275
+#: pisi/operations.py:251
msgid ""
"The following packages have conflicts:\n"
"%s"
@@ -2599,87 +2725,111 @@ msgstr ""
"Le paquet suivant suscite des conflits :\n"
"%s"
-#: pisi/operations.py:278
+#: pisi/operations.py:254
msgid "Remove the following conflicting packages?"
msgstr "Supprimer les paquets en conlits suivants ?"
-#: pisi/operations.py:305
+#: pisi/operations.py:282
msgid "Safety switch: Following packages in system.base will be installed: "
-msgstr "Précautions de sécurité : Les paquets suivants de system.base vont être installés : "
+msgstr ""
+"Précautions de sécurité : Les paquets suivants de system.base vont être "
+"installés : "
-#: pisi/operations.py:311
+#: pisi/operations.py:288
msgid "Safety switch: Following packages in system.base will be upgraded: "
-msgstr "Précaution de sécurité : Les paquets suivant de system.base vont être mis à jours : "
+msgstr ""
+"Précaution de sécurité : Les paquets suivant de system.base vont être mis à "
+"jours : "
-#: pisi/operations.py:317 pisi/operations.py:597
+#: pisi/operations.py:294 pisi/operations.py:594
msgid "Safety switch: the component system.base cannot be found"
msgstr "Précautions de sécurité : Le composant system.base est introuvable"
-#: pisi/operations.py:334
-msgid "The following package(s) are already installed and are not going to be installed again:\n"
-msgstr "Le(s) paquet(s) suivant(s) est/sont déjà installé(s) et ne sera/seront pas installé(s) de nouveau.\n"
+#: pisi/operations.py:311
+msgid ""
+"The following package(s) are already installed and are not going to be "
+"installed again:\n"
+msgstr ""
+"Le(s) paquet(s) suivant(s) est/sont déjà installé(s) et ne sera/seront pas "
+"installé(s) de nouveau.\n"
-#: pisi/operations.py:355
-msgid "Following packages will be installed in the respective order to satisfy dependencies:\n"
-msgstr "Les paquets suivants vont être installés dans cet ordre afin de satisfaire des dépendances supplémentaires :\n"
+#: pisi/operations.py:332
+msgid ""
+"Following packages will be installed in the respective order to satisfy "
+"dependencies:\n"
+msgstr ""
+"Les paquets suivants vont être installés dans cet ordre afin de satisfaire "
+"des dépendances supplémentaires :\n"
-#: pisi/operations.py:360 pisi/operations.py:491
+#: pisi/operations.py:337 pisi/operations.py:480
msgid "Total size of package(s): %.2f %s"
msgstr "Taille totale du/des paquets(s) : %.2f %s"
-#: pisi/operations.py:366 pisi/operations.py:497 pisi/operations.py:709
+#: pisi/operations.py:343 pisi/operations.py:486 pisi/operations.py:705
msgid "There are extra packages due to dependencies. Do you want to continue?"
-msgstr "Il y a des paquets en plus à cause de dépendances. Voulez-vous continuer ?"
+msgstr ""
+"Il y a des paquets en plus à cause de dépendances. Voulez-vous continuer ?"
-#: pisi/operations.py:432
+#: pisi/operations.py:412
msgid "Warning: package *name* ends with '.pisi'"
msgstr "Alerte : le *nom* du paquet fini par '.pisi'"
-#: pisi/operations.py:435
+#: pisi/operations.py:424
msgid "Package %s is not installed."
msgstr "Le paquet %s n'est pas installé."
-#: pisi/operations.py:441
+#: pisi/operations.py:430
msgid "Package %s is not available in repositories."
msgstr "Le paquet %s n'est pas disponible dans les dépôts."
-#: pisi/operations.py:453
+#: pisi/operations.py:442
msgid "Package %s is already at the latest release %s."
msgstr "Le paquet %s est déjà dans sa version la plus récente %s."
-#: pisi/operations.py:459
+#: pisi/operations.py:448
msgid "Package %s is already at the latest build %s."
msgstr "Le paquet %s est déjà à son build le plus récent %s."
-#: pisi/operations.py:486
+#: pisi/operations.py:475
msgid "The following packages will be upgraded: "
msgstr "Le paquet suivant va être mis à jour :"
-#: pisi/operations.py:552
+#: pisi/operations.py:493
+msgid "Downloading %d / %d"
+msgstr ""
+
+#: pisi/operations.py:511
+#, fuzzy
+msgid "Installing %d / %d"
+msgstr "%s installé"
+
+#: pisi/operations.py:548
msgid "Dependency %s of %s cannot be satisfied"
msgstr "La dépendance %s de %s ne peut-être satisfaite"
-#: pisi/operations.py:553
+#: pisi/operations.py:549
msgid "Upgrade is not possible."
msgstr "La mise à jour est impossible."
-#: pisi/operations.py:568
+#: pisi/operations.py:565
msgid "Reverse dependency %s of %s cannot be satisfied"
msgstr "La dépendance inverse %s de %s ne peut-être satisfaite"
-#: pisi/operations.py:593
+#: pisi/operations.py:590
msgid "Safety switch: cannot remove the following packages in system.base: "
-msgstr "Précautions de sécurité : impossible de supprimer les paquets suivants de system.base : "
+msgstr ""
+"Précautions de sécurité : impossible de supprimer les paquets suivants de "
+"system.base : "
-#: pisi/operations.py:604
+#: pisi/operations.py:601
msgid "Package %s does not exist. Cannot remove."
msgstr "Le paquet %s n'existe pas. Impossible de le supprimer."
-#: pisi/operations.py:608
+#: pisi/operations.py:605
msgid "No packages to remove."
msgstr "Aucun paquet à supprimer."
-#: pisi/operations.py:617
+#: pisi/operations.py:614
msgid ""
"The following minimal list of packages will be removed\n"
"in the respective order to satisfy dependencies:\n"
@@ -2687,19 +2837,19 @@ msgstr ""
"La liste minimale suivante de paquet va être supprimée\n"
"en respectant cet ordre afin de satisfaire les dépendances :\n"
-#: pisi/operations.py:622
+#: pisi/operations.py:619
msgid "Package removal declined"
msgstr "Suppression de paquet déclinée"
-#: pisi/operations.py:634
+#: pisi/operations.py:631
msgid "Package %s is not installed. Cannot remove."
msgstr "Le paquet %s n'est pas installé. Impossible de le supprimer."
-#: pisi/operations.py:683
+#: pisi/operations.py:679
msgid "No packages to emerge."
msgstr "Aucun paquet à émerger."
-#: pisi/operations.py:698
+#: pisi/operations.py:694
msgid ""
"The following minimal list of packages will be installed\n"
"from repository in the respective order to satisfy dependencies:\n"
@@ -2707,7 +2857,7 @@ msgstr ""
"La liste suivante minimaliste de paquet va être installée\n"
"depuis le dépôt dans cet ordre afin de satisfaire les dépendances :\n"
-#: pisi/operations.py:701
+#: pisi/operations.py:697
msgid ""
"The following minimal list of packages will be built and\n"
"installed in the respective order to satisfy dependencies:\n"
@@ -2715,104 +2865,110 @@ msgstr ""
"Les paquets de la liste minimaliste suivante vont être\n"
"construits et installé dans cet ordre afin de satisfaire les dépendances :\n"
-#: pisi/operations.py:743
+#: pisi/operations.py:739
msgid "Cannot find source package: %s"
msgstr "Impossible de trouver le paquet source : %s"
#: pisi/package.py:56
+#, fuzzy
msgid ""
"There was a problem while fetching '%s'.\n"
"The package may have been upgraded. Please try to upgrade the package."
msgstr ""
"Un problème est survenu lors du téléchargement de '%s'.\n"
-"Le paquet a peut être été mis à jour. Essayez de mettre à jour de nouveau le paquet."
+"Le paquet a peut être été mis à jour. Essayez de mettre à jour de nouveau le "
+"paquet."
-#: pisi/package.py:60 pisi/sourcearchive.py:94
+#: pisi/package.py:60 pisi/sourcearchive.py:92
msgid "%s [cached]"
msgstr "%s [en cache]"
-#: pisi/package.py:131
+#: pisi/package.py:136
msgid "MetaData format wrong"
msgstr "Mauvais format de métadonnées"
-#: pisi/packagedb.py:66
+#: pisi/packagedb.py:65
msgid "Package %s not found"
msgstr "Paquet %s introuvable"
-#: pisi/pxml/autoxml.py:77
+#: pisi/pxml/autoxml.py:79
msgid "At least one '%s' tag should have local text"
msgstr "Au moins une balise '%s' devrait avoir du texte local"
-#: pisi/pxml/autoxml.py:84
+#: pisi/pxml/autoxml.py:86
msgid "'%s' language of tag '%s' is empty"
msgstr "La balise '%2$s' est vide pour la langue '%1$s'"
-#: pisi/pxml/autoxml.py:112
+#: pisi/pxml/autoxml.py:114
msgid "LocalText: unable to get either current or default locale"
msgstr "LocalText: Impossible d'obtenir la locale courante ni celle par défaut"
-#: pisi/pxml/autoxml.py:118 pisi/pxml/autoxml.py:133
-msgid "Tag should have at least the current locale, or failing that an English or Turkish version"
-msgstr "À défaut d'avoir la locale courante, la balise devrait au moins avoir une version anglaise ou turque."
+#: pisi/pxml/autoxml.py:120 pisi/pxml/autoxml.py:135
+msgid ""
+"Tag should have at least the current locale, or failing that an English or "
+"Turkish version"
+msgstr ""
+"À défaut d'avoir la locale courante, la balise devrait au moins avoir une "
+"version anglaise ou turque."
-#: pisi/pxml/autoxml.py:368
+#: pisi/pxml/autoxml.py:373
msgid "autoxml.check: '%s' errors"
msgstr "autoxml.check : erreurs '%s'"
-#: pisi/pxml/autoxml.py:423 pisi/pxml/autoxml.py:433
+#: pisi/pxml/autoxml.py:428 pisi/pxml/autoxml.py:438
msgid "autoxml.parse: String '%s' has errors"
msgstr "autoxml.parse : La chaîne '%s' comporte des erreurs"
-#: pisi/pxml/autoxml.py:443 pisi/pxml/autoxml.py:453
+#: pisi/pxml/autoxml.py:448 pisi/pxml/autoxml.py:458
msgid "autoxml.read: File '%s' has errors"
msgstr "autoxml.read : Le fichier '%s' contient des erreurs"
-#: pisi/pxml/autoxml.py:461
+#: pisi/pxml/autoxml.py:466
msgid "autoxml.write: object validation has failed"
msgstr "autoxml.write : la validation a échoué"
-#: pisi/pxml/autoxml.py:469
+#: pisi/pxml/autoxml.py:474
msgid "autoxml.write: File encoding '%s' has errors"
msgstr "autoxml.write : L'encodage du fichier '%s' comporte des erreurs"
-#: pisi/pxml/autoxml.py:519
+#: pisi/pxml/autoxml.py:524
msgid "gen_tag: unrecognized tag type %s in spec"
msgstr "gen_tag : type de balyse %s non reconnu dans la spec"
-#: pisi/pxml/autoxml.py:567 pisi/pxml/autoxml.py:578
+#: pisi/pxml/autoxml.py:572 pisi/pxml/autoxml.py:583
msgid "Mandatory variable %s not available"
msgstr "La variable obligatoire %s n'est pas disponible"
-#: pisi/pxml/autoxml.py:648
+#: pisi/pxml/autoxml.py:653
msgid "Type mismatch: read text cannot be decoded"
msgstr "Problème de correspondance de types : Le texte lu ne peut être décodé"
-#: pisi/pxml/autoxml.py:652 pisi/pxml/autoxml.py:661
+#: pisi/pxml/autoxml.py:657 pisi/pxml/autoxml.py:666
msgid "Mandatory token %s not available"
msgstr "Item %s obligatoire non disponible"
-#: pisi/pxml/autoxml.py:666
+#: pisi/pxml/autoxml.py:671
msgid "Type mismatch. Expected %s, got %s"
msgstr "Problème de correspondance de type. Attendu %s, reçu %s"
-#: pisi/pxml/autoxml.py:696 pisi/pxml/autoxml.py:812
+#: pisi/pxml/autoxml.py:701 pisi/pxml/autoxml.py:817
msgid "Type mismatch: DOM cannot be decoded"
msgstr "Problème de correspondance de type : Impossible de décoder le DOM"
-#: pisi/pxml/autoxml.py:699 pisi/pxml/autoxml.py:715 pisi/pxml/autoxml.py:725
-#: pisi/pxml/autoxml.py:815 pisi/pxml/autoxml.py:829 pisi/pxml/autoxml.py:839
+#: pisi/pxml/autoxml.py:704 pisi/pxml/autoxml.py:720 pisi/pxml/autoxml.py:730
+#: pisi/pxml/autoxml.py:820 pisi/pxml/autoxml.py:834 pisi/pxml/autoxml.py:844
msgid "Mandatory argument not available"
msgstr "Argument obligatoire non disponible"
-#: pisi/pxml/autoxml.py:712 pisi/pxml/autoxml.py:826
+#: pisi/pxml/autoxml.py:717 pisi/pxml/autoxml.py:831
msgid "Object cannot be encoded"
msgstr "L'objet ne peut être encodé"
-#: pisi/pxml/autoxml.py:737
+#: pisi/pxml/autoxml.py:742
msgid "List type must contain only one element"
msgstr "La liste des type ne doit contenir qu'un seul élément"
-#: pisi/pxml/autoxml.py:750 pisi/pxml/autoxml.py:771
+#: pisi/pxml/autoxml.py:755 pisi/pxml/autoxml.py:776
msgid "Mandatory list \"%s\" under \"%s\" node is empty."
msgstr "La liste obligatoire \"%s\" sous le noeud \"%s\" est vide."
@@ -2820,23 +2976,23 @@ msgstr "La liste obligatoire \"%s\" sous le noeud \"%s\" est vide."
msgid "getNodeText: Expected text node, got something else!"
msgstr "getNodeText : Attendait un noeud texte, reçu quelque chose d'autre !"
-#: pisi/pxml/xmlfile.py:64
+#: pisi/pxml/xmlfile.py:63
msgid "String '%s' has invalid XML"
msgstr "Chaîne '%s' contient un texte XML invalide"
-#: pisi/pxml/xmlfile.py:72 pisi/pxml/xmlfile.py:87
+#: pisi/pxml/xmlfile.py:71 pisi/pxml/xmlfile.py:86
msgid "File '%s' has invalid XML"
msgstr "Le fichier '%s' contient un texte XML invalide"
-#: pisi/repodb.py:74
+#: pisi/repodb.py:69
msgid "No repository named %s exists"
msgstr "Aucun dépôt %s n'existe"
-#: pisi/repodb.py:83
+#: pisi/repodb.py:78
msgid "Repository %s already exists"
msgstr "Le dépôt %s existe déjà"
-#: pisi/repodb.py:90
+#: pisi/repodb.py:85
msgid "Cannot add repository at position %s"
msgstr "Impossible d'ajout de dépôt à la position %s"
@@ -2852,55 +3008,55 @@ msgstr "Un dépôt a déjà le paquet %s."
msgid "Repo does not have package named %s."
msgstr "Le dépôt n'a pas le paquet %s."
-#: pisi/sourcearchive.py:63
+#: pisi/sourcearchive.py:61
msgid "Trying fallback address: %s"
msgstr "Essai avec l'adresse de secours : %s"
-#: pisi/sourcearchive.py:74
+#: pisi/sourcearchive.py:72
msgid "%s mirrors are not defined."
msgstr "Les mirroirs %s ne sont pas définis."
-#: pisi/sourcearchive.py:79
+#: pisi/sourcearchive.py:77
msgid "Fetching source from mirror: %s"
msgstr "Téléchargement de la source depuis le mirroir %s"
-#: pisi/sourcearchive.py:85
+#: pisi/sourcearchive.py:83
msgid "Could not fetch source from %s mirrors."
msgstr "Impossible de télécharge la source depuis les mirroirs %s."
-#: pisi/sourcearchive.py:103
+#: pisi/sourcearchive.py:101
msgid "unpack: check_file_hash failed"
msgstr "unpack : check_file_hash a échoué"
-#: pisi/sourcedb.py:59 pisi/sourcedb.py:65
+#: pisi/sourcedb.py:54 pisi/sourcedb.py:60
msgid "Source package %s not found"
msgstr "La paquet source %s est introuvable"
-#: pisi/specfile.py:141
+#: pisi/specfile.py:139
msgid "URI: %s, type: %s, sha1sum: %s"
msgstr "URI : %s, type : %s, sha1sum : %s"
-#: pisi/specfile.py:208
+#: pisi/specfile.py:206
msgid "Name: %s, version: %s, release: %s, build %s\n"
msgstr "Nom : %s, version : %s, release : %s, build %s\n"
-#: pisi/specfile.py:210
+#: pisi/specfile.py:208
msgid "Summary: %s\n"
msgstr "Résumé : %s\n"
-#: pisi/specfile.py:211
+#: pisi/specfile.py:209
msgid "Description: %s\n"
msgstr "Description : %s\n"
-#: pisi/specfile.py:212
+#: pisi/specfile.py:210
msgid "Component: %s\n"
msgstr "Composant : %s\n"
-#: pisi/specfile.py:213
+#: pisi/specfile.py:211
msgid "Provides: "
msgstr "Fournit : "
-#: pisi/specfile.py:217
+#: pisi/specfile.py:215
msgid "Dependencies: "
msgstr "Dépendances : "
@@ -2916,47 +3072,45 @@ msgstr "En cours d'exécution"
msgid "return value for \"%s\" is %s"
msgstr "la valeur retournée pour \"%s\" est %s"
-#: pisi/util.py:364
+#: pisi/util.py:361
msgid "Including external link '%s'"
msgstr "Inclusion du lien externe '%s'"
-#: pisi/util.py:366
+#: pisi/util.py:363
msgid "Including directory '%s'"
msgstr "Inclusion du répertoire '%s'"
-#: pisi/util.py:440
+#: pisi/util.py:448
msgid "I/O Error: Cannot calculate SHA1 hash of %s"
-msgstr "Erreur d'Entrée/Sortie : Impossible de calculer la somme de contrôle SHA1 de %s"
+msgstr ""
+"Erreur d'Entrée/Sortie : Impossible de calculer la somme de contrôle SHA1 de "
+"%s"
-#: pisi/util.py:451
+#: pisi/util.py:459
msgid "Cannot calculate SHA1 hash of given data"
msgstr "Impossible de calcule la somme de contrôle SHA1 des données spécifiées"
-#: pisi/util.py:488
+#: pisi/util.py:508
msgid "ERROR: patch (%s) failed"
msgstr "ERREUR : le patch (%s) a échoué"
-#: pisi/util.py:490
+#: pisi/util.py:510
msgid "ERROR: patch (%s) failed: %s"
msgstr "ERREUR : le patch (%s) a échoué : %s"
-#: pisi/util.py:536
+#: pisi/util.py:556
msgid "strip command failed for file '%s'!"
msgstr "La commande strip a échoué pour le fichier '%s'!"
-#: pisi/util.py:543
+#: pisi/util.py:563
msgid "objcopy (keep-debug) command failed for file '%s'!"
msgstr "objcopy (keep-debug) la commande a échoué pour le fichie'%s'!"
-#: pisi/util.py:549
+#: pisi/util.py:569
msgid "objcopy (add-debuglink) command failed for file '%s'!"
msgstr "objcopy (add-debuglink) La commande a échoué pour le fichier '%s'!"
-#: pisi/util.py:610
-msgid "Updating environment..."
-msgstr "Mise à jour de l'environnement..."
-
-#: scripts/repostats.py:361
+#: scripts/repostats.py:226
msgid ""
"Duplicate binary packages:\n"
"%s\n"
@@ -2966,11 +3120,7 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:366
-msgid "Unknown file type '%s' in package '%s'"
-msgstr "Fichier de type inconnu %s dans le paquet '%s'"
-
-#: scripts/repostats.py:422
+#: scripts/repostats.py:301
msgid ""
"Duplicate source packages:\n"
"%s\n"
@@ -2980,15 +3130,14 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:442
-msgid "Source package '%s' has wrong date format '%s'"
-msgstr "Paquet source '%s' a un format de date erroné '%s'"
+#: scripts/repostats.py:371
+msgid ""
+"Developer '%s <%s>' has another mail address '%s' in source package '%s'"
+msgstr ""
+"Le développeur '%s <%s>' a une autre adresse mail '%s' dans le paquet source "
+"'%s'"
-#: scripts/repostats.py:481
-msgid "Developer '%s <%s>' has another mail address '%s' in source package '%s'"
-msgstr "Le développeur '%s <%s>' a une autre adresse mail '%s' dans le paquet source '%s'"
-
-#: scripts/repostats.py:564
+#: scripts/repostats.py:467
msgid ""
"Cannot parse '%s':\n"
"%s\n"
@@ -2996,27 +3145,42 @@ msgstr ""
"Impossible d'analyser '%s' :\n"
"%s\n"
-#: scripts/repostats.py:642
+#: scripts/repostats.py:553
msgid "Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n"
-msgstr "Utilisation : repostats.py [OPTIONS] chemin-dépôt-source [chemin-dépôt-binaire]\n"
+msgstr ""
+"Utilisation : repostats.py [OPTIONS] chemin-dépôt-source [chemin-dépôt-"
+"binaire]\n"
-#: scripts/repostats.py:643
+#: scripts/repostats.py:554
msgid "Dont generate the web site.\n"
msgstr "Ne pas générer de site web.\n"
-#: scripts/repostats.py:664
+#: scripts/repostats.py:575
msgid "Scanning source repository...\n"
msgstr "Exploration du dépôt de sources...\n"
-#: scripts/repostats.py:668
+#: scripts/repostats.py:579
msgid "Scanning binary packages...\n"
msgstr "Exploration de paquets binaires...\n"
-#: scripts/repostats.py:673
-msgid "Encountered %d errors! Fix them immediately!\n"
-msgstr "%s erreurs rencontrées ! Correction immédiate exigée !\n"
+#, fuzzy
+#~ msgid "History for Package %s not found"
+#~ msgstr "Paquet %s introuvable"
-#: scripts/repostats.py:681
-msgid "These dependencies are not available in repository:\n"
-msgstr "Les dépendances suivantes ne sont pas disponibles dans le dépôt :\n"
+#~ msgid "Updating environment..."
+#~ msgstr "Mise à jour de l'environnement..."
+#~ msgid "Set search language"
+#~ msgstr "Établir la langue de la recherche"
+
+#~ msgid "Unknown file type '%s' in package '%s'"
+#~ msgstr "Fichier de type inconnu %s dans le paquet '%s'"
+
+#~ msgid "Source package '%s' has wrong date format '%s'"
+#~ msgstr "Paquet source '%s' a un format de date erroné '%s'"
+
+#~ msgid "Encountered %d errors! Fix them immediately!\n"
+#~ msgstr "%s erreurs rencontrées ! Correction immédiate exigée !\n"
+
+#~ msgid "These dependencies are not available in repository:\n"
+#~ msgstr "Les dépendances suivantes ne sont pas disponibles dans le dépôt :\n"
diff --git a/po/it.po b/po/it.po
index df0c34f0..4f9a35ed 100644
--- a/po/it.po
+++ b/po/it.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: it\n"
-"POT-Creation-Date: 2006-12-12 14:29+EET\n"
+"POT-Creation-Date: 2007-07-05 09:54+EEST\n"
"PO-Revision-Date: 2007-04-25 14:47+0200\n"
"Last-Translator: Andrea Decorte \n"
"Language-Team: Italian \n"
@@ -17,7 +17,6 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: /usr/lib/python2.4/optparse.py:1
-#, docstring
msgid ""
"optparse - a powerful, extensible, and easy-to-use option parser.\n"
"\n"
@@ -33,11 +32,13 @@ msgid ""
"For support, use the optik-users@lists.sourceforge.net mailing list\n"
"(http://lists.sourceforge.net/lists/listinfo/optik-users).\n"
msgstr ""
-"optparse - un analizzatore (parser) di opzioni potente, estensibile e facile da utilizzare.\n"
+"optparse - un analizzatore (parser) di opzioni potente, estensibile e facile "
+"da utilizzare.\n"
"\n"
"Di Greg Ward \n"
"\n"
-"Distribuito originariamente come Optik; guarda http://optik.sourceforge.net/ .\n"
+"Distribuito originariamente come Optik; guarda http://optik.sourceforge."
+"net/ .\n"
"\n"
"Se hai dei problemi con questo modulo, per favore non inviare bug,\n"
"patch, o richieste di nuove funzioni nella pagina di Python; usa invece la\n"
@@ -48,7 +49,6 @@ msgstr ""
"(http://lists.sourceforge.net/lists/listinfo/optik-users).\n"
#: /usr/lib/python2.4/optparse.py:93
-#, docstring
msgid ""
"\n"
" Raised if an Option instance is created with invalid or\n"
@@ -61,7 +61,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:109
-#, docstring
msgid ""
"\n"
" Raised if conflicting options are added to an OptionParser.\n"
@@ -72,7 +71,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:114
-#, docstring
msgid ""
"\n"
" Raised if an invalid option value is encountered on the command\n"
@@ -85,23 +83,23 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:120
-#, docstring
msgid ""
"\n"
" Raised if an invalid or ambiguous option is seen on the command-line.\n"
" "
msgstr ""
"\n"
-" Lanciata se una opzione non valida o ambigua viene riscontrata nella linea di comando.\n"
+" Lanciata se una opzione non valida o ambigua viene riscontrata nella "
+"linea di comando.\n"
" "
-#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:50
-#, docstring
+#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:48
msgid "Return a comma-separated list of option strings & metavariables."
-msgstr "Restituisce una lista separata da virgole di stringhe di opzione e metavariabili."
+msgstr ""
+"Restituisce una lista separata da virgole di stringhe di opzione e "
+"metavariabili."
#: /usr/lib/python2.4/optparse.py:317
-#, docstring
msgid ""
"Format help with indented section bodies.\n"
" "
@@ -109,12 +107,11 @@ msgstr ""
"Formatta l'aiuto indentando il corpo delle sezioni.\n"
" "
-#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:44
+#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:42
msgid "usage: %s\n"
msgstr "uso: %s\n"
#: /usr/lib/python2.4/optparse.py:336
-#, docstring
msgid ""
"Format help with underlined section headers.\n"
" "
@@ -151,7 +148,6 @@ msgid "option %s: invalid choice: %r (choose from %s)"
msgstr "opzione %s: scelta non valida: %r (scegli tra %s)"
#: /usr/lib/python2.4/optparse.py:382
-#, docstring
msgid ""
"\n"
" Instance attributes:\n"
@@ -192,7 +188,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:781
-#, docstring
msgid ""
"\n"
" Update the option values from an arbitrary dictionary, but only\n"
@@ -202,14 +197,15 @@ msgid ""
" "
msgstr ""
"\n"
-" Aggiorna i valori delle opzioni da un dizionario arbitrario, ma utilizza\n"
-" solo le chiavi del dizionario che hanno già un attributo corrispondente\n"
-" in sé. Qualsiasi chiave del dizionario senza un attributo corrispondente\n"
-" verrà ignorata silenziosamente.\\ "
-" "
+" Aggiorna i valori delle opzioni da un dizionario arbitrario, ma "
+"utilizza\n"
+" solo le chiavi del dizionario che hanno già un attributo "
+"corrispondente\n"
+" in sé. Qualsiasi chiave del dizionario senza un attributo "
+"corrispondente\n"
+" verrà ignorata silenziosamente.\\ "
#: /usr/lib/python2.4/optparse.py:794
-#, docstring
msgid ""
"\n"
" Update the option values from an arbitrary dictionary,\n"
@@ -224,7 +220,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:926
-#, docstring
msgid ""
"add_option(Option)\n"
" add_option(opt_str, ..., kwarg=val, ...)\n"
@@ -247,7 +242,6 @@ msgid "%prog [options]"
msgstr "%prog [opzioni]"
#: /usr/lib/python2.4/optparse.py:1246
-#, docstring
msgid ""
"\n"
" parse_args(args : [string] = sys.argv[1:],\n"
@@ -265,7 +259,6 @@ msgid ""
msgstr ""
#: /usr/lib/python2.4/optparse.py:1285
-#, docstring
msgid ""
"\n"
" check_values(values : Values, args : [string])\n"
@@ -280,21 +273,21 @@ msgid ""
msgstr ""
#: /usr/lib/python2.4/optparse.py:1298
-#, docstring
msgid ""
"_process_args(largs : [string],\n"
" rargs : [string],\n"
" values : Values)\n"
"\n"
" Process command-line arguments and populate 'values', consuming\n"
-" options and arguments from 'rargs'. If 'allow_interspersed_args' is\n"
-" false, stop at the first non-option argument. If true, accumulate any\n"
+" options and arguments from 'rargs'. If 'allow_interspersed_args' "
+"is\n"
+" false, stop at the first non-option argument. If true, accumulate "
+"any\n"
" interspersed non-option arguments in 'largs'.\n"
" "
msgstr ""
#: /usr/lib/python2.4/optparse.py:1349
-#, docstring
msgid ""
"_match_long_opt(opt : string) -> string\n"
"\n"
@@ -321,7 +314,6 @@ msgid "no such option: %s"
msgstr "opzione non valida: %s"
#: /usr/lib/python2.4/optparse.py:1454
-#, docstring
msgid ""
"error(msg : string)\n"
"\n"
@@ -332,13 +324,14 @@ msgid ""
msgstr ""
"error(msg : string)\n"
"\n"
-" Stampa un messaggio di utilizzo incorporando 'msg' nel stderr e esce.\n"
-" Se sovrascrivi questa funzione in una sottoclasse, non deve restituire nulla -- \n"
+" Stampa un messaggio di utilizzo incorporando 'msg' nel stderr e "
+"esce.\n"
+" Se sovrascrivi questa funzione in una sottoclasse, non deve "
+"restituire nulla -- \n"
" deve o uscire o lanciare un'eccezione.\n"
" "
#: /usr/lib/python2.4/optparse.py:1471
-#, docstring
msgid ""
"print_usage(file : file = stdout)\n"
"\n"
@@ -352,14 +345,14 @@ msgstr ""
"print_usage(file : file = stdout)\n"
"\n"
" Stampa il messaggio d'uso per il programma corrente (self.usage) su\n"
-" 'file' (predefinito stdout). Ogni occorrenza della stringa \"%prog\" in\n"
+" 'file' (predefinito stdout). Ogni occorrenza della stringa \"%prog"
+"\" in\n"
" self.usage viene sostituita con il nome del programma corrente\n"
" (nome base di sys.argv[0]). Non fa nulla se self.usage è vuoto\n"
" o non definito.\n"
" "
#: /usr/lib/python2.4/optparse.py:1489
-#, docstring
msgid ""
"print_version(file : file = stdout)\n"
"\n"
@@ -371,9 +364,12 @@ msgid ""
msgstr ""
"print_version(file : file = stdout)\n"
"\n"
-" Stampa il messaggio di versione per questo programma (self.version) su\n"
-" 'file' (predefinito stdout). Come per print_usage(), ogni occorrenza\n"
-" di \"%prog\" in self.version viene sostituita dal nome del programma\n"
+" Stampa il messaggio di versione per questo programma (self.version) "
+"su\n"
+" 'file' (predefinito stdout). Come per print_usage(), ogni "
+"occorrenza\n"
+" di \"%prog\" in self.version viene sostituita dal nome del "
+"programma\n"
" corrente. Non fa nulla se self.version è vuoto o non definito.\n"
" "
@@ -382,7 +378,6 @@ msgid "options"
msgstr "opzioni"
#: /usr/lib/python2.4/optparse.py:1528
-#, docstring
msgid ""
"print_help(file : file = stdout)\n"
"\n"
@@ -397,7 +392,6 @@ msgstr ""
" "
#: /usr/lib/python2.4/optparse.py:1541
-#, docstring
msgid ""
"_match_abbrev(s : string, wordmap : {string : Option}) -> string\n"
"\n"
@@ -422,12 +416,15 @@ msgstr "Programma terminato."
#: pisi-cli:52
msgid ""
"A database operation has been aborted. You should run pisi\n"
-"again for normal DB recovery procedure. Make sure you have free disk space. \n"
-"You have to run rebuild-db only when there is file corruption and database upgrades."
+"again for normal DB recovery procedure. Make sure you have free disk "
+"space. \n"
+"You have to run rebuild-db only when there is file corruption and database "
+"upgrades."
msgstr ""
"Una operazione sul database è stata annullata. Dovresti lanciare\n"
"nuovamente PiSi per la procedura di correzione del database. Assicurati\n"
-"di avere spazio libero a sufficienza. Devi eseguire rebuild-db solo quando si\n"
+"di avere spazio libero a sufficienza. Devi eseguire rebuild-db solo quando "
+"si\n"
"riscontra la corruzione di file o ci sono aggiornamenti del database."
#: pisi-cli:57
@@ -454,7 +451,7 @@ msgstr "Traceback:"
msgid "Use --debug to see a traceback."
msgstr "Utilizza --debug per vedere il traceback."
-#: pisi/actionsapi/autotools.py:36
+#: pisi/actionsapi/autotools.py:36 pisi/actionsapi/cmaketools.py:36
msgid ""
"Please attach the config.log to your bug report:\n"
"%s/config.log"
@@ -463,8 +460,8 @@ msgstr ""
"%s/config.log"
#: pisi/actionsapi/autotools.py:75 pisi/actionsapi/autotools.py:85
-#: pisi/actionsapi/kde.py:65 pisi/actionsapi/perlmodules.py:54
-#: pisi/actionsapi/perlmodules.py:57
+#: pisi/actionsapi/cmaketools.py:62 pisi/actionsapi/kde.py:65
+#: pisi/actionsapi/perlmodules.py:54 pisi/actionsapi/perlmodules.py:57
msgid "Configure failed."
msgstr "Configure fallito."
@@ -473,48 +470,56 @@ msgstr "Configure fallito."
msgid "No configure script found."
msgstr "Nessun script configure trovato."
-#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/kde.py:72
-#: pisi/actionsapi/perlmodules.py:63 pisi/actionsapi/perlmodules.py:72
-#: pisi/actionsapi/pythonmodules.py:49 pisi/actionsapi/scons.py:39
+#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/cmaketools.py:70
+#: pisi/actionsapi/kde.py:72 pisi/actionsapi/perlmodules.py:63
+#: pisi/actionsapi/perlmodules.py:72 pisi/actionsapi/pythonmodules.py:49
+#: pisi/actionsapi/scons.py:39
msgid "Make failed."
msgstr "Make fallito."
-#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:134
+#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:135
+#: pisi/actionsapi/cmaketools.py:100 pisi/actionsapi/cmaketools.py:110
#: pisi/actionsapi/kde.py:79 pisi/actionsapi/pythonmodules.py:54
#: pisi/actionsapi/scons.py:43
msgid "Install failed."
msgstr "Install fallito."
-#: pisi/actionsapi/autotools.py:126 pisi/actionsapi/autotools.py:136
-#: pisi/actionsapi/kde.py:81
+#: pisi/actionsapi/autotools.py:128 pisi/actionsapi/autotools.py:139
+#: pisi/actionsapi/cmaketools.py:72 pisi/actionsapi/cmaketools.py:104
+#: pisi/actionsapi/cmaketools.py:114 pisi/actionsapi/kde.py:81
msgid "No Makefile found."
msgstr "File makefile non trovato."
-#: pisi/actionsapi/autotools.py:143
+#: pisi/actionsapi/autotools.py:144
msgid "Running aclocal failed."
msgstr "Esecuzione di aclocal fallita."
-#: pisi/actionsapi/autotools.py:148
+#: pisi/actionsapi/autotools.py:149
msgid "Running autoconf failed."
msgstr "Esecuzione di autoconf fallita."
-#: pisi/actionsapi/autotools.py:153
+#: pisi/actionsapi/autotools.py:154
msgid "Running autoreconf failed."
msgstr "Esecuzione di autoreconf fallita."
-#: pisi/actionsapi/autotools.py:158
+#: pisi/actionsapi/autotools.py:159
msgid "Running automake failed."
msgstr "Esecuzione di automake fallita."
-#: pisi/actionsapi/autotools.py:163
+#: pisi/actionsapi/autotools.py:164
msgid "Running autoheader failed."
msgstr "Esecuzione di autoheader fallita."
-#: pisi/actionsapi/get.py:163
+#: pisi/actionsapi/cmaketools.py:64
+#, fuzzy
+msgid "No configure script found for cmake."
+msgstr "Nessun script configure trovato."
+
+#: pisi/actionsapi/get.py:160
msgid "Util %s cannot be found"
msgstr "Utilità %s non trovata"
-#: pisi/actionsapi/get.py:165
+#: pisi/actionsapi/get.py:162
msgid "Warning: %s does not exist, using plain name %s"
msgstr "Attenzione: %s non esiste, utilizzo il nome semplice %s"
@@ -646,19 +651,19 @@ msgstr "ActionsAPI [copytree]: La cartella %s non esiste."
msgid "ActionsAPI [touch]: Permission denied: %s"
msgstr "ActionsAPI [touch]: Permesso negato: %s"
-#: pisi/api.py:302 pisi/comariface.py:30
+#: pisi/api.py:299 pisi/comariface.py:30
msgid "comar package is not fully installed"
msgstr "il pacchetto COMAR non è completamente installato"
-#: pisi/api.py:314
+#: pisi/api.py:311
msgid "File %s not found"
msgstr "File %s non trovato"
-#: pisi/api.py:375
+#: pisi/api.py:366
msgid "Checking /%s "
msgstr "Verifica di /%s "
-#: pisi/api.py:379
+#: pisi/api.py:370
msgid ""
"\n"
"Corrupt file: %s"
@@ -666,67 +671,67 @@ msgstr ""
"\n"
"File corrotto: %s"
-#: pisi/api.py:381 pisi/cli/commands.py:966
+#: pisi/api.py:372 pisi/cli/commands.py:1046
msgid "OK"
msgstr "OK"
-#: pisi/api.py:394
+#: pisi/api.py:385
msgid "* Building index of PiSi files under %s"
msgstr "* Costruzione dell'indice dei file PiSi in %s"
-#: pisi/api.py:401
+#: pisi/api.py:392
msgid "* Index file written"
msgstr "* File di indice scritto"
-#: pisi/api.py:405
+#: pisi/api.py:396
msgid "Repo %s already present."
msgstr "Il repository %s è già presente."
-#: pisi/api.py:409
+#: pisi/api.py:400
msgid "Repo %s added to system."
msgstr "Il repository %s è stato aggiunto al sistema."
-#: pisi/api.py:415
+#: pisi/api.py:406
msgid "Repo %s removed from system."
msgstr "Il repository %s è stato rimosso dal sistema."
-#: pisi/api.py:417
+#: pisi/api.py:408
msgid "Repository %s does not exist. Cannot remove."
msgstr "Il repository %s non esiste. Impossibile rimuovere."
-#: pisi/api.py:424
+#: pisi/api.py:415
msgid "* Updating repository: %s"
msgstr "* Aggiornamento del repository: %s"
-#: pisi/api.py:432
+#: pisi/api.py:423
msgid "No updates available for repository %s."
msgstr "Nessun aggiornamento disponibile per il repository %s."
-#: pisi/api.py:434
+#: pisi/api.py:425
msgid "Updating database at any rate as requested"
msgstr "Aggiornamento del database alla frequenza richiesta"
-#: pisi/api.py:445
+#: pisi/api.py:436
msgid "* Package database updated."
msgstr "* Database dei pacchetti aggiornato."
-#: pisi/api.py:447 pisi/api.py:472
+#: pisi/api.py:438 pisi/api.py:463
msgid "No repository named %s found."
msgstr "Nessun repository di nome %s trovato."
-#: pisi/api.py:455
+#: pisi/api.py:446
msgid "* Rebuilding '%s' named repo... "
msgstr "* Ricostruzione del repository di nome '%s'... "
-#: pisi/api.py:468
+#: pisi/api.py:459
msgid "Input/Output error while reading %s: %s"
msgstr "Errore in Input/Output durante la lettura di %s: %s"
-#: pisi/api.py:525
+#: pisi/api.py:516
msgid "Rebuilding package database"
msgstr "Ricostruzione del database dei pacchetti"
-#: pisi/archive.py:36
+#: pisi/archive.py:37
msgid ""
"An error has occured while running LZMA:\n"
"%s"
@@ -734,35 +739,37 @@ msgstr ""
"Errore durante l'esecuzione di LZMA:\n"
"%s"
-#: pisi/archive.py:101 pisi/archive.py:161
+#: pisi/archive.py:123 pisi/archive.py:183
msgid "Archive type not recognized"
msgstr "Tipo di archivio non riconosciuto"
-#: pisi/atomicoperations.py:66
+#: pisi/atomicoperations.py:65
msgid "Package %s found in repository %s"
msgstr "Pacchetto %s trovato nel repository %s"
-#: pisi/atomicoperations.py:78
+#: pisi/atomicoperations.py:88
msgid "Package URI: %s"
msgstr "URI pacchetto: %s"
-#: pisi/atomicoperations.py:82
+#: pisi/atomicoperations.py:92
msgid "Package %s not found in any active repository."
msgstr "Il pacchetto %s non è stato trovato in alcun repository attivo."
-#: pisi/atomicoperations.py:101
+#: pisi/atomicoperations.py:111
msgid "Installing %s, version %s, release %s, build %s"
msgstr "Installazione di %s, versione %s, release %s, build %s"
-#: pisi/atomicoperations.py:146
+#: pisi/atomicoperations.py:156
msgid "%s package cannot be installed unless the dependencies are satisfied"
-msgstr "il pacchetto %s non può essere installato, a meno che le sue dipendenze vengano soddisfatte"
+msgstr ""
+"il pacchetto %s non può essere installato, a meno che le sue dipendenze "
+"vengano soddisfatte"
-#: pisi/atomicoperations.py:165
+#: pisi/atomicoperations.py:185
msgid "/%s from %s package\n"
msgstr "/%s dal pacchetto %s\n"
-#: pisi/atomicoperations.py:166
+#: pisi/atomicoperations.py:186
msgid ""
"File conflicts:\n"
"%s"
@@ -770,374 +777,404 @@ msgstr ""
"Il file va in conflitto:\n"
"%s"
-#: pisi/atomicoperations.py:201
+#: pisi/atomicoperations.py:221
msgid "Re-install same version package?"
msgstr "Reinstallare la stessa versione del pacchetto?"
-#: pisi/atomicoperations.py:202
+#: pisi/atomicoperations.py:222
msgid "Package re-install declined"
msgstr "Reinstallazione del pacchetto rifiutata"
-#: pisi/atomicoperations.py:208
+#: pisi/atomicoperations.py:228
msgid "Upgrading to new upstream version"
msgstr "Aggiornamento alla nuova versione upstream"
-#: pisi/atomicoperations.py:211
+#: pisi/atomicoperations.py:231
msgid "Upgrading to new distribution release"
msgstr "Aggiornamento alla nuova versione rilasciata della distribuzione"
-#: pisi/atomicoperations.py:215
+#: pisi/atomicoperations.py:235
msgid "Upgrading to new distribution build"
msgstr "Aggiornamento alla nuova build della distribuzione"
-#: pisi/atomicoperations.py:225
+#: pisi/atomicoperations.py:245
msgid "Downgrade to old distribution release?"
msgstr "Ritornare alla vecchia versione rilasciata della distribuzione?"
-#: pisi/atomicoperations.py:227
+#: pisi/atomicoperations.py:247
msgid "Downgrade to old distribution build?"
msgstr "Ritornare alla vecchia build della distribuzione?"
-#: pisi/atomicoperations.py:229
+#: pisi/atomicoperations.py:249
msgid "Package downgrade declined"
msgstr "Ripristino pacchetto precedente rifiutato"
-#: pisi/atomicoperations.py:253
+#: pisi/atomicoperations.py:273
msgid "%s configuration failed."
msgstr "configurazione di %s fallita."
-#: pisi/atomicoperations.py:340
+#: pisi/atomicoperations.py:396
msgid "Storing %s, "
msgstr "Salvataggio di %s, "
-#: pisi/atomicoperations.py:343
+#: pisi/atomicoperations.py:399
msgid "Storing %s."
msgstr "Salvataggio di %s."
-#: pisi/atomicoperations.py:350
+#: pisi/atomicoperations.py:406
msgid "Storing %s"
msgstr "Salvataggio di %s"
-#: pisi/atomicoperations.py:406
+#: pisi/atomicoperations.py:462
msgid "File list could not be read for package %s, continuing removal."
-msgstr "Impossibile leggere la lista dei file per il pacchetto %s, proseguo con la rimozione."
+msgstr ""
+"Impossibile leggere la lista dei file per il pacchetto %s, proseguo con la "
+"rimozione."
-#: pisi/atomicoperations.py:412
+#: pisi/atomicoperations.py:468
msgid "Removing package %s"
msgstr "Rimozione del pacchetto %s in corso"
-#: pisi/atomicoperations.py:415
+#: pisi/atomicoperations.py:471
msgid "Trying to remove nonexistent package "
msgstr "Tentativo di rimozione di un pacchetto non esistente "
-#: pisi/atomicoperations.py:454
+#: pisi/atomicoperations.py:510
msgid "Not removing conflicted file : %s"
msgstr "File in conflitto non rimossi: %s"
-#: pisi/atomicoperations.py:474
-msgid "Installed file %s is not exists on system [Probably you manually deleted]"
-msgstr "Il file installato %s non è presente nel sistema [Probabilmente è stato eliminato manualmente]"
+#: pisi/atomicoperations.py:530
+msgid ""
+"Installed file %s is not exists on system [Probably you manually deleted]"
+msgstr ""
+"Il file installato %s non è presente nel sistema [Probabilmente è stato "
+"eliminato manualmente]"
-#: pisi/atomicoperations.py:535
+#: pisi/atomicoperations.py:590
msgid "Metadata XML '%s' cannot be found"
msgstr "Impossibile trovare i Metadata XML'%s'"
-#: pisi/atomicoperations.py:543
+#: pisi/atomicoperations.py:598
msgid "MetaData format wrong (%s)"
msgstr "Formato Metadata errato (%s)"
-#: pisi/atomicoperations.py:545
+#: pisi/atomicoperations.py:600
msgid "* Adding '%s' to db... "
msgstr "* Aggiunta di %s al database... "
-#: pisi/atomicoperations.py:551
+#: pisi/atomicoperations.py:606
msgid "Files XML '%s' cannot be found"
msgstr "Impossibile trovare i file XML '%s'"
-#: pisi/atomicoperations.py:556 pisi/package.py:136
+#: pisi/atomicoperations.py:611 pisi/package.py:141
msgid "Invalid %s"
msgstr "%s non valido"
-#: pisi/atomicoperations.py:565
+#: pisi/atomicoperations.py:620
msgid "OK."
msgstr "OK."
-#: pisi/build.py:88
+#: pisi/build.py:85
msgid "Path %s belongs in multiple packages"
msgstr "Il percorso '%s' si trova in più pacchetti"
-#: pisi/build.py:114
+#: pisi/build.py:111
msgid "Source URI: %s"
msgstr "URI di origine: %s"
-#: pisi/build.py:118
+#: pisi/build.py:115
msgid "Source %s not found in any active repository."
msgstr "Il sorgente %s non è stato trovato in alcun repository attivo."
-#: pisi/build.py:183
+#: pisi/build.py:185
msgid "Building PiSi source package: %s"
msgstr "Costruzione del pacchetto sorgente PiSi %s"
-#: pisi/build.py:229
+#: pisi/build.py:230
msgid "IceCream detected. Make sure your daemon is up and running..."
-msgstr "Rilevato IceCream. Assicurati che il tuo demone sia in esecuzione e attivo..."
+msgstr ""
+"Rilevato IceCream. Assicurati che il tuo demone sia in esecuzione e attivo..."
-#: pisi/build.py:234
+#: pisi/build.py:235
msgid "CCache detected..."
msgstr "Rilevato CCache..."
-#: pisi/build.py:287
+#: pisi/build.py:297
msgid "PartOf tag not defined, looking for component"
msgstr "Tag PartOf non definito, ricerca del componente"
-#: pisi/build.py:297
+#: pisi/build.py:307
msgid "Cannot find component.xml in upper directory"
msgstr "Impossibile trovare il file component.xml nella cartella superiore"
-#: pisi/build.py:301
+#: pisi/build.py:311
msgid "Source is part of %s component"
msgstr "Il sorgente fa parte del componente %s"
-#: pisi/build.py:305
+#: pisi/build.py:315
msgid "Fetching source from: %s"
msgstr "Recupero sorgente da: %s"
-#: pisi/build.py:307
+#: pisi/build.py:317
msgid "Source archive is stored: %s/%s"
msgstr "Archivio sorgente memorizzato: %s/%s"
-#: pisi/build.py:311
+#: pisi/build.py:321
msgid "Unpacking archive..."
msgstr "Scompattazione archivio..."
-#: pisi/build.py:313
+#: pisi/build.py:325
msgid " unpacked (%s)"
msgstr "scompattato (%s)"
-#: pisi/build.py:318
+#: pisi/build.py:330
msgid "Setting up source..."
msgstr "Configurazione sorgente..."
-#: pisi/build.py:323
+#: pisi/build.py:335
msgid "Building source..."
msgstr "Compilazione sorgente..."
-#: pisi/build.py:328
+#: pisi/build.py:340
+#, fuzzy
+msgid "Testing package..."
+msgstr "Creazione del pacchetto PiSi %s."
+
+#: pisi/build.py:344
msgid "Installing..."
msgstr "Installazione in corso..."
-#: pisi/build.py:370
+#: pisi/build.py:386
msgid "Unable to read Actions Script (%s): %s"
msgstr "Impossibile leggere Actions Script (%s): %s"
-#: pisi/build.py:372
+#: pisi/build.py:388
msgid "SyntaxError in Actions Script (%s): %s"
msgstr "Errore di sintassi in Actions Script (%s): %s"
-#: pisi/build.py:389
+#: pisi/build.py:405
msgid "Unable to read COMAR script (%s): %s"
msgstr "Impossibile leggere script COMAR (%s): %s"
-#: pisi/build.py:391
+#: pisi/build.py:407
msgid "SyntaxError in COMAR file (%s): %s"
msgstr "Errore di sintassi nel file COMAR (%s): %s"
-#: pisi/build.py:417
+#: pisi/build.py:419
+#, fuzzy
+msgid "Sandbox violation: %s (%s -> %s)"
+msgstr "opzione ambigua: %s (%s?)"
+
+#: pisi/build.py:453
+#, fuzzy
+msgid "Sandbox violations!"
+msgstr "opzioni index"
+
+#: pisi/build.py:456
msgid "unable to call function from actions: %s"
msgstr "impossibile chiamare la funzione dalle azioni: %s"
-#: pisi/build.py:433
-msgid "Safety switch: following extra packages in system.devel will be installed: "
-msgstr "Switch di sicurezza: i seguenti pacchetti aggiuntivi in system.devel verranno installati: "
+#: pisi/build.py:473
+msgid ""
+"Safety switch: following extra packages in system.devel will be installed: "
+msgstr ""
+"Switch di sicurezza: i seguenti pacchetti aggiuntivi in system.devel "
+"verranno installati: "
-#: pisi/build.py:438
+#: pisi/build.py:478
msgid "Safety switch: system.devel is already installed"
msgstr "Switch di sicurezza: system.devel è già installato"
-#: pisi/build.py:440
+#: pisi/build.py:480
msgid "Safety switch: the component system.devel cannot be found"
msgstr "Switch di sicurezza: il componente system.devel non è stato trovato"
-#: pisi/build.py:449
+#: pisi/build.py:489
msgid "Unsatisfied Build Dependencies:"
msgstr "Dipendenze di compilazione non soddisfatte:"
-#: pisi/build.py:453
+#: pisi/build.py:493
msgid "Cannot build package due to unsatisfied build dependencies"
-msgstr "Impossibile compilare il pacchetto a casa di dipendenze non soddisfatte"
+msgstr ""
+"Impossibile compilare il pacchetto a casa di dipendenze non soddisfatte"
-#: pisi/build.py:461
+#: pisi/build.py:501
msgid "Build dependency %s cannot be satisfied"
msgstr "La dipendenza di compilazione %s non può essere soddisfatta"
-#: pisi/build.py:463
+#: pisi/build.py:503
msgid "Do you want to install the unsatisfied build dependencies"
msgstr "Desideri installare le dipendenze di compilazione non soddisfatte"
-#: pisi/build.py:464
+#: pisi/build.py:504
msgid "Installing build dependencies."
msgstr "Installazione dipendenze di compilazione."
-#: pisi/build.py:469
+#: pisi/build.py:509
msgid "Ignoring build dependencies."
msgstr "Ignoro le dipendenze di compilazione."
-#: pisi/build.py:479
+#: pisi/build.py:519
msgid "Patch file is missing: %s\n"
msgstr "Il file di patch è mancante: %s\n"
-#: pisi/build.py:492
+#: pisi/build.py:532
msgid "* Applying patch: %s"
msgstr "* Applicazione della patch: %s"
-#: pisi/build.py:550
+#: pisi/build.py:592
msgid "Stripping files.."
msgstr ""
-#: pisi/build.py:656
+#: pisi/build.py:692
msgid "(found old version %s)"
msgstr "(trovata vecchia versione %s)"
-#: pisi/build.py:658
+#: pisi/build.py:694
msgid "Skipping %s with wrong pkg name "
msgstr "Salto %s con nome del pacchetto errato"
-#: pisi/build.py:679
+#: pisi/build.py:715
+#, fuzzy
msgid "(no previous build found, setting build no to 1.)"
msgstr "(nessuna build precedente trovata, imposto il numero di build a 1)"
-#: pisi/build.py:724
+#: pisi/build.py:760
msgid "(old package lacks a build no, setting build no to 1.)"
msgstr "(il vecchio pacchetto non ha un numero di build, lo imposto a 1)"
-#: pisi/build.py:727
+#: pisi/build.py:763
msgid "There are changes, incrementing build no to %d"
msgstr "Cambiamenti rilevati, incremento del numero di build a %d"
-#: pisi/build.py:730
+#: pisi/build.py:766
msgid "There is no change from previous build %d"
msgstr "Nessun cambiamento dalla build precedente %d"
-#: pisi/build.py:795
+#: pisi/build.py:831
msgid "No user named '%s' found on the system"
msgstr "Utente '%s' non trovato nel sistema"
-#: pisi/build.py:800
+#: pisi/build.py:836
msgid "No group named '%s' found on the system"
msgstr "Gruppo '%s' non trovato nel sistema"
-#: pisi/build.py:803
+#: pisi/build.py:839
msgid "** Building package %s"
msgstr "** Compilazione del pacchetto %s"
-#: pisi/build.py:805 pisi/build.py:808
+#: pisi/build.py:841 pisi/build.py:844
msgid "Generating %s,"
msgstr "Generazione di %s,"
-#: pisi/build.py:814
-msgid "Build number is not available. For repo builds you must enable buildno in pisi.conf."
-msgstr "Il numero di build non è disponibile. Per le build dal repository devi attivare buildno in pisi.conf."
+#: pisi/build.py:850
+msgid ""
+"Build number is not available. For repo builds you must enable buildno in "
+"pisi.conf."
+msgstr ""
+"Il numero di build non è disponibile. Per le build dal repository devi "
+"attivare buildno in pisi.conf."
-#: pisi/build.py:832
+#: pisi/build.py:868
msgid "Creating PiSi package %s."
msgstr "Creazione del pacchetto PiSi %s."
-#: pisi/build.py:877
+#: pisi/build.py:913 pisi/delta.py:93
msgid "Done."
msgstr "Fatto."
-#: pisi/build.py:883
+#: pisi/build.py:919
msgid "Abandoned files under the install dir (%s):"
msgstr "File abbandonati nella cartella di installazione (%s):"
-#: pisi/build.py:887
-msgid "All of the files under the install dir (%s) has been collected by package(s)"
-msgstr "Tutti i file nella cartella di installazione (%s) sono stati raccolti dai pacchetti"
+#: pisi/build.py:923
+msgid ""
+"All of the files under the install dir (%s) has been collected by package(s)"
+msgstr ""
+"Tutti i file nella cartella di installazione (%s) sono stati raccolti dai "
+"pacchetti"
-#: pisi/build.py:891
+#: pisi/build.py:927
msgid "Cleaning Build Directory..."
msgstr "Pulizia della cartella di compilazione..."
-#: pisi/build.py:894
+#: pisi/build.py:930
msgid "Keeping Build Directory"
msgstr "La cartella di compilazione verrà conservata"
-#: pisi/cli/__init__.py:79
+#: pisi/cli/__init__.py:76
msgid "Warning: "
msgstr "Avviso: "
-#: pisi/cli/__init__.py:88
+#: pisi/cli/__init__.py:85
msgid "Error: "
msgstr "Errore: "
-#: pisi/cli/__init__.py:120
+#: pisi/cli/__init__.py:117
msgid " (yes/no)"
msgstr " (si/no)"
-#: pisi/cli/__init__.py:141
+#: pisi/cli/__init__.py:138
msgid " [complete]\n"
msgstr " [completato]\n"
-#: pisi/cli/__init__.py:151
+#: pisi/cli/__init__.py:148
msgid "Installed %s"
msgstr "Installato %s"
-#: pisi/cli/__init__.py:153
+#: pisi/cli/__init__.py:150
msgid "Removed %s"
msgstr "Rimosso %s"
-#: pisi/cli/__init__.py:155
+#: pisi/cli/__init__.py:152
msgid "Upgraded %s"
msgstr "Aggiornato %s"
-#: pisi/cli/__init__.py:157
+#: pisi/cli/__init__.py:154
msgid "Configured %s"
msgstr "Configurato %s"
-#: pisi/cli/__init__.py:159
+#: pisi/cli/__init__.py:156
msgid "Extracting the files of %s"
msgstr "Estrazione dei file di %s"
-#: pisi/cli/commands.py:94
-#, docstring
+#: pisi/cli/commands.py:92
msgid "generic help string for any command"
msgstr "testo di aiuto generico per qualsiasi comando"
-#: pisi/cli/commands.py:123 pisi/cli/pisicli.py:104
+#: pisi/cli/commands.py:121 pisi/cli/pisicli.py:101
msgid "Unrecognized command: %s"
msgstr "Comando non riconosciuto %s"
-#: pisi/cli/commands.py:145
-#, docstring
+#: pisi/cli/commands.py:143
msgid "common options"
msgstr "opzioni comuni"
-#: pisi/cli/commands.py:148
+#: pisi/cli/commands.py:146
msgid "general options"
msgstr "opzioni generali"
-#: pisi/cli/commands.py:151
+#: pisi/cli/commands.py:149
msgid "Change the system root for PiSi commands"
msgstr "Cambia la root di sistema per i comandi PiSi"
-#: pisi/cli/commands.py:153
+#: pisi/cli/commands.py:151
msgid "Assume yes in all yes/no queries"
msgstr "Assumi una risposta positiva in tutte le domande sì/no"
-#: pisi/cli/commands.py:158
+#: pisi/cli/commands.py:156
msgid "Detailed output"
msgstr "Output dettagliato"
-#: pisi/cli/commands.py:160
+#: pisi/cli/commands.py:158
msgid "Show debugging information"
msgstr "Mostra informazioni di debug"
-#: pisi/cli/commands.py:162
+#: pisi/cli/commands.py:160
msgid "Suppresses all coloring of PiSi's output"
msgstr "Annulla tutta la colorazione dell'output di PiSi"
-#: pisi/cli/commands.py:169
-#, docstring
+#: pisi/cli/commands.py:167
msgid ""
"This is a fall back function. If the implementer module provides an\n"
" options function it will be called"
@@ -1145,48 +1182,43 @@ msgstr ""
"Questa è una funzione di fallback. Se il modulo implementante fornisce\n"
" una funzione di opzione essa verrà chiamata"
-#: pisi/cli/commands.py:181
+#: pisi/cli/commands.py:179
msgid "Destination directory %s does not exist. Creating directory.\n"
msgstr "La cartella di destinazione %s non esiste. Creazione in corso...\n"
-#: pisi/cli/commands.py:203
+#: pisi/cli/commands.py:201
msgid "Password: "
msgstr "Password: "
-#: pisi/cli/commands.py:209
-#, docstring
+#: pisi/cli/commands.py:207
msgid "initialize PiSi components"
msgstr "inizializza i componenti di PiSi"
-#: pisi/cli/commands.py:217
-#, docstring
+#: pisi/cli/commands.py:215
msgid "do cleanup work for PiSi components"
msgstr "effettua lavoro di pulizia per i componenti PiSi"
-#: pisi/cli/commands.py:231
-#, docstring
+#: pisi/cli/commands.py:229
msgid "print help for the command"
msgstr "stampa l'aiuto per il comando"
-#: pisi/cli/commands.py:237
-#, docstring
+#: pisi/cli/commands.py:235
msgid "exit program"
msgstr "esce dal programma"
-#: pisi/cli/commands.py:239
+#: pisi/cli/commands.py:237
msgid "Command terminated abnormally."
msgstr "Comando terminato in maniera anormale."
-#: pisi/cli/commands.py:249
+#: pisi/cli/commands.py:247
msgid "Command lacks name"
msgstr "Manca il nome del comando"
-#: pisi/cli/commands.py:253
+#: pisi/cli/commands.py:251
msgid "Duplicate command %s"
msgstr "Comando duplicato %s"
-#: pisi/cli/commands.py:262
-#, docstring
+#: pisi/cli/commands.py:260
msgid ""
"Prints help for given commands\n"
"\n"
@@ -1200,8 +1232,7 @@ msgstr ""
"\n"
"In assenza di parametri, stampa l'aiuto generale."
-#: pisi/cli/commands.py:296
-#, docstring
+#: pisi/cli/commands.py:294
msgid ""
"Clean stale locks\n"
"\n"
@@ -1217,8 +1248,7 @@ msgstr ""
"PiSi utilizza dei lock sul filesystem per gestire gli accessi al database.\n"
"Questo comando elimina i lock inutilizzati dalla cartella del database."
-#: pisi/cli/commands.py:315
-#, docstring
+#: pisi/cli/commands.py:313
msgid ""
"Delete cache files\n"
"\n"
@@ -1236,8 +1266,7 @@ msgstr ""
"nella cartella /var. Dato che questi file si accumulano col tempo\n"
"possono a lungo andare consumare molto spazio su disco."
-#: pisi/cli/commands.py:336
-#, docstring
+#: pisi/cli/commands.py:334
msgid ""
"Graph package relations\n"
"\n"
@@ -1252,53 +1281,54 @@ msgstr ""
"\n"
"Utilizzo: graph [ ...]\n"
"\n"
-"Stampa un grafico delle relazioni tra i pacchetti, tenendo traccia delle dipendenze\n"
+"Stampa un grafico delle relazioni tra i pacchetti, tenendo traccia delle "
+"dipendenze\n"
"e dei conflitti a partire dai pacchetti forniti. Senza parametri\n"
"mostra le relazioni tra i pacchetti del repository e scrive il\n"
"pacchetti nel formato graphviz nel file 'pgraph.dot'.\n"
-#: pisi/cli/commands.py:353
+#: pisi/cli/commands.py:351
msgid "graph options"
msgstr "opzioni di graph"
-#: pisi/cli/commands.py:357
+#: pisi/cli/commands.py:355
msgid "Specify a particular repository"
msgstr "Specifica un repository particolare"
-#: pisi/cli/commands.py:360
+#: pisi/cli/commands.py:358
msgid "Graph of installed packages"
msgstr "Grafico dei pacchetti installati"
-#: pisi/cli/commands.py:363
+#: pisi/cli/commands.py:361
msgid "Do not show installed packages"
msgstr "Non mostrare i pacchetti installati"
-#: pisi/cli/commands.py:366
+#: pisi/cli/commands.py:364
msgid "Dot output file"
msgstr "File di output dot"
-#: pisi/cli/commands.py:377
+#: pisi/cli/commands.py:375
msgid "Plotting packages in repository %s"
msgstr "Disegno grafico dei pacchetti nel repository %s in corso"
-#: pisi/cli/commands.py:383
+#: pisi/cli/commands.py:381
msgid "Plotting a graph of relations among all repository packages"
-msgstr "Disegno di un grafico delle relazioni tra tutti i pacchetti del repository"
+msgstr ""
+"Disegno di un grafico delle relazioni tra tutti i pacchetti del repository"
-#: pisi/cli/commands.py:390
+#: pisi/cli/commands.py:388
msgid "Plotting a graph of relations among all installed packages"
msgstr "Disegno di un grafico delle relazioni tra tutti i pacchetti installati"
-#: pisi/cli/commands.py:402
+#: pisi/cli/commands.py:400
msgid "Do not take build no into account."
msgstr "Non prendere in considerazione il numero di build."
-#: pisi/cli/commands.py:407
+#: pisi/cli/commands.py:405
msgid "Do not take dependency information into account"
msgstr "Non prendere in considerazione le informazioni sulle dipendenze"
-#: pisi/cli/commands.py:411
-#, docstring
+#: pisi/cli/commands.py:409
msgid ""
"Build PiSi packages\n"
"\n"
@@ -1320,76 +1350,118 @@ msgstr ""
"In alternativa, puoi fornire il nome di un pacchetto sorgente\n"
"da scaricare da un repository contenente i sorgenti.\n"
-#: pisi/cli/commands.py:433
+#: pisi/cli/commands.py:432
msgid "build options"
msgstr "opzioni di costruzione"
-#: pisi/cli/commands.py:441
+#: pisi/cli/commands.py:440 pisi/cli/commands.py:527
msgid "Output directory for produced packages"
msgstr "Cartella di output per i pacchetti prodotti"
-#: pisi/cli/commands.py:444
+#: pisi/cli/commands.py:443
msgid "Bypass errors from ActionsAPI"
msgstr "Ignora errori dalle ActionsAPI"
-#: pisi/cli/commands.py:446 pisi/cli/commands.py:554
+#: pisi/cli/commands.py:445 pisi/cli/commands.py:610
msgid "Bypass safety switch"
msgstr "Ignora switch di sicurezza"
-#: pisi/cli/commands.py:448
+#: pisi/cli/commands.py:447
+#, fuzzy
+msgid "Bypass testing step"
+msgstr "Ignora switch di sicurezza"
+
+#: pisi/cli/commands.py:449
msgid "Create a static package with ar files"
msgstr "Crea un pacchetto statico con file ar"
-#: pisi/cli/commands.py:450
-msgid "Do not install build dependencies, fail if a build dependency is present"
-msgstr "Non installare dipendenze di compilazione, fallisce se sono presenti delle dipendenze"
+#: pisi/cli/commands.py:451
+msgid ""
+"Do not install build dependencies, fail if a build dependency is present"
+msgstr ""
+"Non installare dipendenze di compilazione, fallisce se sono presenti delle "
+"dipendenze"
-#: pisi/cli/commands.py:452
+#: pisi/cli/commands.py:453
msgid "PiSi binary package formats: '1.0', '1.1' (default)"
msgstr "Formati dei pacchetti binari PiSi: '1.0', '1.1' (predefinito)"
#: pisi/cli/commands.py:455
+msgid "Use quilt patch management system instead of GNU patch"
+msgstr ""
+
+#: pisi/cli/commands.py:457
+msgid "Do not constrain build process inside the build folder"
+msgstr ""
+
+#: pisi/cli/commands.py:460
msgid "build steps"
msgstr "passi di costruzione"
-#: pisi/cli/commands.py:457
+#: pisi/cli/commands.py:462
msgid "Break build after fetching the source archive"
msgstr "Interrompi la costruzione dopo aver recuperato l'archivio dei sorgenti"
-#: pisi/cli/commands.py:459
-msgid "Break build after unpacking the source archive, checking sha1sum and applying patches"
-msgstr "Interrompi la costruzione dopo aver scompattato l'archivio dei sorgenti, aver controllato sha1sum e applicato le patch"
+#: pisi/cli/commands.py:464
+msgid ""
+"Break build after unpacking the source archive, checking sha1sum and "
+"applying patches"
+msgstr ""
+"Interrompi la costruzione dopo aver scompattato l'archivio dei sorgenti, "
+"aver controllato sha1sum e applicato le patch"
-#: pisi/cli/commands.py:461
+#: pisi/cli/commands.py:466
msgid "Break build after running configure step"
msgstr "Interrompi la costruzione dopo l'esecuzione del passo di configure"
-#: pisi/cli/commands.py:463
+#: pisi/cli/commands.py:468
msgid "Break build after running compile step"
msgstr "Interrompi la costruzione dopo l'esecuzione del passo di compilazione"
-#: pisi/cli/commands.py:465
+#: pisi/cli/commands.py:470
+#, fuzzy
+msgid "Break build after running check step"
+msgstr "Interrompi la costruzione dopo l'esecuzione del passo di compilazione"
+
+#: pisi/cli/commands.py:472
msgid "Break build after running install step"
msgstr "Interrompi la costruzione dopo l'esecuzione del passo di install"
-#: pisi/cli/commands.py:467
+#: pisi/cli/commands.py:474
msgid "create PiSi package"
msgstr "crea pacchetto PiSi"
-#: pisi/cli/commands.py:481
+#: pisi/cli/commands.py:488
msgid "package_format must be one of %s "
msgstr "il formato del pacchetto deve essere uno tra %s"
-#: pisi/cli/commands.py:484 pisi/cli/commands.py:533
+#: pisi/cli/commands.py:491 pisi/cli/commands.py:540 pisi/cli/commands.py:589
msgid "Output directory: %s"
msgstr "Cartella di output: %s"
-#: pisi/cli/commands.py:486
+#: pisi/cli/commands.py:493 pisi/cli/commands.py:542
msgid "Outputting packages in the working directory."
msgstr "Crea i pacchetti nella cartella di lavoro."
-#: pisi/cli/commands.py:497
-#, docstring
+#: pisi/cli/commands.py:504
+msgid ""
+"Creates delta PiSi packages\n"
+"\n"
+"Usage: delta oldpackage newpackage\n"
+"\n"
+"Delta command finds the changed files between the given packages by "
+"comparing the sha1sum of the files\n"
+"and creates a delta pisi package with the changed files between two "
+"releases.\n"
+"\n"
+msgstr ""
+
+#: pisi/cli/commands.py:521
+#, fuzzy
+msgid "delta options"
+msgstr "opzioni index"
+
+#: pisi/cli/commands.py:553
msgid ""
"Build and install PiSi source packages from repository\n"
"\n"
@@ -1409,37 +1481,35 @@ msgstr ""
"\n"
"Puoi anche fornire il nome di un componente.\n"
-#: pisi/cli/commands.py:516
+#: pisi/cli/commands.py:572
msgid "emerge options"
msgstr "opzioni di emerge"
-#: pisi/cli/commands.py:519 pisi/cli/commands.py:592 pisi/cli/commands.py:656
+#: pisi/cli/commands.py:575 pisi/cli/commands.py:648 pisi/cli/commands.py:716
msgid "Ignore file conflicts"
msgstr "Ignora i conflitti tra i file"
-#: pisi/cli/commands.py:521 pisi/cli/commands.py:594 pisi/cli/commands.py:658
+#: pisi/cli/commands.py:577 pisi/cli/commands.py:650 pisi/cli/commands.py:718
msgid "Ignore package conflicts"
msgstr "Ignora i conflitti tra i pacchetti"
-#: pisi/cli/commands.py:523 pisi/cli/commands.py:552
+#: pisi/cli/commands.py:579 pisi/cli/commands.py:608
msgid "Bypass comar configuration agent"
msgstr "Ignora l'agente di configurazione di COMAR"
-#: pisi/cli/commands.py:535
+#: pisi/cli/commands.py:591
msgid "Outputting binary packages in the package cache."
msgstr "Output dei pacchetti binari nella cache dei pacchetti."
-#: pisi/cli/commands.py:543
-#, docstring
+#: pisi/cli/commands.py:599
msgid "Abstract package operation command"
msgstr ""
-#: pisi/cli/commands.py:556
+#: pisi/cli/commands.py:612
msgid "Do not perform any action, just show what would be done"
msgstr "Non eseguire alcuna azione, mostra solo cosa verrebbe fatto"
-#: pisi/cli/commands.py:567
-#, docstring
+#: pisi/cli/commands.py:623
msgid ""
"Install PiSi packages\n"
"\n"
@@ -1458,27 +1528,27 @@ msgstr ""
"Puoi utilizzare nomi dei file, URI o nomi dei pacchetti. Se hai specificato\n"
"il nome di un pacchetto, esso deve esistere in un repository specificato.\n"
"\n"
-"Puoi anche specificare i componenti invece dei nomi dei pacchetti; essi verranno\n"
+"Puoi anche specificare i componenti invece dei nomi dei pacchetti; essi "
+"verranno\n"
"poi espansi per ottenere i nomi dei pacchetti.\n"
-#: pisi/cli/commands.py:585
+#: pisi/cli/commands.py:641
msgid "install options"
msgstr "opzioni di installazione"
-#: pisi/cli/commands.py:590
+#: pisi/cli/commands.py:646
msgid "Reinstall already installed packages"
msgstr "Reinstalla i pacchetti già installati"
-#: pisi/cli/commands.py:596
+#: pisi/cli/commands.py:652
msgid "Install component's and recursive components' packages"
msgstr "Installa i pacchetti del componente e dei componenti ricorsivi"
-#: pisi/cli/commands.py:598 pisi/cli/commands.py:662
+#: pisi/cli/commands.py:654 pisi/cli/commands.py:722
msgid "Fetch upgrades but do not install."
msgstr "Recupera aggiornamenti ma non installarli."
-#: pisi/cli/commands.py:621
-#, docstring
+#: pisi/cli/commands.py:681
msgid ""
"Upgrade PiSi packages\n"
"\n"
@@ -1506,50 +1576,57 @@ msgstr ""
"Aggiorna l'intero sistema se non viene specificato alcun pacchetto\n"
"\n"
"Puoi utilizzare solo i nomi dei pacchetti per specificarli poiché\n"
-"l'operazione di aggiornamento dei pacchetti è definita solo in releazione ai\n"
+"l'operazione di aggiornamento dei pacchetti è definita solo in releazione "
+"ai\n"
"ai repository. Se hai specificato un nome di pacchetto, esso\n"
"deve esistere nei repository. Se desideri solo reinstallare\n"
"un pacchetto da un file PiSi, utilizza il comando install.\n"
"\n"
-"Puoi anche specificare i componenti invece dei nomi dei pacchetti; essi verranno\n"
+"Puoi anche specificare i componenti invece dei nomi dei pacchetti; essi "
+"verranno\n"
"poi espansi per ottenere i nomi dei pacchetti.\n"
-#: pisi/cli/commands.py:647
+#: pisi/cli/commands.py:707
msgid "upgrade options"
msgstr "opzioni di aggiornamento"
-#: pisi/cli/commands.py:652
+#: pisi/cli/commands.py:712
msgid "Security related package upgrades only"
msgstr "Solo aggiornamenti dei pacchetti relativi alla sicurezza"
-#: pisi/cli/commands.py:654
+#: pisi/cli/commands.py:714
msgid "Do not update repositories"
msgstr "Non aggiornare i repository"
-#: pisi/cli/commands.py:660
+#: pisi/cli/commands.py:720
msgid "Upgrade component's and recursive components' packages"
msgstr "Aggiorna i pacchetti del componente e dei componenti ricorsivi"
-#: pisi/cli/commands.py:664
-msgid "When upgrading system, ignore packages and components whose basenames match pattern."
-msgstr "All'aggiornamento del sistema, ignora i pacchetti e i componenti i cui nomi base corrispondono al modello."
-
-#: pisi/cli/commands.py:666
-msgid "When upgrading system, ignore packages and components whose basenames match any pattern contained in file."
+#: pisi/cli/commands.py:724
+msgid ""
+"When upgrading system, ignore packages and components whose basenames match "
+"pattern."
msgstr ""
-"All'aggiornamento del sistema, ignora i pacchetti e i componenti i cui nomi base "
-"corrispondono a uno dei modelli contenuti nel file."
+"All'aggiornamento del sistema, ignora i pacchetti e i componenti i cui nomi "
+"base corrispondono al modello."
-#: pisi/cli/commands.py:706
+#: pisi/cli/commands.py:726
+msgid ""
+"When upgrading system, ignore packages and components whose "
+"basenames match any pattern contained in file."
+msgstr ""
+"All'aggiornamento del sistema, ignora i pacchetti e i componenti i cui nomi "
+"base corrispondono a uno dei modelli contenuti nel file."
+
+#: pisi/cli/commands.py:770
msgid "Updating repositories"
msgstr "Aggiornamento repository in corso"
-#: pisi/cli/commands.py:711
+#: pisi/cli/commands.py:775
msgid "Will not update repositories"
msgstr "Non aggiornerà i repository"
-#: pisi/cli/commands.py:733
-#, docstring
+#: pisi/cli/commands.py:800
msgid ""
"Remove PiSi packages\n"
"\n"
@@ -1564,21 +1641,22 @@ msgstr ""
"\n"
"Utilizzo: remove ... \n"
"\n"
-"Rimuove uno o più pacchetti dal tuo sistema. Devi solo fornire i nomi dei pacchetti da rimuovere.\n"
+"Rimuove uno o più pacchetti dal tuo sistema. Devi solo fornire i nomi dei "
+"pacchetti da rimuovere.\n"
"\n"
-"Puoi anche specificare i componenti invece dei nomi dei pacchetti; essi verranno\n"
+"Puoi anche specificare i componenti invece dei nomi dei pacchetti; essi "
+"verranno\n"
"poi espansi per ottenere i nomi dei pacchetti.\n"
-#: pisi/cli/commands.py:750
+#: pisi/cli/commands.py:817
msgid "remove options"
msgstr "opzioni di rimozione"
-#: pisi/cli/commands.py:753
+#: pisi/cli/commands.py:820
msgid "Remove component's and recursive components' packages"
msgstr "Rimuovi i pacchetti del componente e dei componenti ricorsivi"
-#: pisi/cli/commands.py:775
-#, docstring
+#: pisi/cli/commands.py:842
msgid ""
"Configure pending packages\n"
"\n"
@@ -1594,12 +1672,11 @@ msgstr ""
"una lista di pacchetti in attesa di essere configurati. Questo\n"
"comando configura tali pacchetti.\n"
-#: pisi/cli/commands.py:791
+#: pisi/cli/commands.py:858
msgid "configure-pending options"
msgstr "opzioni configure-pending"
-#: pisi/cli/commands.py:803
-#, docstring
+#: pisi/cli/commands.py:870
msgid ""
"Display package information\n"
"\n"
@@ -1613,63 +1690,64 @@ msgstr ""
"\n"
" è o il nome di un pacchetto o un file .pisi,\n"
-#: pisi/cli/commands.py:818
+#: pisi/cli/commands.py:885
msgid "info options"
msgstr "opzioni di informazione"
-#: pisi/cli/commands.py:825
+#: pisi/cli/commands.py:892
msgid "Show a list of package files."
msgstr "Mostra una lista dei files dei pacchetti."
-#: pisi/cli/commands.py:827
+#: pisi/cli/commands.py:894
msgid "Info about the given component"
msgstr "Informazioni sul componente specificato"
-#: pisi/cli/commands.py:830
+#: pisi/cli/commands.py:897
msgid "Show only paths."
msgstr "Mostra solo i percorsi."
-#: pisi/cli/commands.py:832
+#: pisi/cli/commands.py:899
msgid "Do not show details"
msgstr "Non mostrare i dettagli"
-#: pisi/cli/commands.py:834
+#: pisi/cli/commands.py:901
msgid "Output in xml format"
msgstr "Output in formato xml"
-#: pisi/cli/commands.py:880
+#: pisi/cli/commands.py:947
msgid "Package file: %s"
msgstr "File pacchetto: %s"
-#: pisi/cli/commands.py:886
+#: pisi/cli/commands.py:953
msgid "[inst] "
msgstr "[inst] "
-#: pisi/cli/commands.py:888
+#: pisi/cli/commands.py:955
msgid "Installed package:"
msgstr "Pacchetto installato:"
-#: pisi/cli/commands.py:894
+#: pisi/cli/commands.py:961
msgid "[repo] "
msgstr "[repo] "
-#: pisi/cli/commands.py:896
-msgid "Package found in repository:"
+#: pisi/cli/commands.py:963
+#, fuzzy
+msgid "Package found in %s repository:"
msgstr "Pacchetto trovato nel repository:"
-#: pisi/cli/commands.py:900
+#: pisi/cli/commands.py:967
msgid "%s is not found in repositories"
msgstr "%s non è stato trovato nei repository"
-#: pisi/cli/commands.py:903
+#: pisi/cli/commands.py:970
msgid "%s is not installed"
msgstr "%s non è installato"
-#: pisi/cli/commands.py:916
+#: pisi/cli/commands.py:981
msgid "Reverse Dependencies:"
msgstr "Richiesto da:"
-#: pisi/cli/commands.py:919
+#: pisi/cli/commands.py:984
msgid ""
"\n"
"Files:"
@@ -1677,12 +1755,11 @@ msgstr ""
"\n"
"File:"
-#: pisi/cli/commands.py:927
+#: pisi/cli/commands.py:992
msgid "File information not available"
msgstr "Informazioni sul file non disponibili"
-#: pisi/cli/commands.py:933
-#, docstring
+#: pisi/cli/commands.py:998
msgid ""
"Verify installation\n"
"\n"
@@ -1703,20 +1780,32 @@ msgstr ""
": nome del pacchetto\n"
"\n"
"Una somma di verifica crittografica viene memorizzata per ogni file\n"
-"installato. Il comando check utilizza tali somme per verificare un pacchetto.\n"
+"installato. Il comando check utilizza tali somme per verificare un "
+"pacchetto.\n"
"Devi solamente fornire i nomi dei pacchetti.\n"
"\n"
-"Se non vengono specificati dei pacchetti, vengono verificati tutti i pacchetti installati.\n"
+"Se non vengono specificati dei pacchetti, vengono verificati tutti i "
+"pacchetti installati.\n"
-#: pisi/cli/commands.py:957
+#: pisi/cli/commands.py:1018
+#, fuzzy
+msgid "check options"
+msgstr "opzioni di ricerca"
+
+#: pisi/cli/commands.py:1020
+#, fuzzy
+msgid "Check installed packages under given component"
+msgstr "Elenca i pacchetti installati sotto il componente fornito"
+
+#: pisi/cli/commands.py:1036
msgid "Checking all installed packages"
msgstr "Controllo di tutti i pacchetti installati"
-#: pisi/cli/commands.py:960
+#: pisi/cli/commands.py:1040
msgid "* Checking %s... "
msgstr "* Controllo di %s in corso... "
-#: pisi/cli/commands.py:964
+#: pisi/cli/commands.py:1044
msgid ""
"\n"
"Package %s is corrupt."
@@ -1724,12 +1813,11 @@ msgstr ""
"\n"
"Il pacchetto %s è corrotto."
-#: pisi/cli/commands.py:968
+#: pisi/cli/commands.py:1048
msgid "Package %s not installed"
msgstr "Il pacchetto %s non è installato"
-#: pisi/cli/commands.py:973
-#, docstring
+#: pisi/cli/commands.py:1053
msgid ""
"Index PiSi files in a given directory\n"
"\n"
@@ -1749,38 +1837,38 @@ msgstr ""
"\n"
"Questo comando cerca tutti i file PiSi nella cartella, raccoglie i loro tag\n"
"PiSi e accumula le informazione in un file di output in formato XML,\n"
-"il cui nome predefinito è 'pisi-index.xml'. In particolare, indicizza sia i pacchetti\n"
+"il cui nome predefinito è 'pisi-index.xml'. In particolare, indicizza sia i "
+"pacchetti\n"
"sorgente che quelli binari.\n"
"\n"
"Se fornisci più cartelle, il comando funziona comunque, ma\n"
"il risultato verrà scritto su un unico file di indice.\n"
-#: pisi/cli/commands.py:994
+#: pisi/cli/commands.py:1074
msgid "index options"
msgstr "opzioni index"
-#: pisi/cli/commands.py:998
+#: pisi/cli/commands.py:1078
msgid "Store absolute links for indexed files."
msgstr "Memorizza i collegamenti assoluti per i file indicizzati."
-#: pisi/cli/commands.py:1001
+#: pisi/cli/commands.py:1081
msgid "Index output file"
msgstr "Indicizza file di output"
-#: pisi/cli/commands.py:1004
+#: pisi/cli/commands.py:1084
msgid "Do not index PiSi spec files."
msgstr "Non indicizzare i file spec di PiSi."
-#: pisi/cli/commands.py:1007
+#: pisi/cli/commands.py:1087
msgid "Do not sign index."
msgstr "Non firmare l'indice."
-#: pisi/cli/commands.py:1020
+#: pisi/cli/commands.py:1100
msgid "Indexing current directory."
msgstr "Indicizzazione della cartella corrente."
-#: pisi/cli/commands.py:1028
-#, docstring
+#: pisi/cli/commands.py:1108
msgid ""
"Print the list of all installed packages\n"
"\n"
@@ -1790,30 +1878,31 @@ msgstr ""
"\n"
"Utilizzo: list-installed\n"
-#: pisi/cli/commands.py:1042
+#: pisi/cli/commands.py:1122
msgid "list-installed options"
msgstr "opzioni list-installed"
-#: pisi/cli/commands.py:1045 pisi/cli/commands.py:1278
-#: pisi/cli/commands.py:1342 pisi/cli/commands.py:1381
-#: pisi/cli/commands.py:1421 pisi/cli/commands.py:1555
+#: pisi/cli/commands.py:1125 pisi/cli/commands.py:1358
+#: pisi/cli/commands.py:1422 pisi/cli/commands.py:1461
+#: pisi/cli/commands.py:1501 pisi/cli/commands.py:1625
msgid "Show in long format"
msgstr "Mostra nel formato lungo"
-#: pisi/cli/commands.py:1047
+#: pisi/cli/commands.py:1127
msgid "List installed packages under given component"
msgstr "Elenca i pacchetti installati sotto il componente fornito"
-#: pisi/cli/commands.py:1049 pisi/cli/commands.py:1425
+#: pisi/cli/commands.py:1129 pisi/cli/commands.py:1505
msgid "Show detailed install info"
msgstr "Mostra informazione dettagliate sull'installazione"
-#: pisi/cli/commands.py:1066 pisi/cli/commands.py:1444
-msgid "Package Name |St| Version| Rel.| Build| Distro| Date"
-msgstr "Nome pacchetto |St| Versione| Rel.| Build| Distro| Data"
+#: pisi/cli/commands.py:1146 pisi/cli/commands.py:1524
+msgid ""
+"Package Name |St| Version| Rel.| Build| Distro| Date"
+msgstr ""
+"Nome pacchetto |St| Versione| Rel.| Build| Distro| Data"
-#: pisi/cli/commands.py:1081
-#, docstring
+#: pisi/cli/commands.py:1161
msgid ""
"Rebuild Databases\n"
"\n"
@@ -1830,23 +1919,23 @@ msgstr ""
"\n"
"Ricostruisce i database PiSi\n"
"\n"
-"Se vengono forniti dei pacchetti, dovrebbero essere i nome delle cartelle dei\n"
+"Se vengono forniti dei pacchetti, dovrebbero essere i nome delle cartelle "
+"dei\n"
"pacchetti in /var/lib/pisi\n"
-#: pisi/cli/commands.py:1099
+#: pisi/cli/commands.py:1179
msgid "rebuild-db options"
msgstr "opzioni rebuild-db"
-#: pisi/cli/commands.py:1102
+#: pisi/cli/commands.py:1182
msgid "Rebuild files database"
msgstr "Ricostruisci il database dei file"
-#: pisi/cli/commands.py:1113
+#: pisi/cli/commands.py:1193
msgid "Rebuild PiSi databases?"
msgstr "Ricostruire il database PiSi?"
-#: pisi/cli/commands.py:1120
-#, docstring
+#: pisi/cli/commands.py:1200
msgid ""
"Update repository databases\n"
"\n"
@@ -1866,16 +1955,15 @@ msgstr ""
"Sincronizza i database PiSi con il repository corrente.\n"
"Se nessun repository viene fornito, verranno aggiornati tutti i repository.\n"
-#: pisi/cli/commands.py:1138
+#: pisi/cli/commands.py:1218
msgid "update-repo options"
msgstr "opzioni update-repo"
-#: pisi/cli/commands.py:1142
+#: pisi/cli/commands.py:1222
msgid "Update database in any case"
msgstr "Aggiorna il database in ogni caso"
-#: pisi/cli/commands.py:1160
-#, docstring
+#: pisi/cli/commands.py:1240
msgid ""
"Add a repository\n"
"\n"
@@ -1886,7 +1974,8 @@ msgid ""
"\n"
"If no repo is given, add-repo pardus-devel repo is added by default\n"
"\n"
-"NB: We support only local files (e.g., /a/b/c) and http:// URIs at the moment\n"
+"NB: We support only local files (e.g., /a/b/c) and http:// URIs at the "
+"moment\n"
msgstr ""
"Aggiunge un repository\n"
"\n"
@@ -1895,28 +1984,31 @@ msgstr ""
": nome del repository da aggiungere\n"
": URI del file di indice\n"
"\n"
-"Se non viene fornito alcun repository, viene aggiunto automaticamente il repository pardus-devel\n"
+"Se non viene fornito alcun repository, viene aggiunto automaticamente il "
+"repository pardus-devel\n"
"\n"
-"NB: Sono supportati solo file locali (es., /a/b/c) e URI http:// per il momento.\n"
+"NB: Sono supportati solo file locali (es., /a/b/c) e URI http:// per il "
+"momento.\n"
-#: pisi/cli/commands.py:1180
+#: pisi/cli/commands.py:1260
msgid "add-repo options"
msgstr "opzioni add-repo"
-#: pisi/cli/commands.py:1183
+#: pisi/cli/commands.py:1263
msgid "Add repository at given position (0 is first)"
msgstr "Aggiunge il repository a una posizione specificata (0 è la prima)"
-#: pisi/cli/commands.py:1197
+#: pisi/cli/commands.py:1277
msgid "Update PiSi database for repository %s?"
msgstr "Aggiorna il database PiSi per il repository %s?"
-#: pisi/cli/commands.py:1201
+#: pisi/cli/commands.py:1281
msgid "%s repository could not be reached. Removing %s from system."
-msgstr "Il repository %s non può essere raggiunto. Rimozione di %s dal sistema in corso."
+msgstr ""
+"Il repository %s non può essere raggiunto. Rimozione di %s dal sistema in "
+"corso."
-#: pisi/cli/commands.py:1210
-#, docstring
+#: pisi/cli/commands.py:1290
msgid ""
"Remove repositories\n"
"\n"
@@ -1930,8 +2022,7 @@ msgstr ""
"\n"
"Rimuove tutte le informazioni dei repository dal sistema.\n"
-#: pisi/cli/commands.py:1236
-#, docstring
+#: pisi/cli/commands.py:1316
msgid ""
"List repositories\n"
"\n"
@@ -1945,8 +2036,7 @@ msgstr ""
"\n"
"Elenca i repository tenuti al momento sotto controllo.\n"
-#: pisi/cli/commands.py:1259
-#, docstring
+#: pisi/cli/commands.py:1339
msgid ""
"List available packages in the repositories\n"
"\n"
@@ -1964,28 +2054,27 @@ msgstr ""
"repository specificati. Se non ne viene specificato nessuno,\n"
"verrà fornito una lista dei pacchetti di tutti i repository.\n"
-#: pisi/cli/commands.py:1276
+#: pisi/cli/commands.py:1356
msgid "list-available options"
msgstr "opzioni list-available"
-#: pisi/cli/commands.py:1280
+#: pisi/cli/commands.py:1360
msgid "List available packages under given component"
msgstr "Elenca i pacchetti disponibili sotto il componente fornito"
-#: pisi/cli/commands.py:1282
+#: pisi/cli/commands.py:1362
msgid "Show uninstalled packages only"
msgstr "Mostra solo i pacchetti disinstallati"
-#: pisi/cli/commands.py:1290
+#: pisi/cli/commands.py:1370
msgid "Installed packages are shown in this color"
msgstr "I pacchetti installati sono mostrati in questo colore"
-#: pisi/cli/commands.py:1298
+#: pisi/cli/commands.py:1378
msgid "Repository : %s\n"
msgstr "Repository : %s\n"
-#: pisi/cli/commands.py:1325
-#, docstring
+#: pisi/cli/commands.py:1405
msgid ""
"List available components\n"
"\n"
@@ -2000,12 +2089,11 @@ msgstr ""
"\n"
"Fornisce una breve lista dei componenti PiSi pubblicati nei repository.\n"
-#: pisi/cli/commands.py:1340
+#: pisi/cli/commands.py:1420
msgid "list-components options"
msgstr "opzioni list-components"
-#: pisi/cli/commands.py:1365
-#, docstring
+#: pisi/cli/commands.py:1445
msgid ""
"List available sources\n"
"\n"
@@ -2019,12 +2107,11 @@ msgstr ""
"\n"
"Fornisce una breve lista dei sorgenti pubblicati nei repository.\n"
-#: pisi/cli/commands.py:1379
+#: pisi/cli/commands.py:1459
msgid "list-sources options"
msgstr "opzioni list-sources"
-#: pisi/cli/commands.py:1404
-#, docstring
+#: pisi/cli/commands.py:1484
msgid ""
"List packages to be upgraded\n"
"\n"
@@ -2038,20 +2125,19 @@ msgstr ""
"\n"
"Elenca i pacchetti che verranno aggiornati.\n"
-#: pisi/cli/commands.py:1418
+#: pisi/cli/commands.py:1498
msgid "list-upgrades options"
msgstr "opzioni list-upgrades"
-#: pisi/cli/commands.py:1423
+#: pisi/cli/commands.py:1503
msgid "List upgradable packages under given component"
msgstr "Elenca i pacchetti aggiornabili sotto il componente fornito"
-#: pisi/cli/commands.py:1440 pisi/operations.py:466
+#: pisi/cli/commands.py:1520 pisi/operations.py:455
msgid "No packages to upgrade."
msgstr "Nessun pacchetto da aggiornare."
-#: pisi/cli/commands.py:1460
-#, docstring
+#: pisi/cli/commands.py:1540
msgid ""
"List pending packages\n"
"\n"
@@ -2061,12 +2147,11 @@ msgstr ""
"\n"
"Elenca i pacchetti in attesa di essere configurati.\n"
-#: pisi/cli/commands.py:1482
+#: pisi/cli/commands.py:1562
msgid "There are no packages waiting to be configured"
msgstr "Nessun pacchetto è in attesa di essere configurato"
-#: pisi/cli/commands.py:1487
-#, docstring
+#: pisi/cli/commands.py:1567
msgid ""
"Search packages\n"
"\n"
@@ -2082,24 +2167,19 @@ msgstr ""
"Trova un pacchetto che contiene i termini di ricerca specificati\n"
"nei campi sommario, descrizione e nome del pacchetto.\n"
-#: pisi/cli/commands.py:1502
+#: pisi/cli/commands.py:1582
msgid "search options"
msgstr "opzioni di ricerca"
-#: pisi/cli/commands.py:1505
-msgid "Set search language"
-msgstr "Imposta lingua della ricerca"
-
-#: pisi/cli/commands.py:1510
+#: pisi/cli/commands.py:1588
msgid "Show details"
msgstr "Mostra dettagli"
-#: pisi/cli/commands.py:1530
+#: pisi/cli/commands.py:1600
msgid "%s packages found"
msgstr "%s pacchetti trovati"
-#: pisi/cli/commands.py:1539
-#, docstring
+#: pisi/cli/commands.py:1609
msgid ""
"Search for a file\n"
"\n"
@@ -2113,35 +2193,35 @@ msgstr ""
"\n"
"Trova il pacchetto installato che contiene il file specificato.\n"
-#: pisi/cli/commands.py:1553
+#: pisi/cli/commands.py:1623
msgid "search-file options"
msgstr "opzioni search-file"
-#: pisi/cli/commands.py:1557
+#: pisi/cli/commands.py:1627
msgid "Fuzzy search"
msgstr "Ricerca fuzzy"
-#: pisi/cli/commands.py:1559
+#: pisi/cli/commands.py:1629
msgid "Show only package name"
msgstr "Mostra solo nomi dei pacchetti"
-#: pisi/cli/commands.py:1580
+#: pisi/cli/commands.py:1650
msgid "Package %s has file %s"
msgstr "Il pacchetto %s contiene il file %s"
-#: pisi/cli/commands.py:1582
+#: pisi/cli/commands.py:1652
msgid "Type: %s, Hash: %s"
msgstr "Tipo: %s, Hash: %s"
-#: pisi/cli/commands.py:1585
+#: pisi/cli/commands.py:1655
msgid "Path '%s' does not belong to an installed package"
msgstr "Il percorso '%s' non appartiene a un pacchetto installato"
-#: pisi/cli/commands.py:1598
+#: pisi/cli/commands.py:1668
msgid "Searching for %s"
msgstr "Ricerca di %s in corso"
-#: pisi/cli/commands.py:1608
+#: pisi/cli/commands.py:1678
msgid ""
"%prog [options] [arguments]\n"
"\n"
@@ -2153,7 +2233,7 @@ msgstr ""
"dove è uno di:\n"
"\n"
-#: pisi/cli/commands.py:1614
+#: pisi/cli/commands.py:1684
msgid ""
"\n"
"Use \"%prog help \" for help on a specific command.\n"
@@ -2161,15 +2241,15 @@ msgstr ""
"\n"
"Utilizzo \"%prog help \" per aiuto su un comando specifico.\n"
-#: pisi/cli/pisicli.py:56
+#: pisi/cli/pisicli.py:53
msgid "Options must precede non-option arguments"
msgstr "Le opzioni devono precedere gli argomenti non opzioni"
-#: pisi/cli/pisicli.py:97
+#: pisi/cli/pisicli.py:94
msgid "No command given"
msgstr "Nessun comando fornito"
-#: pisi/cli/pisicli.py:100
+#: pisi/cli/pisicli.py:97
msgid "Command line parsing error"
msgstr "Errore nell'analisi della linea di comando"
@@ -2229,59 +2309,69 @@ msgstr "Chiamata dei gestori di pre rimozione"
msgid "Unregistering comar scripts"
msgstr "Deregistrazionescript COMAR"
-#: pisi/component.py:97 pisi/component.py:103
+#: pisi/component.py:105 pisi/component.py:111
msgid "Component %s not found"
msgstr "Componente %s non trovato"
-#: pisi/component.py:199 pisi/component.py:225
+#: pisi/component.py:207 pisi/component.py:233
msgid "Information for component %s not available"
msgstr "Nessuna informazione disponibile per il pacchetto %s"
-#: pisi/config.py:61
+#: pisi/config.py:60
msgid "Destination directory %s does not exist. Creating it."
msgstr "La cartella di destinazione %s non esiste. La sto creando."
-#: pisi/configfile.py:105
+#: pisi/configfile.py:112
msgid "No section by name '%s'"
msgstr "Nessuna sezione di nome '%s'"
-#: pisi/conflict.py:39 pisi/dependency.py:40
+#: pisi/conflict.py:26 pisi/replace.py:24
msgid " version >= "
msgstr " versione >= "
-#: pisi/conflict.py:41 pisi/dependency.py:42
+#: pisi/conflict.py:28 pisi/replace.py:26
msgid " version <= "
msgstr " versione <= "
-#: pisi/conflict.py:43 pisi/dependency.py:44
+#: pisi/conflict.py:30 pisi/replace.py:28
msgid " version "
msgstr " versione"
-#: pisi/conflict.py:45 pisi/dependency.py:46
+#: pisi/conflict.py:32 pisi/replace.py:30
msgid " release >= "
msgstr " release >= "
-#: pisi/conflict.py:47 pisi/dependency.py:48
+#: pisi/conflict.py:34 pisi/replace.py:32
msgid " release <= "
msgstr " release <= "
-#: pisi/conflict.py:49 pisi/dependency.py:50
+#: pisi/conflict.py:36 pisi/replace.py:34
msgid " release "
msgstr " release "
-#: pisi/constants.py:30
+#: pisi/constants.py:28
msgid "Can't rebind constant: %s"
msgstr "Impossibile ricollegare la costante: %s"
-#: pisi/constants.py:36
+#: pisi/constants.py:34
msgid "Can't unbind constant: %s"
msgstr "Impossibile scollegare la costante: %s"
-#: pisi/dependency.py:107
+#: pisi/delta.py:27
+#, fuzzy
+msgid "Cannot create delta for same package!"
+msgstr "Impossibile creare la cartella %s"
+
+#: pisi/delta.py:41
+#, fuzzy
+msgid "Creating delta PiSi package between %s %s"
+msgstr "Creazione del pacchetto PiSi %s."
+
+#: pisi/dependency.py:55
msgid "%s dependency of package %s is not satisfied"
msgstr "La dipendenza %s del pacchetto %s non è soddisfatta"
-#: pisi/dependency.py:120
+#: pisi/dependency.py:68
msgid "Package %s is not present in the package database"
msgstr "Il pacchetto %s non è presente nel database dei pacchetti"
@@ -2298,38 +2388,41 @@ msgid "Access denied to destination file: \"%s\""
msgstr "Accesso negato al file di destinazione: \"%s\""
#: pisi/fetcher.py:100
-msgid "A problem occured. Please check the archive address and/or permissions again."
-msgstr "C'è stato un problema. Controlla per favore di nuovo l'indirizzo dell'archivio e/o i permessi."
+msgid ""
+"A problem occured. Please check the archive address and/or permissions again."
+msgstr ""
+"C'è stato un problema. Controlla per favore di nuovo l'indirizzo "
+"dell'archivio e/o i permessi."
#: pisi/fetcher.py:158
msgid "No such file or no permission to read"
msgstr "File non esistente o permesso di lettura negato"
-#: pisi/fetcher.py:183
+#: pisi/fetcher.py:182
msgid "Requested range not satisfiable, starting again."
msgstr "Impossibile soddisfare l'intervallo richiesto, inizio di nuovo."
-#: pisi/fetcher.py:190
+#: pisi/fetcher.py:189
msgid "Cannot fetch %s; value error: %s"
msgstr "Impossibile recuperare %s; valore errore: %s"
-#: pisi/fetcher.py:192 pisi/fetcher.py:196
+#: pisi/fetcher.py:191 pisi/fetcher.py:195
msgid "Cannot fetch %s; %s"
msgstr "Impossibile recuperare %s; %s"
-#: pisi/fetcher.py:194
+#: pisi/fetcher.py:193
msgid "Please check your network connections and try again. (%s)"
msgstr "Controlla per favore la tua connessione di rete e riprova. (%s)"
-#: pisi/fetcher.py:198
+#: pisi/fetcher.py:197
msgid "Cannot fetch %s; (%s): %s"
msgstr "Impossibile recuperare %s; (%s): %s"
-#: pisi/fetcher.py:244
+#: pisi/fetcher.py:243
msgid "Proxy configuration has been found for '%s' protocol"
msgstr "Trovata configurazione proxy per il protocollo '%s'"
-#: pisi/fetcher.py:328 pisi/fetcher.py:349 pisi/fetcher.py:362
+#: pisi/fetcher.py:327 pisi/fetcher.py:348 pisi/fetcher.py:362
msgid "ftp error"
msgstr "errore ftp"
@@ -2377,43 +2470,43 @@ msgstr "ERRORE: gpg --detach-sig %s fallito"
msgid "Encountered cycle %s"
msgstr "Riscontrato ciclo %s"
-#: pisi/index.py:92
-msgid "Adding %s to package index"
-msgstr "Aggiunta di %s all'indice dei pacchetti"
-
-#: pisi/index.py:95
+#: pisi/index.py:97
msgid "Adding %s to component index"
msgstr "Aggiunta di %s all'indice dei componenti"
-#: pisi/index.py:113
+#: pisi/index.py:109
+msgid "Adding %s to package index"
+msgstr "Aggiunta di %s all'indice dei pacchetti"
+
+#: pisi/index.py:123
msgid "Updating package database of %s"
msgstr "Aggiornamento del database dei pacchetti di %s"
-#: pisi/index.py:141
+#: pisi/index.py:152
msgid "Package %s: metadata corrupt, skipping..."
msgstr "Pacchetto %s: metadata corrotti, lo salto..."
-#: pisi/index.py:169
+#: pisi/index.py:191
msgid "Adding %s to source index"
msgstr "Aggiunta di %s all'indice dei sorgenti"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed"
msgstr "installato"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed-pending"
msgstr "installato-in sospeso"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "purged"
msgstr "rimosso completamente"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "removed"
msgstr "rimosso"
-#: pisi/installdb.py:62
+#: pisi/installdb.py:55
msgid ""
"State: %s\n"
"Version: %s, Release: %s, Build: %s\n"
@@ -2421,67 +2514,85 @@ msgstr ""
"Stato: %s\n"
"Versione: %s, Release: %s, Build: %s\n"
-#: pisi/installdb.py:67
+#: pisi/installdb.py:60
msgid "Distribution: %s, Install Time: %s\n"
msgstr "Distribuzione: %s, Data installazione: %s\n"
-#: pisi/installdb.py:154
+#: pisi/installdb.py:147
msgid "Already installed"
msgstr "Già installato"
-#: pisi/itembyrepodb.py:120
+#: pisi/itembyrepodb.py:114
msgid "Invalid repository string"
msgstr "Stringa del repository non valida"
-#: pisi/itembyrepodb.py:142
+#: pisi/itembyrepodb.py:136
msgid "Key %s not found"
msgstr "Chiave %s non trovata"
-#: pisi/itembyrepodb.py:152
+#: pisi/itembyrepodb.py:146
msgid "Key %s in repo %s not found"
msgstr "Chiave %s nel repository %s non trovata"
-#: pisi/lockeddbshelve.py:47
+#: pisi/lockeddbshelve.py:46
+#, fuzzy
msgid "Database version for %s insufficient. Please run rebuild-db command."
-msgstr "Versione del database per %s insufficiente. Lancia per favore il comando rebuild-db."
+msgstr ""
+"Versione del database per %s insufficiente. Lancia per favore il comando "
+"rebuild-db."
-#: pisi/lockeddbshelve.py:51
-msgid "Database version for %s greater than PiSi version. You need a newer PiSi."
-msgstr "La versione del database per %s è maggiore della versione di PiSi. Ti serve una versione più recente di PiSi."
+#: pisi/lockeddbshelve.py:50
+#, fuzzy
+msgid ""
+"Database version for %s greater than PiSi version. You need a newer PiSi."
+msgstr ""
+"La versione del database per %s è maggiore della versione di PiSi. Ti serve "
+"una versione più recente di PiSi."
-#: pisi/lockeddbshelve.py:62
+#: pisi/lockeddbshelve.py:61
msgid "Cannot attain write access to database environment"
msgstr "Impossibile ottenere accesso in scrittura all'ambiente del database"
-#: pisi/lockeddbshelve.py:64
+#: pisi/lockeddbshelve.py:63
msgid "Database version %s not present."
msgstr "Versione del database %s non presente."
-#: pisi/lockeddbshelve.py:71 pisi/lockeddbshelve.py:153
-msgid "Another instance of PiSi is running. Only one instance is allowed to modify the PiSi database at a time."
-msgstr "Un'altra istanza di PiSi è in esecuzione. La modifica del database di PiSi è consentita a un'unica istanza alla volta."
+#: pisi/lockeddbshelve.py:70 pisi/lockeddbshelve.py:152
+msgid ""
+"Another instance of PiSi is running. Only one instance is allowed to modify "
+"the PiSi database at a time."
+msgstr ""
+"Un'altra istanza di PiSi è in esecuzione. La modifica del database di PiSi è "
+"consentita a un'unica istanza alla volta."
-#: pisi/lockeddbshelve.py:81
+#: pisi/lockeddbshelve.py:80
msgid "Cannot attain read access to database environment"
msgstr "Impossibile ottenere accesso in lettura all'ambiente del database"
-#: pisi/lockeddbshelve.py:95
-msgid "Cannot attain write access to PiSi database. You have to be root for this operation."
-msgstr "Impossibile ottenere accesso in lettura al database PiSi. Devi essere root per eseguire questa operazione."
+#: pisi/lockeddbshelve.py:94
+msgid ""
+"Cannot attain write access to PiSi database. You have to be root for this "
+"operation."
+msgstr ""
+"Impossibile ottenere accesso in lettura al database PiSi. Devi essere root "
+"per eseguire questa operazione."
-#: pisi/lockeddbshelve.py:113
+#: pisi/lockeddbshelve.py:112
msgid "Cannot attain read or write access to database %s"
msgstr "Impossibile ottenere accesso in lettura o scrittura al database %s"
-#: pisi/lockeddbshelve.py:139
-msgid "Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
-msgstr "I flag devono essere uno di 'r', 'w, 'c', o 'n' oppure utilizza i flag bsddb.db.DB_*"
+#: pisi/lockeddbshelve.py:138
+msgid ""
+"Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
+msgstr ""
+"I flag devono essere uno di 'r', 'w, 'c', o 'n' oppure utilizza i flag bsddb."
+"db.DB_*"
-#: pisi/metadata.py:58
+#: pisi/metadata.py:74
msgid "Distribution: %s, Dist. Release: %s\n"
msgstr "Distribuzione: %s, Versione: %s\n"
-#: pisi/metadata.py:60
+#: pisi/metadata.py:76
msgid "Architecture: %s, Installed Size: %s"
msgstr "Architettura: %s, Dimensione file installati: %s"
@@ -2489,11 +2600,11 @@ msgstr "Architettura: %s, Dimensione file installati: %s"
msgid "Mirrors file %s does not exist. Could not resolve mirrors://"
msgstr "Il file dei mirror %s non esiste. Impossibile trovare mirrors://"
-#: pisi/operations.py:114
+#: pisi/operations.py:106
msgid "Mixing file names and package names not supported yet."
msgstr "Non è ancora possibile mescolare nomi dei file e nomi dei pacchetti."
-#: pisi/operations.py:156
+#: pisi/operations.py:148
msgid ""
"The following packages will be installed\n"
"in the respective order to satisfy extra dependencies:\n"
@@ -2501,35 +2612,43 @@ msgstr ""
"I seguenti pacchetti verranno installati nel\n"
"rispettivo ordine per soddisfare le dipendenze aggiuntive:\n"
-#: pisi/operations.py:159 pisi/operations.py:621
+#: pisi/operations.py:151 pisi/operations.py:618
msgid "Do you want to continue?"
msgstr "Vuoi proseguire?"
-#: pisi/operations.py:160
+#: pisi/operations.py:152
msgid "External dependencies not satisfied"
msgstr "Dipendenze esterne non soddisfatte"
-#: pisi/operations.py:172 pisi/operations.py:339
+#: pisi/operations.py:164 pisi/operations.py:316
msgid "No packages to install."
msgstr "Nessun pacchetto da installare."
-#: pisi/operations.py:203
+#: pisi/operations.py:195
msgid "Installation order: "
msgstr "Ordine di installazione: "
-#: pisi/operations.py:257 pisi/operations.py:279
+#: pisi/operations.py:223
+msgid "Replaced package remains"
+msgstr ""
+
+#: pisi/operations.py:227 pisi/operations.py:255
msgid "Conflicts remain"
msgstr "Il conflitto rimane"
-#: pisi/operations.py:267
+#: pisi/operations.py:233
+msgid "Obsoleted packages remaining"
+msgstr ""
+
+#: pisi/operations.py:243
msgid "Selected packages [%s] are in conflict with each other."
msgstr "I pacchetti selezionati [%s] sono in conflitto tra loro."
-#: pisi/operations.py:273
+#: pisi/operations.py:249
msgid "[%s conflicts with: %s]\n"
msgstr "[%s va in conflitto con: %s]\n"
-#: pisi/operations.py:275
+#: pisi/operations.py:251
msgid ""
"The following packages have conflicts:\n"
"%s"
@@ -2537,90 +2656,113 @@ msgstr ""
"I pacchetti seguenti hanno dei conflitti:\n"
"%s"
-#: pisi/operations.py:278
+#: pisi/operations.py:254
msgid "Remove the following conflicting packages?"
msgstr "Rimuovere i seguenti pacchetti conflittanti?"
-#: pisi/operations.py:305
+#: pisi/operations.py:282
msgid "Safety switch: Following packages in system.base will be installed: "
-msgstr "Switch di sicurezza: i seguenti pacchetti in system.base verranno installati: "
+msgstr ""
+"Switch di sicurezza: i seguenti pacchetti in system.base verranno "
+"installati: "
-#: pisi/operations.py:311
+#: pisi/operations.py:288
msgid "Safety switch: Following packages in system.base will be upgraded: "
-msgstr "Switch di sicurezza: i seguenti pacchetti in system.base verranno aggiornati: "
+msgstr ""
+"Switch di sicurezza: i seguenti pacchetti in system.base verranno "
+"aggiornati: "
-#: pisi/operations.py:317 pisi/operations.py:597
+#: pisi/operations.py:294 pisi/operations.py:594
msgid "Safety switch: the component system.base cannot be found"
msgstr "Switch di sicurezza: il componente system.base non è stato trovato"
-#: pisi/operations.py:334
-msgid "The following package(s) are already installed and are not going to be installed again:\n"
-msgstr "I seguenti pacchetti sono già installati e non verranno installati nuovamente:\n"
+#: pisi/operations.py:311
+msgid ""
+"The following package(s) are already installed and are not going to be "
+"installed again:\n"
+msgstr ""
+"I seguenti pacchetti sono già installati e non verranno installati "
+"nuovamente:\n"
-#: pisi/operations.py:355
-msgid "Following packages will be installed in the respective order to satisfy dependencies:\n"
+#: pisi/operations.py:332
+msgid ""
+"Following packages will be installed in the respective order to satisfy "
+"dependencies:\n"
msgstr ""
"I seguenti pacchetti verranno installati nel\n"
"rispettivo ordine per soddisfare le dipendenze:\n"
-#: pisi/operations.py:360 pisi/operations.py:491
+#: pisi/operations.py:337 pisi/operations.py:480
msgid "Total size of package(s): %.2f %s"
msgstr "Dimensione totale dei pacchetti: %.2f %s"
-#: pisi/operations.py:366 pisi/operations.py:497 pisi/operations.py:709
+#: pisi/operations.py:343 pisi/operations.py:486 pisi/operations.py:705
msgid "There are extra packages due to dependencies. Do you want to continue?"
-msgstr "Sono inclusi dei pacchetti extra per via delle dipendenze. Desideri proseguire?"
+msgstr ""
+"Sono inclusi dei pacchetti extra per via delle dipendenze. Desideri "
+"proseguire?"
-#: pisi/operations.py:432
+#: pisi/operations.py:412
msgid "Warning: package *name* ends with '.pisi'"
msgstr "Attenzione: il *nome* del pacchetto termina con '.pisi'"
-#: pisi/operations.py:435
+#: pisi/operations.py:424
msgid "Package %s is not installed."
msgstr "Il pacchetto %s non è installato."
-#: pisi/operations.py:441
+#: pisi/operations.py:430
msgid "Package %s is not available in repositories."
msgstr "Il pacchetto %s non è disponibile nei repository."
-#: pisi/operations.py:453
+#: pisi/operations.py:442
msgid "Package %s is already at the latest release %s."
msgstr "Il pacchetto %s è già alla versione più recente %s."
-#: pisi/operations.py:459
+#: pisi/operations.py:448
msgid "Package %s is already at the latest build %s."
msgstr "Il pacchetto %s è già alla build più recente %s."
-#: pisi/operations.py:486
+#: pisi/operations.py:475
msgid "The following packages will be upgraded: "
msgstr "I seguenti pacchetti verranno aggiornati: "
-#: pisi/operations.py:552
+#: pisi/operations.py:493
+msgid "Downloading %d / %d"
+msgstr ""
+
+#: pisi/operations.py:511
+#, fuzzy
+msgid "Installing %d / %d"
+msgstr "Installato %s"
+
+#: pisi/operations.py:548
msgid "Dependency %s of %s cannot be satisfied"
msgstr "Impossibile soddisfare la dipendenza %s di %s"
-#: pisi/operations.py:553
+#: pisi/operations.py:549
msgid "Upgrade is not possible."
msgstr "L'aggiornamento non è possibile."
-#: pisi/operations.py:568
+#: pisi/operations.py:565
#, fuzzy
msgid "Reverse dependency %s of %s cannot be satisfied"
msgstr "La dipendenza inversa %s di %s non può essere soddisfatta"
-#: pisi/operations.py:593
+#: pisi/operations.py:590
msgid "Safety switch: cannot remove the following packages in system.base: "
-msgstr "Switch di sicurezza: impossibile rimuovere i seguenti pacchetti in system.base: "
+msgstr ""
+"Switch di sicurezza: impossibile rimuovere i seguenti pacchetti in system."
+"base: "
-#: pisi/operations.py:604
+#: pisi/operations.py:601
msgid "Package %s does not exist. Cannot remove."
msgstr "Il pacchetto %s non esiste. Impossibile rimuovere."
-#: pisi/operations.py:608
+#: pisi/operations.py:605
msgid "No packages to remove."
msgstr "Nessun pacchetto da rimuovere."
-#: pisi/operations.py:617
+#: pisi/operations.py:614
msgid ""
"The following minimal list of packages will be removed\n"
"in the respective order to satisfy dependencies:\n"
@@ -2628,19 +2770,19 @@ msgstr ""
"La seguente lista minimale di pacchetti verrà rimossa\n"
"nel rispettivo ordine per soddisfare le dipendenze:\n"
-#: pisi/operations.py:622
+#: pisi/operations.py:619
msgid "Package removal declined"
msgstr "Rimozione dei pacchetti rifiutata"
-#: pisi/operations.py:634
+#: pisi/operations.py:631
msgid "Package %s is not installed. Cannot remove."
msgstr "Il pacchetto %s non è installato. Impossibile rimuovere."
-#: pisi/operations.py:683
+#: pisi/operations.py:679
msgid "No packages to emerge."
msgstr "Nessun pacchetto su cui effettuare emerge."
-#: pisi/operations.py:698
+#: pisi/operations.py:694
msgid ""
"The following minimal list of packages will be installed\n"
"from repository in the respective order to satisfy dependencies:\n"
@@ -2648,7 +2790,7 @@ msgstr ""
"La seguente lista minimale di pacchetti verrà installata\n"
"dal repository nel rispettivo ordine per soddisfare le dipendenze:\n"
-#: pisi/operations.py:701
+#: pisi/operations.py:697
msgid ""
"The following minimal list of packages will be built and\n"
"installed in the respective order to satisfy dependencies:\n"
@@ -2656,104 +2798,112 @@ msgstr ""
"La seguente lista minimale dei pacchetti verrà costruita e\n"
"installata nel rispettivo ordine per soddisfare le dipendenze:\n"
-#: pisi/operations.py:743
+#: pisi/operations.py:739
msgid "Cannot find source package: %s"
msgstr "Impossibile trovare il pacchetto di sorgenti: %s"
#: pisi/package.py:56
+#, fuzzy
msgid ""
"There was a problem while fetching '%s'.\n"
"The package may have been upgraded. Please try to upgrade the package."
msgstr ""
"C'è stato un problema durante il recupero di '%s'.\n"
-"Il pacchetto potrebbe essere stato aggiornato. Prova per favore ad aggiornare il pacchetto."
+"Il pacchetto potrebbe essere stato aggiornato. Prova per favore ad "
+"aggiornare il pacchetto."
-#: pisi/package.py:60 pisi/sourcearchive.py:94
+#: pisi/package.py:60 pisi/sourcearchive.py:92
msgid "%s [cached]"
msgstr "%s [nella cache]"
-#: pisi/package.py:131
+#: pisi/package.py:136
msgid "MetaData format wrong"
msgstr "Formato MetaData errato"
-#: pisi/packagedb.py:66
+#: pisi/packagedb.py:65
msgid "Package %s not found"
msgstr "Pacchetto %s non trovato"
-#: pisi/pxml/autoxml.py:77
+#: pisi/pxml/autoxml.py:79
msgid "At least one '%s' tag should have local text"
msgstr "Almeno un tag '%s' dovrebbe aver del testo localizzato"
-#: pisi/pxml/autoxml.py:84
+#: pisi/pxml/autoxml.py:86
msgid "'%s' language of tag '%s' is empty"
msgstr "lingua '%s' del tag '%s' è vuoto"
-#: pisi/pxml/autoxml.py:112
+#: pisi/pxml/autoxml.py:114
msgid "LocalText: unable to get either current or default locale"
-msgstr "LocalText: impossibile ottenere sia il locale corrente che quello predefinito"
+msgstr ""
+"LocalText: impossibile ottenere sia il locale corrente che quello predefinito"
-#: pisi/pxml/autoxml.py:118 pisi/pxml/autoxml.py:133
-msgid "Tag should have at least the current locale, or failing that an English or Turkish version"
-msgstr "Il tag dovrebbe avere almeno il locale corrente, o in mancanza di esso una versione inglese o turca"
+#: pisi/pxml/autoxml.py:120 pisi/pxml/autoxml.py:135
+msgid ""
+"Tag should have at least the current locale, or failing that an English or "
+"Turkish version"
+msgstr ""
+"Il tag dovrebbe avere almeno il locale corrente, o in mancanza di esso una "
+"versione inglese o turca"
-#: pisi/pxml/autoxml.py:368
+#: pisi/pxml/autoxml.py:373
msgid "autoxml.check: '%s' errors"
msgstr "autoxml.check: errori '%s'"
-#: pisi/pxml/autoxml.py:423 pisi/pxml/autoxml.py:433
+#: pisi/pxml/autoxml.py:428 pisi/pxml/autoxml.py:438
msgid "autoxml.parse: String '%s' has errors"
msgstr "autoxml.parse: La stringa '%s' contiene degli errori"
-#: pisi/pxml/autoxml.py:443 pisi/pxml/autoxml.py:453
+#: pisi/pxml/autoxml.py:448 pisi/pxml/autoxml.py:458
msgid "autoxml.read: File '%s' has errors"
msgstr "autoxml.read: Il file '%s' contiene degli errori"
-#: pisi/pxml/autoxml.py:461
+#: pisi/pxml/autoxml.py:466
msgid "autoxml.write: object validation has failed"
msgstr "autoxml.write: validazione dell'oggetto fallita"
-#: pisi/pxml/autoxml.py:469
+#: pisi/pxml/autoxml.py:474
msgid "autoxml.write: File encoding '%s' has errors"
msgstr "autoxml.write: La codifica del file '%s' contiene degli errori"
-#: pisi/pxml/autoxml.py:519
+#: pisi/pxml/autoxml.py:524
msgid "gen_tag: unrecognized tag type %s in spec"
msgstr "gen_tag: tipo di tag %s non riconosciuto in spec"
-#: pisi/pxml/autoxml.py:567 pisi/pxml/autoxml.py:578
+#: pisi/pxml/autoxml.py:572 pisi/pxml/autoxml.py:583
msgid "Mandatory variable %s not available"
msgstr "La variabile obbligatoria %s non è disponibile"
-#: pisi/pxml/autoxml.py:648
+#: pisi/pxml/autoxml.py:653
msgid "Type mismatch: read text cannot be decoded"
-msgstr "Errore non corrispondenza di tipo: impossibile decodificare il testo letto"
+msgstr ""
+"Errore non corrispondenza di tipo: impossibile decodificare il testo letto"
-#: pisi/pxml/autoxml.py:652 pisi/pxml/autoxml.py:661
+#: pisi/pxml/autoxml.py:657 pisi/pxml/autoxml.py:666
msgid "Mandatory token %s not available"
msgstr "Il token obbligatorio %s non è disponibile"
-#: pisi/pxml/autoxml.py:666
+#: pisi/pxml/autoxml.py:671
msgid "Type mismatch. Expected %s, got %s"
msgstr "Scambio di tipo. Atteso %s, rilevato %s"
-#: pisi/pxml/autoxml.py:696 pisi/pxml/autoxml.py:812
+#: pisi/pxml/autoxml.py:701 pisi/pxml/autoxml.py:817
msgid "Type mismatch: DOM cannot be decoded"
msgstr "Scambio di tipo: il DOM non può essere decodificato"
-#: pisi/pxml/autoxml.py:699 pisi/pxml/autoxml.py:715 pisi/pxml/autoxml.py:725
-#: pisi/pxml/autoxml.py:815 pisi/pxml/autoxml.py:829 pisi/pxml/autoxml.py:839
+#: pisi/pxml/autoxml.py:704 pisi/pxml/autoxml.py:720 pisi/pxml/autoxml.py:730
+#: pisi/pxml/autoxml.py:820 pisi/pxml/autoxml.py:834 pisi/pxml/autoxml.py:844
msgid "Mandatory argument not available"
msgstr "Argomento obbligatorio non disponibile"
-#: pisi/pxml/autoxml.py:712 pisi/pxml/autoxml.py:826
+#: pisi/pxml/autoxml.py:717 pisi/pxml/autoxml.py:831
msgid "Object cannot be encoded"
msgstr "Impossibile codificare l'oggetto"
-#: pisi/pxml/autoxml.py:737
+#: pisi/pxml/autoxml.py:742
msgid "List type must contain only one element"
msgstr "Il tipo lista deve contenere solo un elemento"
-#: pisi/pxml/autoxml.py:750 pisi/pxml/autoxml.py:771
+#: pisi/pxml/autoxml.py:755 pisi/pxml/autoxml.py:776
msgid "Mandatory list \"%s\" under \"%s\" node is empty."
msgstr "La lista obbligatoria \"%s\" sotto il nodo \"%s\" è vuota."
@@ -2761,23 +2911,23 @@ msgstr "La lista obbligatoria \"%s\" sotto il nodo \"%s\" è vuota."
msgid "getNodeText: Expected text node, got something else!"
msgstr "getNodeText: Atteso il testo del nodo, ottenuto qualcos'altro!"
-#: pisi/pxml/xmlfile.py:64
+#: pisi/pxml/xmlfile.py:63
msgid "String '%s' has invalid XML"
msgstr "La stringa '%s' contiene XML non valido"
-#: pisi/pxml/xmlfile.py:72 pisi/pxml/xmlfile.py:87
+#: pisi/pxml/xmlfile.py:71 pisi/pxml/xmlfile.py:86
msgid "File '%s' has invalid XML"
msgstr "Il file '%s' contiene XML non valido"
-#: pisi/repodb.py:74
+#: pisi/repodb.py:69
msgid "No repository named %s exists"
msgstr "Non esiste alcun repository di nome %s"
-#: pisi/repodb.py:83
+#: pisi/repodb.py:78
msgid "Repository %s already exists"
msgstr "Il repository %s esiste già"
-#: pisi/repodb.py:90
+#: pisi/repodb.py:85
msgid "Cannot add repository at position %s"
msgstr "Impossibile aggiungere un repository in posizione %s"
@@ -2793,55 +2943,55 @@ msgstr "Il repository ha già un pacchetto di nome %s."
msgid "Repo does not have package named %s."
msgstr "Il repository non ha un pacchetto di nome %s."
-#: pisi/sourcearchive.py:63
+#: pisi/sourcearchive.py:61
msgid "Trying fallback address: %s"
msgstr "Tentativo con l'indirizzo di fallback: %s"
-#: pisi/sourcearchive.py:74
+#: pisi/sourcearchive.py:72
msgid "%s mirrors are not defined."
msgstr "Mirror di %s non definiti."
-#: pisi/sourcearchive.py:79
+#: pisi/sourcearchive.py:77
msgid "Fetching source from mirror: %s"
msgstr "Prelevamento dei sorgenti dal mirror: %s"
-#: pisi/sourcearchive.py:85
+#: pisi/sourcearchive.py:83
msgid "Could not fetch source from %s mirrors."
msgstr "Impossibile recuperare il sorgente dai mirror %s."
-#: pisi/sourcearchive.py:103
+#: pisi/sourcearchive.py:101
msgid "unpack: check_file_hash failed"
msgstr "unpack: check_file_hash fallito"
-#: pisi/sourcedb.py:59 pisi/sourcedb.py:65
+#: pisi/sourcedb.py:54 pisi/sourcedb.py:60
msgid "Source package %s not found"
msgstr "Pacchetto sorgente %s non trovato"
-#: pisi/specfile.py:141
+#: pisi/specfile.py:139
msgid "URI: %s, type: %s, sha1sum: %s"
msgstr "URI: %s, tipo: %s, sha1sum: %s"
-#: pisi/specfile.py:208
+#: pisi/specfile.py:206
msgid "Name: %s, version: %s, release: %s, build %s\n"
msgstr "Nome: %s, versione: %s, release: %s, build %s\n"
-#: pisi/specfile.py:210
+#: pisi/specfile.py:208
msgid "Summary: %s\n"
msgstr "Sommario: %s\n"
-#: pisi/specfile.py:211
+#: pisi/specfile.py:209
msgid "Description: %s\n"
msgstr "Descrizione: %s\n"
-#: pisi/specfile.py:212
+#: pisi/specfile.py:210
msgid "Component: %s\n"
msgstr "Componente: %s\n"
-#: pisi/specfile.py:213
+#: pisi/specfile.py:211
msgid "Provides: "
msgstr "Fornisce: "
-#: pisi/specfile.py:217
+#: pisi/specfile.py:215
msgid "Dependencies: "
msgstr "Dipendenze: "
@@ -2857,47 +3007,43 @@ msgstr "In esecuzione"
msgid "return value for \"%s\" is %s"
msgstr "il valore di ritorno per \"%s\" è %s"
-#: pisi/util.py:364
+#: pisi/util.py:361
msgid "Including external link '%s'"
msgstr "Includendo il collegamento esterno '%s'"
-#: pisi/util.py:366
+#: pisi/util.py:363
msgid "Including directory '%s'"
msgstr "Includendo la cartella '%s'"
-#: pisi/util.py:440
+#: pisi/util.py:448
msgid "I/O Error: Cannot calculate SHA1 hash of %s"
msgstr "Errore I/O: Impossibile calcolare l'hash SHA1 di %s"
-#: pisi/util.py:451
+#: pisi/util.py:459
msgid "Cannot calculate SHA1 hash of given data"
msgstr "Impossibile calcolare l'hash SHA1 dei dati forniti"
-#: pisi/util.py:488
+#: pisi/util.py:508
msgid "ERROR: patch (%s) failed"
msgstr "ERRORE: patch (%s) fallita"
-#: pisi/util.py:490
+#: pisi/util.py:510
msgid "ERROR: patch (%s) failed: %s"
msgstr "ERRORE: patch (%s) fallita: %s"
-#: pisi/util.py:536
+#: pisi/util.py:556
msgid "strip command failed for file '%s'!"
msgstr ""
-#: pisi/util.py:543
+#: pisi/util.py:563
msgid "objcopy (keep-debug) command failed for file '%s'!"
msgstr "comando objcopy (keep-debug) fallito per il file '%s'!"
-#: pisi/util.py:549
+#: pisi/util.py:569
msgid "objcopy (add-debuglink) command failed for file '%s'!"
msgstr "comando objcopy (add-debuglink) fallito per il file '%s'!"
-#: pisi/util.py:610
-msgid "Updating environment..."
-msgstr "Aggiornamento dell'ambiente..."
-
-#: scripts/repostats.py:361
+#: scripts/repostats.py:226
msgid ""
"Duplicate binary packages:\n"
"%s\n"
@@ -2907,11 +3053,7 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:366
-msgid "Unknown file type '%s' in package '%s'"
-msgstr "Tipo di file sconosciuto '%s' nel pacchetto '%s'"
-
-#: scripts/repostats.py:422
+#: scripts/repostats.py:301
msgid ""
"Duplicate source packages:\n"
"%s\n"
@@ -2921,15 +3063,14 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:442
-msgid "Source package '%s' has wrong date format '%s'"
-msgstr "Il pacchetto sorgente '%s' ha il formato della data errato '%s'"
+#: scripts/repostats.py:371
+msgid ""
+"Developer '%s <%s>' has another mail address '%s' in source package '%s'"
+msgstr ""
+"Lo sviluppatore '%s <%s>' ha un altro indirizzo di posta elettronica '%s' "
+"nel pacchetto sorgente '%s'"
-#: scripts/repostats.py:481
-msgid "Developer '%s <%s>' has another mail address '%s' in source package '%s'"
-msgstr "Lo sviluppatore '%s <%s>' ha un altro indirizzo di posta elettronica '%s' nel pacchetto sorgente '%s'"
-
-#: scripts/repostats.py:564
+#: scripts/repostats.py:467
msgid ""
"Cannot parse '%s':\n"
"%s\n"
@@ -2937,27 +3078,42 @@ msgstr ""
"Impossibile analizzare '%s':\n"
"%s\n"
-#: scripts/repostats.py:642
+#: scripts/repostats.py:553
msgid "Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n"
-msgstr "Utilizzo: repostats.py [OPZIONI] percorso-repo-sorgente [percorso-repo-binario]\n"
+msgstr ""
+"Utilizzo: repostats.py [OPZIONI] percorso-repo-sorgente [percorso-repo-"
+"binario]\n"
-#: scripts/repostats.py:643
+#: scripts/repostats.py:554
msgid "Dont generate the web site.\n"
msgstr "Non generare il sito web.\n"
-#: scripts/repostats.py:664
+#: scripts/repostats.py:575
msgid "Scanning source repository...\n"
msgstr "Scansione del repository sorgente in corso...\n"
-#: scripts/repostats.py:668
+#: scripts/repostats.py:579
msgid "Scanning binary packages...\n"
msgstr "Scansione dei pacchetti binari in corso...\n"
-#: scripts/repostats.py:673
-msgid "Encountered %d errors! Fix them immediately!\n"
-msgstr "Sono stati riscontrati %d errori! Correggili immediatamente!\n"
+#, fuzzy
+#~ msgid "History for Package %s not found"
+#~ msgstr "Pacchetto %s non trovato"
-#: scripts/repostats.py:681
-msgid "These dependencies are not available in repository:\n"
-msgstr "Queste dipendenze non sono disponibili nel repository:\n"
+#~ msgid "Updating environment..."
+#~ msgstr "Aggiornamento dell'ambiente..."
+#~ msgid "Set search language"
+#~ msgstr "Imposta lingua della ricerca"
+
+#~ msgid "Unknown file type '%s' in package '%s'"
+#~ msgstr "Tipo di file sconosciuto '%s' nel pacchetto '%s'"
+
+#~ msgid "Source package '%s' has wrong date format '%s'"
+#~ msgstr "Il pacchetto sorgente '%s' ha il formato della data errato '%s'"
+
+#~ msgid "Encountered %d errors! Fix them immediately!\n"
+#~ msgstr "Sono stati riscontrati %d errori! Correggili immediatamente!\n"
+
+#~ msgid "These dependencies are not available in repository:\n"
+#~ msgstr "Queste dipendenze non sono disponibili nel repository:\n"
diff --git a/po/nl.po b/po/nl.po
index ad129d61..7c38e4c9 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nl\n"
-"POT-Creation-Date: 2006-12-09 20:35+EET\n"
+"POT-Creation-Date: 2007-07-05 09:54+EEST\n"
"PO-Revision-Date: 2007-06-03 21:15+0200\n"
"Last-Translator: Willem Gielen \n"
"Language-Team: Nederlands \n"
@@ -94,7 +94,7 @@ msgstr ""
" Raised if an invalid or ambiguous option is seen on the command-line.\n"
" "
-#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:50
+#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:48
msgid "Return a comma-separated list of option strings & metavariables."
msgstr "Return a comma-separated list of option strings & metavariables."
@@ -106,7 +106,7 @@ msgstr ""
"Format help with indented section bodies.\n"
" "
-#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:44
+#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:42
msgid "usage: %s\n"
msgstr "usage: %s\n"
@@ -488,7 +488,7 @@ msgstr "Terugloop:"
msgid "Use --debug to see a traceback."
msgstr "Gebruik --debug voor een terugloop."
-#: pisi/actionsapi/autotools.py:36
+#: pisi/actionsapi/autotools.py:36 pisi/actionsapi/cmaketools.py:36
msgid ""
"Please attach the config.log to your bug report:\n"
"%s/config.log"
@@ -498,8 +498,8 @@ msgstr ""
# pisi/actionsapi/autotools.py:75 :85
#: pisi/actionsapi/autotools.py:75 pisi/actionsapi/autotools.py:85
-#: pisi/actionsapi/kde.py:65 pisi/actionsapi/perlmodules.py:54
-#: pisi/actionsapi/perlmodules.py:57
+#: pisi/actionsapi/cmaketools.py:62 pisi/actionsapi/kde.py:65
+#: pisi/actionsapi/perlmodules.py:54 pisi/actionsapi/perlmodules.py:57
msgid "Configure failed."
msgstr "Configuratie mislukt."
@@ -509,52 +509,61 @@ msgstr "Configuratie mislukt."
msgid "No configure script found."
msgstr "Geen configuratiescript gevonden."
-#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/kde.py:72
-#: pisi/actionsapi/perlmodules.py:63 pisi/actionsapi/perlmodules.py:72
-#: pisi/actionsapi/pythonmodules.py:49 pisi/actionsapi/scons.py:39
+#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/cmaketools.py:70
+#: pisi/actionsapi/kde.py:72 pisi/actionsapi/perlmodules.py:63
+#: pisi/actionsapi/perlmodules.py:72 pisi/actionsapi/pythonmodules.py:49
+#: pisi/actionsapi/scons.py:39
msgid "Make failed."
msgstr "Make mislukt."
# pisi/actionsapi/autotools.py:119 :127
-#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:134
+#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:135
+#: pisi/actionsapi/cmaketools.py:100 pisi/actionsapi/cmaketools.py:110
#: pisi/actionsapi/kde.py:79 pisi/actionsapi/pythonmodules.py:54
#: pisi/actionsapi/scons.py:43
msgid "Install failed."
msgstr "Install mislukt."
# pisi/actionsapi/autotools.py:121 :129
-#: pisi/actionsapi/autotools.py:126 pisi/actionsapi/autotools.py:136
-#: pisi/actionsapi/kde.py:81
+#: pisi/actionsapi/autotools.py:128 pisi/actionsapi/autotools.py:139
+#: pisi/actionsapi/cmaketools.py:72 pisi/actionsapi/cmaketools.py:104
+#: pisi/actionsapi/cmaketools.py:114 pisi/actionsapi/kde.py:81
msgid "No Makefile found."
msgstr "Geen Makefile-bestand gevonden."
-#: pisi/actionsapi/autotools.py:143
+#: pisi/actionsapi/autotools.py:144
msgid "Running aclocal failed."
msgstr "Uitvoeren aclocal mislukt."
# pisi/actionsapi/autotools.py:139 :144
-#: pisi/actionsapi/autotools.py:148
+#: pisi/actionsapi/autotools.py:149
msgid "Running autoconf failed."
msgstr "Uitvoeren autoconf mislukt."
# pisi/actionsapi/autotools.py:139 :144
-#: pisi/actionsapi/autotools.py:153
+#: pisi/actionsapi/autotools.py:154
msgid "Running autoreconf failed."
msgstr "Uitvoeren autoreconf mislukt."
-#: pisi/actionsapi/autotools.py:158
+#: pisi/actionsapi/autotools.py:159
msgid "Running automake failed."
msgstr "Uitvoeren automake mislukt."
-#: pisi/actionsapi/autotools.py:163
+#: pisi/actionsapi/autotools.py:164
msgid "Running autoheader failed."
msgstr "Uitvoeren autoheader mislukt."
-#: pisi/actionsapi/get.py:163
+# pisi/actionsapi/autotools.py:77 :87
+#: pisi/actionsapi/cmaketools.py:64
+#, fuzzy
+msgid "No configure script found for cmake."
+msgstr "Geen configuratiescript gevonden."
+
+#: pisi/actionsapi/get.py:160
msgid "Util %s cannot be found"
msgstr "Hulpprogramma %s niet gevonden"
-#: pisi/actionsapi/get.py:165
+#: pisi/actionsapi/get.py:162
msgid "Warning: %s does not exist, using plain name %s"
msgstr "Waarschuwing: %s bestaat niet, %s wordt gebruikt"
@@ -689,19 +698,19 @@ msgstr "ActionsAPI [copytree]: map %s bestaat niet."
msgid "ActionsAPI [touch]: Permission denied: %s"
msgstr "ActionsAPI [touch]: toegang geweigerd: %s"
-#: pisi/api.py:302 pisi/comariface.py:30
+#: pisi/api.py:299 pisi/comariface.py:30
msgid "comar package is not fully installed"
msgstr "comar-pakket is niet volledig geïnstalleerd"
-#: pisi/api.py:314
+#: pisi/api.py:311
msgid "File %s not found"
msgstr "Bestand %s niet gevonden."
-#: pisi/api.py:375
+#: pisi/api.py:366
msgid "Checking /%s "
msgstr "Controle /%s "
-#: pisi/api.py:379
+#: pisi/api.py:370
msgid ""
"\n"
"Corrupt file: %s"
@@ -709,67 +718,67 @@ msgstr ""
"\n"
"Bestand met fouten: %s"
-#: pisi/api.py:381 pisi/cli/commands.py:966
+#: pisi/api.py:372 pisi/cli/commands.py:1046
msgid "OK"
msgstr "OK"
-#: pisi/api.py:394
+#: pisi/api.py:385
msgid "* Building index of PiSi files under %s"
msgstr "* Index aanmaken van PiSi-bestanden onder %s"
-#: pisi/api.py:401
+#: pisi/api.py:392
msgid "* Index file written"
msgstr "* Index-bestand geschreven"
-#: pisi/api.py:405
+#: pisi/api.py:396
msgid "Repo %s already present."
msgstr "Repo %s is al aanwezig."
-#: pisi/api.py:409
+#: pisi/api.py:400
msgid "Repo %s added to system."
msgstr "Repo %s toegevoegd aan het systeem."
-#: pisi/api.py:415
+#: pisi/api.py:406
msgid "Repo %s removed from system."
msgstr "Repo %s verwijderd uit het systeem."
-#: pisi/api.py:417
+#: pisi/api.py:408
msgid "Repository %s does not exist. Cannot remove."
msgstr "Repository %s bestaat niet. Kan niet verwijderen."
-#: pisi/api.py:424
+#: pisi/api.py:415
msgid "* Updating repository: %s"
msgstr "* Updaten repository: %s "
-#: pisi/api.py:432
+#: pisi/api.py:423
msgid "No updates available for repository %s."
msgstr "Geen bijgewerkte pakketten in repository %s."
-#: pisi/api.py:434
+#: pisi/api.py:425
msgid "Updating database at any rate as requested"
msgstr "Updaten database op elke snelheid zoals verzocht"
-#: pisi/api.py:445
+#: pisi/api.py:436
msgid "* Package database updated."
msgstr "* Pakketdatabase geupdate."
-#: pisi/api.py:447 pisi/api.py:472
+#: pisi/api.py:438 pisi/api.py:463
msgid "No repository named %s found."
msgstr "Geen repository met de naam %s gevonden."
-#: pisi/api.py:455
+#: pisi/api.py:446
msgid "* Rebuilding '%s' named repo... "
msgstr "* 'Opnieuw opbouwen '%s' repo... "
-#: pisi/api.py:468
+#: pisi/api.py:459
msgid "Input/Output error while reading %s: %s"
msgstr "I/O-fout bij lezen van %s: %s"
-#: pisi/api.py:525
+#: pisi/api.py:516
msgid "Rebuilding package database"
msgstr "Herbouwen pakket database"
-#: pisi/archive.py:36
+#: pisi/archive.py:37
msgid ""
"An error has occured while running LZMA:\n"
"%s"
@@ -777,35 +786,37 @@ msgstr ""
"Een fout is opgetreden bij het uitvoeren van LZMA:\n"
"%s"
-#: pisi/archive.py:101 pisi/archive.py:161
+#: pisi/archive.py:123 pisi/archive.py:183
msgid "Archive type not recognized"
msgstr "Archieftype niet herkend"
-#: pisi/atomicoperations.py:66
+#: pisi/atomicoperations.py:65
msgid "Package %s found in repository %s"
msgstr "Pakket %s gevonden in repository %s "
-#: pisi/atomicoperations.py:78
+#: pisi/atomicoperations.py:88
msgid "Package URI: %s"
msgstr "Pakket-URI: %s"
-#: pisi/atomicoperations.py:82
+#: pisi/atomicoperations.py:92
msgid "Package %s not found in any active repository."
msgstr "Pakket %s niet gevonden in de actieve repositories."
-#: pisi/atomicoperations.py:101
+#: pisi/atomicoperations.py:111
msgid "Installing %s, version %s, release %s, build %s"
msgstr "Installatie %s, versie %s, uitgave %s, bouw %s"
-#: pisi/atomicoperations.py:146
+#: pisi/atomicoperations.py:156
msgid "%s package cannot be installed unless the dependencies are satisfied"
-msgstr "%s pakket kan niet geïnstalleerd worden als er niet aan de afhankelijkheden is voldaan"
+msgstr ""
+"%s pakket kan niet geïnstalleerd worden als er niet aan de afhankelijkheden "
+"is voldaan"
-#: pisi/atomicoperations.py:165
+#: pisi/atomicoperations.py:185
msgid "/%s from %s package\n"
msgstr "/%s van %s pakket\n"
-#: pisi/atomicoperations.py:166
+#: pisi/atomicoperations.py:186
msgid ""
"File conflicts:\n"
"%s"
@@ -813,385 +824,405 @@ msgstr ""
"Bestandsconflicten:\n"
"%s"
-#: pisi/atomicoperations.py:201
+#: pisi/atomicoperations.py:221
msgid "Re-install same version package?"
msgstr "Zelfde versie van het pakket herinstalleren?"
-#: pisi/atomicoperations.py:202
+#: pisi/atomicoperations.py:222
msgid "Package re-install declined"
msgstr "Herinstalleren van het pakket geweigerd"
-#: pisi/atomicoperations.py:208
+#: pisi/atomicoperations.py:228
msgid "Upgrading to new upstream version"
msgstr "Opwaarderen naar nieuwe upstream-versie"
-#: pisi/atomicoperations.py:211
+#: pisi/atomicoperations.py:231
msgid "Upgrading to new distribution release"
msgstr "Opwaarderen naar nieuwe distributie-uitgave"
-#: pisi/atomicoperations.py:215
+#: pisi/atomicoperations.py:235
msgid "Upgrading to new distribution build"
msgstr "Opwaarderen naar nieuwe distributie bouw"
-#: pisi/atomicoperations.py:225
+#: pisi/atomicoperations.py:245
msgid "Downgrade to old distribution release?"
msgstr "Terugwaarderen naar oude distributie uitgave?"
-#: pisi/atomicoperations.py:227
+#: pisi/atomicoperations.py:247
msgid "Downgrade to old distribution build?"
msgstr "Terugwaarderen naar oude distributie bouw?"
-#: pisi/atomicoperations.py:229
+#: pisi/atomicoperations.py:249
msgid "Package downgrade declined"
msgstr "Pakket terugwaarderen geweigerd"
# pisi/actionsapi/autotools.py:75 :85
-#: pisi/atomicoperations.py:253
+#: pisi/atomicoperations.py:273
msgid "%s configuration failed."
msgstr "%s configuratie mislukt."
-#: pisi/atomicoperations.py:340
+#: pisi/atomicoperations.py:396
msgid "Storing %s, "
msgstr "Opslaan %s, "
-#: pisi/atomicoperations.py:343
+#: pisi/atomicoperations.py:399
msgid "Storing %s."
msgstr "Opslaan %s."
-#: pisi/atomicoperations.py:350
+#: pisi/atomicoperations.py:406
msgid "Storing %s"
msgstr "Opslaan %s"
-#: pisi/atomicoperations.py:406
+#: pisi/atomicoperations.py:462
msgid "File list could not be read for package %s, continuing removal."
msgstr ""
"Bestandslijst kon niet gelezen worden voor pakket %s, voortzetten "
"verwijderen."
-#: pisi/atomicoperations.py:412
+#: pisi/atomicoperations.py:468
msgid "Removing package %s"
msgstr "Verwijderen pakket %s"
-#: pisi/atomicoperations.py:415
+#: pisi/atomicoperations.py:471
msgid "Trying to remove nonexistent package "
msgstr "Proberen niet-bestaand pakket te verwijderen "
-#: pisi/atomicoperations.py:454
+#: pisi/atomicoperations.py:510
msgid "Not removing conflicted file : %s"
msgstr "Niet verwijderen conflicterend bestand: %s"
-#: pisi/atomicoperations.py:474
-msgid "Installed file %s is not exists on system [Probably you manually deleted]"
+#: pisi/atomicoperations.py:530
+msgid ""
+"Installed file %s is not exists on system [Probably you manually deleted]"
msgstr ""
"Geïnstalleerd bestand %s bestaat niet op systeem [mogelijk met de hand "
"verwijderd]"
-#: pisi/atomicoperations.py:535
+#: pisi/atomicoperations.py:590
msgid "Metadata XML '%s' cannot be found"
msgstr "Metadata-XML '%s' kan niet worden gevonden"
-#: pisi/atomicoperations.py:543
+#: pisi/atomicoperations.py:598
msgid "MetaData format wrong (%s)"
msgstr "Metadata opmaak fout (%s)"
-#: pisi/atomicoperations.py:545
+#: pisi/atomicoperations.py:600
msgid "* Adding '%s' to db... "
msgstr "* Toevoegen '%s' aan db... "
-#: pisi/atomicoperations.py:551
+#: pisi/atomicoperations.py:606
msgid "Files XML '%s' cannot be found"
msgstr "Bestanden XML '%s' kunnen niet worden gevonden"
-#: pisi/atomicoperations.py:556 pisi/package.py:136
+#: pisi/atomicoperations.py:611 pisi/package.py:141
msgid "Invalid %s"
msgstr "Onjuist %s"
-#: pisi/atomicoperations.py:565
+#: pisi/atomicoperations.py:620
msgid "OK."
msgstr "OK."
-#: pisi/build.py:88
+#: pisi/build.py:85
msgid "Path %s belongs in multiple packages"
msgstr "Pad %s behoort bij meerdere pakketten"
-#: pisi/build.py:114
+#: pisi/build.py:111
msgid "Source URI: %s"
msgstr "Bron URI: %s"
-#: pisi/build.py:118
+#: pisi/build.py:115
msgid "Source %s not found in any active repository."
msgstr "Bron %s niet gevonden in actieve repositories."
-#: pisi/build.py:183
+#: pisi/build.py:185
msgid "Building PiSi source package: %s"
msgstr "Bouwen PiSi-bronpakket: %s "
-#: pisi/build.py:229
+#: pisi/build.py:230
msgid "IceCream detected. Make sure your daemon is up and running..."
msgstr "IceCream gevonden. Zorg dat uw daemon actief is..."
-#: pisi/build.py:234
+#: pisi/build.py:235
msgid "CCache detected..."
msgstr "Ccache gevonden..."
-#: pisi/build.py:287
+#: pisi/build.py:297
msgid "PartOf tag not defined, looking for component"
msgstr "PartOf tag is niet omschreven, zoeken naar component"
-#: pisi/build.py:297
+#: pisi/build.py:307
msgid "Cannot find component.xml in upper directory"
msgstr "Kan component.xml niet vinden in hoger gelegen map"
-#: pisi/build.py:301
+#: pisi/build.py:311
msgid "Source is part of %s component"
msgstr "Bron is onderdeel van %s component"
-#: pisi/build.py:305
+#: pisi/build.py:315
msgid "Fetching source from: %s"
msgstr "Ophalen bron van: %s "
-#: pisi/build.py:307
+#: pisi/build.py:317
msgid "Source archive is stored: %s/%s"
msgstr "Bronarchief is opgeslagen: %s/%s"
-#: pisi/build.py:311
+#: pisi/build.py:321
msgid "Unpacking archive..."
msgstr "Uitpakken archief..."
-#: pisi/build.py:313
+#: pisi/build.py:325
msgid " unpacked (%s)"
msgstr " uitgepakt (%s)"
-#: pisi/build.py:318
+#: pisi/build.py:330
msgid "Setting up source..."
msgstr "Instellen bron..."
-#: pisi/build.py:323
+#: pisi/build.py:335
msgid "Building source..."
msgstr "Bouwen bron..."
-#: pisi/build.py:328
+#: pisi/build.py:340
+#, fuzzy
+msgid "Testing package..."
+msgstr "Aanmaken PiSi-pakket %s."
+
+#: pisi/build.py:344
msgid "Installing..."
msgstr "Installeren..."
-#: pisi/build.py:370
+#: pisi/build.py:386
msgid "Unable to read Actions Script (%s): %s"
msgstr "Kan Actions Script niet lezen (%s): %s"
-#: pisi/build.py:372
+#: pisi/build.py:388
msgid "SyntaxError in Actions Script (%s): %s"
msgstr "Syntaxfout in Actions Script (%s): %s"
-#: pisi/build.py:389
+#: pisi/build.py:405
msgid "Unable to read COMAR script (%s): %s"
msgstr "Kan COMAR script niet lezen (%s): %s"
-#: pisi/build.py:391
+#: pisi/build.py:407
msgid "SyntaxError in COMAR file (%s): %s"
msgstr "Syntaxfout in COMAR bestand (%s): %s"
-#: pisi/build.py:417
+#: pisi/build.py:419
+#, fuzzy
+msgid "Sandbox violation: %s (%s -> %s)"
+msgstr "ambiguous option: %s (%s?)"
+
+#: pisi/build.py:453
+#, fuzzy
+msgid "Sandbox violations!"
+msgstr "index opties"
+
+#: pisi/build.py:456
msgid "unable to call function from actions: %s"
msgstr "kan functie niet aanroepen vanuit actions: %s"
-#: pisi/build.py:433
-msgid "Safety switch: following extra packages in system.devel will be installed: "
+#: pisi/build.py:473
+msgid ""
+"Safety switch: following extra packages in system.devel will be installed: "
msgstr ""
"Veiligheidsprocedure: de volgende extra pakketten in system.devel zullen "
"geïnstalleerd worden:"
-#: pisi/build.py:438
+#: pisi/build.py:478
msgid "Safety switch: system.devel is already installed"
msgstr "Veiligheidsprocedure: system.devel is al geïnstalleerd"
-#: pisi/build.py:440
+#: pisi/build.py:480
msgid "Safety switch: the component system.devel cannot be found"
msgstr "Veiligheidsprocedure: het component system.devel niet gevonden"
-#: pisi/build.py:449
+#: pisi/build.py:489
msgid "Unsatisfied Build Dependencies:"
msgstr "Niet-opgeloste bouwafhankelijkheden:"
-#: pisi/build.py:453
+#: pisi/build.py:493
msgid "Cannot build package due to unsatisfied build dependencies"
msgstr "Kan pakket niet bouwen wegens niet-opgeloste compileerafhankelijkheden"
-#: pisi/build.py:461
+#: pisi/build.py:501
msgid "Build dependency %s cannot be satisfied"
msgstr "Bouwafhankelijkheid %s niet opgelost."
-#: pisi/build.py:463
+#: pisi/build.py:503
msgid "Do you want to install the unsatisfied build dependencies"
msgstr "Wilt u de niet-opgeloste bouwafhankelijkheden installeren?"
-#: pisi/build.py:464
+#: pisi/build.py:504
msgid "Installing build dependencies."
msgstr "Installeren bouwafhankelijkheden."
-#: pisi/build.py:469
+#: pisi/build.py:509
msgid "Ignoring build dependencies."
msgstr "Negeren bouwafhankelijkheden."
-#: pisi/build.py:479
+#: pisi/build.py:519
msgid "Patch file is missing: %s\n"
msgstr "Patch-bestand ontbreekt: %s\n"
-#: pisi/build.py:492
+#: pisi/build.py:532
msgid "* Applying patch: %s"
msgstr "* Toepassen patch: %s"
-#: pisi/build.py:550
+#: pisi/build.py:592
msgid "Stripping files.."
msgstr "Strippen bestanden..."
-#: pisi/build.py:656
+#: pisi/build.py:692
msgid "(found old version %s)"
msgstr "(gevonden oude versie %s)"
-#: pisi/build.py:658
+#: pisi/build.py:694
msgid "Skipping %s with wrong pkg name "
msgstr "Overslaan %s met onjuiste pakketnaam"
-#: pisi/build.py:679
+#: pisi/build.py:715
+#, fuzzy
msgid "(no previous build found, setting build no to 1.)"
msgstr "(geen eerdere bouw gevonden, zet compilatienummer op 1.)"
-#: pisi/build.py:724
+#: pisi/build.py:760
msgid "(old package lacks a build no, setting build no to 1.)"
msgstr "(oud pakket heeft geen bouwnummer, zet compilatienummer op 1.)"
-#: pisi/build.py:727
+#: pisi/build.py:763
msgid "There are changes, incrementing build no to %d"
msgstr "Er zijn wijzigingen, zet bouwnummer op %d "
-#: pisi/build.py:730
+#: pisi/build.py:766
msgid "There is no change from previous build %d"
msgstr "Er zijn geen wijzigingen sinds vorige bouw %d"
-#: pisi/build.py:795
+#: pisi/build.py:831
msgid "No user named '%s' found on the system"
msgstr "Geen gebruiker met de naam '%s' gevonden op het systeem"
-#: pisi/build.py:800
+#: pisi/build.py:836
msgid "No group named '%s' found on the system"
msgstr "Geen groep met de naam '%s' gevonden op het systeem"
-#: pisi/build.py:803
+#: pisi/build.py:839
msgid "** Building package %s"
msgstr "** bouwen pakket %s"
# pisi/build.py:503 :506
-#: pisi/build.py:805 pisi/build.py:808
+#: pisi/build.py:841 pisi/build.py:844
msgid "Generating %s,"
msgstr "Genereren %s."
-#: pisi/build.py:814
+#: pisi/build.py:850
msgid ""
"Build number is not available. For repo builds you must enable buildno in "
"pisi.conf."
msgstr ""
-"Bouwnummer is niet aanwezig. Bij repo-compilaties moet u buildno "
-"inschakelen in pisi.conf."
+"Bouwnummer is niet aanwezig. Bij repo-compilaties moet u buildno inschakelen "
+"in pisi.conf."
-#: pisi/build.py:832
+#: pisi/build.py:868
msgid "Creating PiSi package %s."
msgstr "Aanmaken PiSi-pakket %s."
-#: pisi/build.py:877
+#: pisi/build.py:913 pisi/delta.py:93
msgid "Done."
msgstr "Gereed."
-#: pisi/build.py:883
+#: pisi/build.py:919
msgid "Abandoned files under the install dir (%s):"
msgstr "Verlaten bestanden in de installatiemap (%s):"
-#: pisi/build.py:887
-msgid "All of the files under the install dir (%s) has been collected by package(s)"
-msgstr "Alle bestanden in de installatiemap (%s) zijn verzameld door pakket(ten)."
+#: pisi/build.py:923
+msgid ""
+"All of the files under the install dir (%s) has been collected by package(s)"
+msgstr ""
+"Alle bestanden in de installatiemap (%s) zijn verzameld door pakket(ten)."
-#: pisi/build.py:891
+#: pisi/build.py:927
msgid "Cleaning Build Directory..."
msgstr "Opschonen bouwmap..."
-#: pisi/build.py:894
+#: pisi/build.py:930
msgid "Keeping Build Directory"
msgstr "Behouden bouwmap"
-#: pisi/cli/__init__.py:79
+#: pisi/cli/__init__.py:76
msgid "Warning: "
msgstr "Waarschuwing: "
-#: pisi/cli/__init__.py:88
+#: pisi/cli/__init__.py:85
msgid "Error: "
msgstr "Fout: "
-#: pisi/cli/__init__.py:120
+#: pisi/cli/__init__.py:117
msgid " (yes/no)"
msgstr " (ja/nee)"
-#: pisi/cli/__init__.py:141
+#: pisi/cli/__init__.py:138
msgid " [complete]\n"
msgstr " [compleet]\n"
-#: pisi/cli/__init__.py:151
+#: pisi/cli/__init__.py:148
msgid "Installed %s"
msgstr "Geïnstalleerd %s"
-#: pisi/cli/__init__.py:153
+#: pisi/cli/__init__.py:150
msgid "Removed %s"
msgstr "Verwijderd %s"
-#: pisi/cli/__init__.py:155
+#: pisi/cli/__init__.py:152
msgid "Upgraded %s"
msgstr "Opgewaardeerd %s"
# pisi/actionsapi/autotools.py:75 :85
-#: pisi/cli/__init__.py:157
+#: pisi/cli/__init__.py:154
msgid "Configured %s"
msgstr "Geconfigureerd %s"
-#: pisi/cli/__init__.py:159
+#: pisi/cli/__init__.py:156
msgid "Extracting the files of %s"
msgstr "Uitpakken bestanden uitpakken van %s"
-#: pisi/cli/commands.py:94
+#: pisi/cli/commands.py:92
msgid "generic help string for any command"
msgstr "algemene helptekst voor elk commando"
-#: pisi/cli/commands.py:123 pisi/cli/pisicli.py:104
+#: pisi/cli/commands.py:121 pisi/cli/pisicli.py:101
msgid "Unrecognized command: %s"
msgstr "Niet herkend commando: %s"
-#: pisi/cli/commands.py:145
+#: pisi/cli/commands.py:143
msgid "common options"
msgstr "standaard opties"
# pisi/build.py:503 :506
-#: pisi/cli/commands.py:148
+#: pisi/cli/commands.py:146
msgid "general options"
msgstr "algemene opties"
-#: pisi/cli/commands.py:151
+#: pisi/cli/commands.py:149
msgid "Change the system root for PiSi commands"
msgstr "Wijzig de systeem root voor PiSi commando's"
-#: pisi/cli/commands.py:153
+#: pisi/cli/commands.py:151
msgid "Assume yes in all yes/no queries"
msgstr "Uitgaan van ja bij alle ja/nee vragen"
-#: pisi/cli/commands.py:158
+#: pisi/cli/commands.py:156
msgid "Detailed output"
msgstr "Gedetailleerde uitvoer"
-#: pisi/cli/commands.py:160
+#: pisi/cli/commands.py:158
msgid "Show debugging information"
msgstr "Toon debuginformatie"
-#: pisi/cli/commands.py:162
+#: pisi/cli/commands.py:160
msgid "Suppresses all coloring of PiSi's output"
msgstr "Onderdrukt kleuren van PiSi uitvoer"
-#: pisi/cli/commands.py:169
+#: pisi/cli/commands.py:167
msgid ""
"This is a fall back function. If the implementer module provides an\n"
" options function it will be called"
@@ -1199,43 +1230,43 @@ msgstr ""
"Dit is een terugvalfunctie. Als de geïmplementeerde module een\n"
" opties-functie heeft wordt deze aangeroepen"
-#: pisi/cli/commands.py:181
+#: pisi/cli/commands.py:179
msgid "Destination directory %s does not exist. Creating directory.\n"
msgstr "Doelmap %s bestaat niet. Aanmaken map.\n"
-#: pisi/cli/commands.py:203
+#: pisi/cli/commands.py:201
msgid "Password: "
msgstr "Wachtwoord: "
-#: pisi/cli/commands.py:209
+#: pisi/cli/commands.py:207
msgid "initialize PiSi components"
msgstr "Initialiseren PiSi-componenten"
-#: pisi/cli/commands.py:217
+#: pisi/cli/commands.py:215
msgid "do cleanup work for PiSi components"
msgstr "opruimwerk voor PiSi-componenten uitvoeren"
-#: pisi/cli/commands.py:231
+#: pisi/cli/commands.py:229
msgid "print help for the command"
msgstr "toon hulp over het commando"
-#: pisi/cli/commands.py:237
+#: pisi/cli/commands.py:235
msgid "exit program"
msgstr "afsluiten programma"
-#: pisi/cli/commands.py:239
+#: pisi/cli/commands.py:237
msgid "Command terminated abnormally."
msgstr "Commando abnormaal gestopt."
-#: pisi/cli/commands.py:249
+#: pisi/cli/commands.py:247
msgid "Command lacks name"
msgstr "Commando is naamloos"
-#: pisi/cli/commands.py:253
+#: pisi/cli/commands.py:251
msgid "Duplicate command %s"
msgstr "Dupliceer commando %s"
-#: pisi/cli/commands.py:262
+#: pisi/cli/commands.py:260
msgid ""
"Prints help for given commands\n"
"\n"
@@ -1249,7 +1280,7 @@ msgstr ""
"\n"
"Zonder parameters toont het algemene hulp."
-#: pisi/cli/commands.py:296
+#: pisi/cli/commands.py:294
msgid ""
"Clean stale locks\n"
"\n"
@@ -1265,7 +1296,7 @@ msgstr ""
"PiSi gebruikt bestandssysteemsloten voor het beheren van de databasetoegang\n"
"Dit commando verwijdert ongebruikte sloten in de databasemap."
-#: pisi/cli/commands.py:315
+#: pisi/cli/commands.py:313
msgid ""
"Delete cache files\n"
"\n"
@@ -1283,7 +1314,7 @@ msgstr ""
"in de map /var. Omdat ze opstapelen kunnen ze veel \n"
"schijfruimte in beslag nemen."
-#: pisi/cli/commands.py:336
+#: pisi/cli/commands.py:334
msgid ""
"Graph package relations\n"
"\n"
@@ -1303,47 +1334,47 @@ msgstr ""
"worden pakketrelaties tussen repositoy-pakketten weergegeven, en\n"
"worden pakketten in graphviz-formaat naar pgraph.dot geschreven.\n"
-#: pisi/cli/commands.py:353
+#: pisi/cli/commands.py:351
msgid "graph options"
msgstr "grafische opties"
-#: pisi/cli/commands.py:357
+#: pisi/cli/commands.py:355
msgid "Specify a particular repository"
msgstr "Geef een bepaalde repository aan"
-#: pisi/cli/commands.py:360
+#: pisi/cli/commands.py:358
msgid "Graph of installed packages"
msgstr "Grafiek van geïnstalleerde pakketten"
-#: pisi/cli/commands.py:363
+#: pisi/cli/commands.py:361
msgid "Do not show installed packages"
msgstr "Geïnstalleerde pakketten niet weergeven"
-#: pisi/cli/commands.py:366
+#: pisi/cli/commands.py:364
msgid "Dot output file"
msgstr "Dot uitvoerbestand"
-#: pisi/cli/commands.py:377
+#: pisi/cli/commands.py:375
msgid "Plotting packages in repository %s"
msgstr "Plot pakketten in repository %s"
-#: pisi/cli/commands.py:383
+#: pisi/cli/commands.py:381
msgid "Plotting a graph of relations among all repository packages"
msgstr "Plot een grafiek van de relaties tussen alle repositoy-pakketten"
-#: pisi/cli/commands.py:390
+#: pisi/cli/commands.py:388
msgid "Plotting a graph of relations among all installed packages"
msgstr "Plot een grafiek van de relaties tussen alle geïnstalleerde pakketten"
-#: pisi/cli/commands.py:402
+#: pisi/cli/commands.py:400
msgid "Do not take build no into account."
msgstr "Bouwnummer niet meerekenen."
-#: pisi/cli/commands.py:407
+#: pisi/cli/commands.py:405
msgid "Do not take dependency information into account"
msgstr "Geen rekening houden met afhankelijkheidsinformatie"
-#: pisi/cli/commands.py:411
+#: pisi/cli/commands.py:409
msgid ""
"Build PiSi packages\n"
"\n"
@@ -1365,81 +1396,118 @@ msgstr ""
"Als alternatief kunt u de naam van het bronpakket opgeven\n"
"dat gedownload moet worden van een repository die de broncode bevat.\n"
-#: pisi/cli/commands.py:433
+#: pisi/cli/commands.py:432
msgid "build options"
msgstr "bouw opties"
-#: pisi/cli/commands.py:441
+#: pisi/cli/commands.py:440 pisi/cli/commands.py:527
msgid "Output directory for produced packages"
msgstr "Doelmap voor geproduceerde pakketten"
-#: pisi/cli/commands.py:444
+#: pisi/cli/commands.py:443
msgid "Bypass errors from ActionsAPI"
msgstr "Omzeilen fouten van ActionsAPI"
-#: pisi/cli/commands.py:446 pisi/cli/commands.py:554
+#: pisi/cli/commands.py:445 pisi/cli/commands.py:610
msgid "Bypass safety switch"
msgstr "Omzeilen veiligheidsprocedure"
-#: pisi/cli/commands.py:448
+#: pisi/cli/commands.py:447
+#, fuzzy
+msgid "Bypass testing step"
+msgstr "Omzeilen veiligheidsprocedure"
+
+#: pisi/cli/commands.py:449
msgid "Create a static package with ar files"
msgstr "Maak een statisch pakket met ar-bestanden aan"
-#: pisi/cli/commands.py:450
-msgid "Do not install build dependencies, fail if a build dependency is present"
+#: pisi/cli/commands.py:451
+msgid ""
+"Do not install build dependencies, fail if a build dependency is present"
msgstr ""
"Installeer geen bouwafhankelijkheden, stoppen als zich een "
"compileerafhankelijkheid voordoet"
-#: pisi/cli/commands.py:452
+#: pisi/cli/commands.py:453
msgid "PiSi binary package formats: '1.0', '1.1' (default)"
msgstr "PiSi binaire pakket formaten: '1.0', '1.1' (standaard)"
#: pisi/cli/commands.py:455
+msgid "Use quilt patch management system instead of GNU patch"
+msgstr ""
+
+#: pisi/cli/commands.py:457
+msgid "Do not constrain build process inside the build folder"
+msgstr ""
+
+#: pisi/cli/commands.py:460
msgid "build steps"
msgstr "bouw stappen"
-#: pisi/cli/commands.py:457
+#: pisi/cli/commands.py:462
msgid "Break build after fetching the source archive"
msgstr "Breek bouwen af na ophalen bron archief"
-#: pisi/cli/commands.py:459
+#: pisi/cli/commands.py:464
msgid ""
"Break build after unpacking the source archive, checking sha1sum and "
"applying patches"
msgstr ""
-"Breek bouwen af na uitpakken van het bron archief, controleert sha1sum en"
-"toepassen patches"
+"Breek bouwen af na uitpakken van het bron archief, controleert sha1sum "
+"entoepassen patches"
-#: pisi/cli/commands.py:461
+#: pisi/cli/commands.py:466
msgid "Break build after running configure step"
msgstr "Breek bouwen af na uitvoeren van de configuratie stap"
-#: pisi/cli/commands.py:463
+#: pisi/cli/commands.py:468
msgid "Break build after running compile step"
msgstr "Breek bouwen af na uitvoeren van de compilatie stap"
-#: pisi/cli/commands.py:465
+#: pisi/cli/commands.py:470
+#, fuzzy
+msgid "Break build after running check step"
+msgstr "Breek bouwen af na uitvoeren van de compilatie stap"
+
+#: pisi/cli/commands.py:472
msgid "Break build after running install step"
msgstr "Breek bouwen af na uitvoeren van de installatie stap"
-#: pisi/cli/commands.py:467
+#: pisi/cli/commands.py:474
msgid "create PiSi package"
msgstr "Aanmaken PiSi-pakket"
-#: pisi/cli/commands.py:481
+#: pisi/cli/commands.py:488
msgid "package_format must be one of %s "
msgstr "package_format moet zijn %s "
-#: pisi/cli/commands.py:484 pisi/cli/commands.py:533
+#: pisi/cli/commands.py:491 pisi/cli/commands.py:540 pisi/cli/commands.py:589
msgid "Output directory: %s"
msgstr "Doelmap: %s"
-#: pisi/cli/commands.py:486
+#: pisi/cli/commands.py:493 pisi/cli/commands.py:542
msgid "Outputting packages in the working directory."
msgstr "Uitvoeren pakketten naar de werkmap."
-#: pisi/cli/commands.py:497
+#: pisi/cli/commands.py:504
+msgid ""
+"Creates delta PiSi packages\n"
+"\n"
+"Usage: delta oldpackage newpackage\n"
+"\n"
+"Delta command finds the changed files between the given packages by "
+"comparing the sha1sum of the files\n"
+"and creates a delta pisi package with the changed files between two "
+"releases.\n"
+"\n"
+msgstr ""
+
+#: pisi/cli/commands.py:521
+#, fuzzy
+msgid "delta options"
+msgstr "index opties"
+
+#: pisi/cli/commands.py:553
msgid ""
"Build and install PiSi source packages from repository\n"
"\n"
@@ -1459,35 +1527,35 @@ msgstr ""
"\n"
"U kunt ook de naam van een component opgeven.\n"
-#: pisi/cli/commands.py:516
+#: pisi/cli/commands.py:572
msgid "emerge options"
msgstr "duik opties op"
-#: pisi/cli/commands.py:519 pisi/cli/commands.py:592 pisi/cli/commands.py:656
+#: pisi/cli/commands.py:575 pisi/cli/commands.py:648 pisi/cli/commands.py:716
msgid "Ignore file conflicts"
msgstr "Negeer bestandsconflicten"
-#: pisi/cli/commands.py:521 pisi/cli/commands.py:594 pisi/cli/commands.py:658
+#: pisi/cli/commands.py:577 pisi/cli/commands.py:650 pisi/cli/commands.py:718
msgid "Ignore package conflicts"
msgstr "Negeer pakketconflicten"
-#: pisi/cli/commands.py:523 pisi/cli/commands.py:552
+#: pisi/cli/commands.py:579 pisi/cli/commands.py:608
msgid "Bypass comar configuration agent"
msgstr "Omzeil Comar-configuratieagent"
-#: pisi/cli/commands.py:535
+#: pisi/cli/commands.py:591
msgid "Outputting binary packages in the package cache."
msgstr "Uitvoeren binaire pakketten naar de pakketcache."
-#: pisi/cli/commands.py:543
+#: pisi/cli/commands.py:599
msgid "Abstract package operation command"
msgstr "Abstract pakket handelingscommando"
-#: pisi/cli/commands.py:556
+#: pisi/cli/commands.py:612
msgid "Do not perform any action, just show what would be done"
msgstr "Geen acties uitvoeren, geef alleen weer wat er zou gebeuren"
-#: pisi/cli/commands.py:567
+#: pisi/cli/commands.py:623
msgid ""
"Install PiSi packages\n"
"\n"
@@ -1510,23 +1578,23 @@ msgstr ""
"U kunt ook componenten opgeven in plaats van pakketnamen, deze zullen dan "
"worden uitgebreid tot pakketnamen.\n"
-#: pisi/cli/commands.py:585
+#: pisi/cli/commands.py:641
msgid "install options"
msgstr "installatie opties"
-#: pisi/cli/commands.py:590
+#: pisi/cli/commands.py:646
msgid "Reinstall already installed packages"
msgstr "Herïnstalleer reeds geïnstalleerde pakketten"
-#: pisi/cli/commands.py:596
+#: pisi/cli/commands.py:652
msgid "Install component's and recursive components' packages"
msgstr "Installeer componenten en de pakketten van recursieve componenten"
-#: pisi/cli/commands.py:598 pisi/cli/commands.py:662
+#: pisi/cli/commands.py:654 pisi/cli/commands.py:722
msgid "Fetch upgrades but do not install."
msgstr "Haal bijgewerkte bestanden op maar installeer ze niet."
-#: pisi/cli/commands.py:621
+#: pisi/cli/commands.py:681
msgid ""
"Upgrade PiSi packages\n"
"\n"
@@ -1564,23 +1632,23 @@ msgstr ""
"U kunt ook componenten opgeven in plaats van pakketnamen, deze zullen worden "
"uitgebreid tot pakketnamen.\n"
-#: pisi/cli/commands.py:647
+#: pisi/cli/commands.py:707
msgid "upgrade options"
msgstr "bijwerk opties"
-#: pisi/cli/commands.py:652
+#: pisi/cli/commands.py:712
msgid "Security related package upgrades only"
msgstr "Alleen beveiligingspakketten opwaarderen"
-#: pisi/cli/commands.py:654
+#: pisi/cli/commands.py:714
msgid "Do not update repositories"
msgstr "Repositories niet updaten"
-#: pisi/cli/commands.py:660
+#: pisi/cli/commands.py:720
msgid "Upgrade component's and recursive components' packages"
msgstr "Opwaarderen componenten en recursieve componenten pakketten"
-#: pisi/cli/commands.py:664
+#: pisi/cli/commands.py:724
msgid ""
"When upgrading system, ignore packages and components whose basenames match "
"pattern."
@@ -1588,23 +1656,24 @@ msgstr ""
"Bij het opwaarderen van het systeem, pakketten en componenten negeren "
"waarbij basenames overeenkomen met patroon."
-#: pisi/cli/commands.py:666
+#: pisi/cli/commands.py:726
msgid ""
"When upgrading system, ignore packages and components whose "
"basenames match any pattern contained in file."
msgstr ""
-"Als het systeem opgewaardeerd wordt, pakketten en componenten negeren waarbij "
-"basenames overeenkomen met ieder patroon in bestand."
+"Als het systeem opgewaardeerd wordt, pakketten en componenten negeren "
+"waarbij basenames overeenkomen met ieder patroon in "
+"bestand."
-#: pisi/cli/commands.py:706
+#: pisi/cli/commands.py:770
msgid "Updating repositories"
msgstr "Updaten repositories"
-#: pisi/cli/commands.py:711
+#: pisi/cli/commands.py:775
msgid "Will not update repositories"
msgstr "Zal repositories niet updaten"
-#: pisi/cli/commands.py:733
+#: pisi/cli/commands.py:800
msgid ""
"Remove PiSi packages\n"
"\n"
@@ -1625,15 +1694,15 @@ msgstr ""
"U kunt ook componenten opgeven in plaats van pakketnamen, deze zullen "
"worden uitgebreid tot pakketnamen.\n"
-#: pisi/cli/commands.py:750
+#: pisi/cli/commands.py:817
msgid "remove options"
msgstr "verwijder opties"
-#: pisi/cli/commands.py:753
+#: pisi/cli/commands.py:820
msgid "Remove component's and recursive components' packages"
msgstr "Verwijder componenten en de pakketten van recursieve componenten"
-#: pisi/cli/commands.py:775
+#: pisi/cli/commands.py:842
msgid ""
"Configure pending packages\n"
"\n"
@@ -1649,11 +1718,11 @@ msgstr ""
"een lijst van pakketten in de wachtrij voor configuratie. Dit commando\n"
"configureert deze pakketten.\n"
-#: pisi/cli/commands.py:791
+#: pisi/cli/commands.py:858
msgid "configure-pending options"
msgstr "wachtende configuratie opties"
-#: pisi/cli/commands.py:803
+#: pisi/cli/commands.py:870
msgid ""
"Display package information\n"
"\n"
@@ -1667,63 +1736,64 @@ msgstr ""
"\n"
" is ofwel een pakketnaam ofwel een .pisi bestand.\n"
-#: pisi/cli/commands.py:818
+#: pisi/cli/commands.py:885
msgid "info options"
msgstr "info opties"
-#: pisi/cli/commands.py:825
+#: pisi/cli/commands.py:892
msgid "Show a list of package files."
msgstr "Toon een lijst van pakketbestanden."
-#: pisi/cli/commands.py:827
+#: pisi/cli/commands.py:894
msgid "Info about the given component"
msgstr "Info van het gegeven component"
-#: pisi/cli/commands.py:830
+#: pisi/cli/commands.py:897
msgid "Show only paths."
msgstr "Toon alleen paden."
-#: pisi/cli/commands.py:832
+#: pisi/cli/commands.py:899
msgid "Do not show details"
msgstr "Geen details tonen"
-#: pisi/cli/commands.py:834
+#: pisi/cli/commands.py:901
msgid "Output in xml format"
msgstr "Uitvoer in xml-opmaak"
-#: pisi/cli/commands.py:880
+#: pisi/cli/commands.py:947
msgid "Package file: %s"
msgstr "Pakketbestand: %s"
-#: pisi/cli/commands.py:886
+#: pisi/cli/commands.py:953
msgid "[inst] "
msgstr "[inst] "
-#: pisi/cli/commands.py:888
+#: pisi/cli/commands.py:955
msgid "Installed package:"
msgstr "Geïnstalleerd pakket:"
-#: pisi/cli/commands.py:894
+#: pisi/cli/commands.py:961
msgid "[repo] "
msgstr "[repo] "
-#: pisi/cli/commands.py:896
-msgid "Package found in repository:"
+#: pisi/cli/commands.py:963
+#, fuzzy
+msgid "Package found in %s repository:"
msgstr "Pakket gevonden in repository:"
-#: pisi/cli/commands.py:900
+#: pisi/cli/commands.py:967
msgid "%s is not found in repositories"
msgstr "%s niet gevonden in de repositories"
-#: pisi/cli/commands.py:903
+#: pisi/cli/commands.py:970
msgid "%s is not installed"
msgstr "%s is niet geïnstalleerd."
-#: pisi/cli/commands.py:916
+#: pisi/cli/commands.py:981
msgid "Reverse Dependencies:"
msgstr "Omgekeerde afhankelijkheden:"
-#: pisi/cli/commands.py:919
+#: pisi/cli/commands.py:984
msgid ""
"\n"
"Files:"
@@ -1731,11 +1801,11 @@ msgstr ""
"\n"
"Bestanden:"
-#: pisi/cli/commands.py:927
+#: pisi/cli/commands.py:992
msgid "File information not available"
msgstr "Bestandsinformatie niet aanwezig"
-#: pisi/cli/commands.py:933
+#: pisi/cli/commands.py:998
msgid ""
"Verify installation\n"
"\n"
@@ -1762,15 +1832,25 @@ msgstr ""
"\n"
"Als er geen pakketten opgegeven worden, worden alle pakketen nagekeken.\n"
-#: pisi/cli/commands.py:957
+#: pisi/cli/commands.py:1018
+#, fuzzy
+msgid "check options"
+msgstr "search opties"
+
+#: pisi/cli/commands.py:1020
+#, fuzzy
+msgid "Check installed packages under given component"
+msgstr "Toon geïnstalleerde pakketten onder gegeven component"
+
+#: pisi/cli/commands.py:1036
msgid "Checking all installed packages"
msgstr "Controleren alle geïnstalleerde pakketten"
-#: pisi/cli/commands.py:960
+#: pisi/cli/commands.py:1040
msgid "* Checking %s... "
msgstr "* Controle %s... "
-#: pisi/cli/commands.py:964
+#: pisi/cli/commands.py:1044
msgid ""
"\n"
"Package %s is corrupt."
@@ -1778,11 +1858,11 @@ msgstr ""
"\n"
"Pakket %s is beschadigd."
-#: pisi/cli/commands.py:968
+#: pisi/cli/commands.py:1048
msgid "Package %s not installed"
msgstr "Pakket %s niet geïnstalleerd"
-#: pisi/cli/commands.py:973
+#: pisi/cli/commands.py:1053
msgid ""
"Index PiSi files in a given directory\n"
"\n"
@@ -1802,37 +1882,37 @@ msgstr ""
"\n"
"Dit commando zoekt naar alle PiSi-bestanden in een map, verzamelt PiSi\n"
"tags en zet de verkregen informatie in een XML-bestand, standaard\n"
-"pisi-index.xml genoemd. In het bijzonder indexeert het zowel bron- als "
+"pisi-index.xml genoemd. In het bijzonder indexeert het zowel bron-\a als "
"binaire pakketten.\n"
"\n"
"Als u meerdere mappen opgeeft, werkt het commando nog steeds, maar\n"
"zal het alles in één index bestand zetten.\n"
-#: pisi/cli/commands.py:994
+#: pisi/cli/commands.py:1074
msgid "index options"
msgstr "index opties"
-#: pisi/cli/commands.py:998
+#: pisi/cli/commands.py:1078
msgid "Store absolute links for indexed files."
msgstr "Opslaan absolute koppelingen voor geïndexeerde bestanden."
-#: pisi/cli/commands.py:1001
+#: pisi/cli/commands.py:1081
msgid "Index output file"
msgstr "Index-uitvoerbestand"
-#: pisi/cli/commands.py:1004
+#: pisi/cli/commands.py:1084
msgid "Do not index PiSi spec files."
msgstr "Niet indexeren PiSi-specifieke bestanden."
-#: pisi/cli/commands.py:1007
+#: pisi/cli/commands.py:1087
msgid "Do not sign index."
msgstr "Niet ondertekenen index."
-#: pisi/cli/commands.py:1020
+#: pisi/cli/commands.py:1100
msgid "Indexing current directory."
msgstr "Indexeren huidige map."
-#: pisi/cli/commands.py:1028
+#: pisi/cli/commands.py:1108
msgid ""
"Print the list of all installed packages\n"
"\n"
@@ -1842,30 +1922,31 @@ msgstr ""
"\n"
"Gebruik: list-installed\n"
-#: pisi/cli/commands.py:1042
+#: pisi/cli/commands.py:1122
msgid "list-installed options"
msgstr "list-installed opties"
-#: pisi/cli/commands.py:1045 pisi/cli/commands.py:1278
-#: pisi/cli/commands.py:1342 pisi/cli/commands.py:1381
-#: pisi/cli/commands.py:1421 pisi/cli/commands.py:1555
+#: pisi/cli/commands.py:1125 pisi/cli/commands.py:1358
+#: pisi/cli/commands.py:1422 pisi/cli/commands.py:1461
+#: pisi/cli/commands.py:1501 pisi/cli/commands.py:1625
msgid "Show in long format"
msgstr "Toon in lang formaat"
-#: pisi/cli/commands.py:1047
+#: pisi/cli/commands.py:1127
msgid "List installed packages under given component"
msgstr "Toon geïnstalleerde pakketten onder gegeven component"
-#: pisi/cli/commands.py:1049 pisi/cli/commands.py:1425
+#: pisi/cli/commands.py:1129 pisi/cli/commands.py:1505
msgid "Show detailed install info"
msgstr "Toon gedetailleerde installatie-informatie"
# pisi/cli/commands.py:542 :729
-#: pisi/cli/commands.py:1066 pisi/cli/commands.py:1444
-msgid "Package Name |St| Version| Rel.| Build| Distro| Date"
+#: pisi/cli/commands.py:1146 pisi/cli/commands.py:1524
+msgid ""
+"Package Name |St| Version| Rel.| Build| Distro| Date"
msgstr "Pakketnaam |St| Versie| Rel.| Bouw | Distro| Datum"
-#: pisi/cli/commands.py:1081
+#: pisi/cli/commands.py:1161
msgid ""
"Rebuild Databases\n"
"\n"
@@ -1885,19 +1966,19 @@ msgstr ""
"Als pakketspecificaties worden gegeven, geef dan de namen van de\n"
"pakketmappen onder /var/lib/pisi\n"
-#: pisi/cli/commands.py:1099
+#: pisi/cli/commands.py:1179
msgid "rebuild-db options"
msgstr "rebuild-db opties"
-#: pisi/cli/commands.py:1102
+#: pisi/cli/commands.py:1182
msgid "Rebuild files database"
msgstr "Herbouw bestanden database"
-#: pisi/cli/commands.py:1113
+#: pisi/cli/commands.py:1193
msgid "Rebuild PiSi databases?"
msgstr "PiSi-databases herbouwen?"
-#: pisi/cli/commands.py:1120
+#: pisi/cli/commands.py:1200
msgid ""
"Update repository databases\n"
"\n"
@@ -1917,15 +1998,15 @@ msgstr ""
"Synchroniseert de PiSi-databases met de huidige repository.\n"
"Indien geen repository opgegeven is worden alle repositories geupdate.\n"
-#: pisi/cli/commands.py:1138
+#: pisi/cli/commands.py:1218
msgid "update-repo options"
msgstr "update-repo opties"
-#: pisi/cli/commands.py:1142
+#: pisi/cli/commands.py:1222
msgid "Update database in any case"
msgstr "Altijd database updaten"
-#: pisi/cli/commands.py:1160
+#: pisi/cli/commands.py:1240
msgid ""
"Add a repository\n"
"\n"
@@ -1952,23 +2033,23 @@ msgstr ""
"Opmerking: we ondersteunen vooralsnog alleen lokale bestanden (b.v. /a/b/c) "
"en http: // URI's.\n"
-#: pisi/cli/commands.py:1180
+#: pisi/cli/commands.py:1260
msgid "add-repo options"
msgstr "add-repo opties"
-#: pisi/cli/commands.py:1183
+#: pisi/cli/commands.py:1263
msgid "Add repository at given position (0 is first)"
msgstr "Toevoegen repository op gegeven positie (0 is eerst)"
-#: pisi/cli/commands.py:1197
+#: pisi/cli/commands.py:1277
msgid "Update PiSi database for repository %s?"
msgstr "Update PiSi-database voor repository %s?"
-#: pisi/cli/commands.py:1201
+#: pisi/cli/commands.py:1281
msgid "%s repository could not be reached. Removing %s from system."
msgstr "%s repository kan niet bereikt worden. Verwijderd %s van systeem."
-#: pisi/cli/commands.py:1210
+#: pisi/cli/commands.py:1290
msgid ""
"Remove repositories\n"
"\n"
@@ -1982,7 +2063,7 @@ msgstr ""
"\n"
"Verwijdert alle repository-informatie van het systeem.\n"
-#: pisi/cli/commands.py:1236
+#: pisi/cli/commands.py:1316
msgid ""
"List repositories\n"
"\n"
@@ -1996,7 +2077,7 @@ msgstr ""
"\n"
"Toont de huidige opgespoorde repositories.\n"
-#: pisi/cli/commands.py:1259
+#: pisi/cli/commands.py:1339
msgid ""
"List available packages in the repositories\n"
"\n"
@@ -2015,27 +2096,27 @@ msgstr ""
"opgegeven is worden de pakketten in alle repositories\n"
"getoond.\n"
-#: pisi/cli/commands.py:1276
+#: pisi/cli/commands.py:1356
msgid "list-available options"
msgstr "list-available opties"
-#: pisi/cli/commands.py:1280
+#: pisi/cli/commands.py:1360
msgid "List available packages under given component"
msgstr "Toon aanwezige pakketten onder gegeven component"
-#: pisi/cli/commands.py:1282
+#: pisi/cli/commands.py:1362
msgid "Show uninstalled packages only"
msgstr "Toon alleen niet-geïnstalleerde pakketten"
-#: pisi/cli/commands.py:1290
+#: pisi/cli/commands.py:1370
msgid "Installed packages are shown in this color"
msgstr "Geïnstalleerde pakketten worden in deze kleur weergegeven"
-#: pisi/cli/commands.py:1298
+#: pisi/cli/commands.py:1378
msgid "Repository : %s\n"
msgstr "Repository: %s\n"
-#: pisi/cli/commands.py:1325
+#: pisi/cli/commands.py:1405
msgid ""
"List available components\n"
"\n"
@@ -2051,11 +2132,11 @@ msgstr ""
"Geeft een korte lijst van PiSi componenten gepubliceerd in \n"
"de repositories.\n"
-#: pisi/cli/commands.py:1340
+#: pisi/cli/commands.py:1420
msgid "list-components options"
msgstr "list-components opties"
-#: pisi/cli/commands.py:1365
+#: pisi/cli/commands.py:1445
msgid ""
"List available sources\n"
"\n"
@@ -2069,11 +2150,11 @@ msgstr ""
"\n"
"Geeft een korte lijst van bronnen in de repositories.\n"
-#: pisi/cli/commands.py:1379
+#: pisi/cli/commands.py:1459
msgid "list-sources options"
msgstr "list-sources opties"
-#: pisi/cli/commands.py:1404
+#: pisi/cli/commands.py:1484
msgid ""
"List packages to be upgraded\n"
"\n"
@@ -2087,19 +2168,19 @@ msgstr ""
"\n"
"Toont pakketten die opgewaardeerd zullen worden.\n"
-#: pisi/cli/commands.py:1418
+#: pisi/cli/commands.py:1498
msgid "list-upgrades options"
msgstr "list-upgrades opties"
-#: pisi/cli/commands.py:1423
+#: pisi/cli/commands.py:1503
msgid "List upgradable packages under given component"
msgstr "Toon op te waarderen pakketten onder opgegeven component"
-#: pisi/cli/commands.py:1440 pisi/operations.py:466
+#: pisi/cli/commands.py:1520 pisi/operations.py:455
msgid "No packages to upgrade."
msgstr "Geen pakketten op te waarderen."
-#: pisi/cli/commands.py:1460
+#: pisi/cli/commands.py:1540
msgid ""
"List pending packages\n"
"\n"
@@ -2109,11 +2190,11 @@ msgstr ""
"\n"
"Toont pakketten wachtend op configuratie\n"
-#: pisi/cli/commands.py:1482
+#: pisi/cli/commands.py:1562
msgid "There are no packages waiting to be configured"
msgstr "Er zijn geen pakketten die wachten op configuratie"
-#: pisi/cli/commands.py:1487
+#: pisi/cli/commands.py:1567
msgid ""
"Search packages\n"
"\n"
@@ -2129,23 +2210,19 @@ msgstr ""
"Vindt een pakket met de opgegeven zoekterm\n"
"in de samenvatting, beschrijving en/of pakketnaam.\n"
-#: pisi/cli/commands.py:1502
+#: pisi/cli/commands.py:1582
msgid "search options"
msgstr "search opties"
-#: pisi/cli/commands.py:1505
-msgid "Set search language"
-msgstr "Stel zoektaal in"
-
-#: pisi/cli/commands.py:1510
+#: pisi/cli/commands.py:1588
msgid "Show details"
msgstr "Toon details"
-#: pisi/cli/commands.py:1530
+#: pisi/cli/commands.py:1600
msgid "%s packages found"
msgstr "%s pakketten gevonden"
-#: pisi/cli/commands.py:1539
+#: pisi/cli/commands.py:1609
msgid ""
"Search for a file\n"
"\n"
@@ -2159,35 +2236,35 @@ msgstr ""
"\n"
"Vindt het geïnstalleerde pakket dat het opgegeven bestand bevat.\n"
-#: pisi/cli/commands.py:1553
+#: pisi/cli/commands.py:1623
msgid "search-file options"
msgstr "search-file opties"
-#: pisi/cli/commands.py:1557
+#: pisi/cli/commands.py:1627
msgid "Fuzzy search"
msgstr "Vage zoekopdracht"
-#: pisi/cli/commands.py:1559
+#: pisi/cli/commands.py:1629
msgid "Show only package name"
msgstr "Toon alleen pakketnaam"
-#: pisi/cli/commands.py:1580
+#: pisi/cli/commands.py:1650
msgid "Package %s has file %s"
msgstr "Pakket %s bevat bestand %s"
-#: pisi/cli/commands.py:1582
+#: pisi/cli/commands.py:1652
msgid "Type: %s, Hash: %s"
msgstr "Type: %s, Hash: %s"
-#: pisi/cli/commands.py:1585
+#: pisi/cli/commands.py:1655
msgid "Path '%s' does not belong to an installed package"
msgstr "Pad '%s' hoort niet bij een geïnstalleerd pakket"
-#: pisi/cli/commands.py:1598
+#: pisi/cli/commands.py:1668
msgid "Searching for %s"
msgstr "Zoekt naar %s"
-#: pisi/cli/commands.py:1608
+#: pisi/cli/commands.py:1678
msgid ""
"%prog [options] [arguments]\n"
"\n"
@@ -2199,7 +2276,7 @@ msgstr ""
"waar één is van:\n"
"\n"
-#: pisi/cli/commands.py:1614
+#: pisi/cli/commands.py:1684
msgid ""
"\n"
"Use \"%prog help \" for help on a specific command.\n"
@@ -2207,15 +2284,15 @@ msgstr ""
"\n"
"Gebruik \"%prog help \" voor help over een specifiek commando.\n"
-#: pisi/cli/pisicli.py:56
+#: pisi/cli/pisicli.py:53
msgid "Options must precede non-option arguments"
msgstr "Opties moeten voorafgaan aan non-optie-argumenten"
-#: pisi/cli/pisicli.py:97
+#: pisi/cli/pisicli.py:94
msgid "No command given"
msgstr "Geen commando gegeven"
-#: pisi/cli/pisicli.py:100
+#: pisi/cli/pisicli.py:97
msgid "Command line parsing error"
msgstr "Fout bij ontleden van commando"
@@ -2276,59 +2353,69 @@ msgstr "Aanroepen pre-verwijder afhandelingen"
msgid "Unregistering comar scripts"
msgstr "Deregistreren comar-scripts"
-#: pisi/component.py:97 pisi/component.py:103
+#: pisi/component.py:105 pisi/component.py:111
msgid "Component %s not found"
msgstr "Component %s niet gevonden"
-#: pisi/component.py:199 pisi/component.py:225
+#: pisi/component.py:207 pisi/component.py:233
msgid "Information for component %s not available"
msgstr "Informatie voor component %s niet beschikbaar"
-#: pisi/config.py:61
+#: pisi/config.py:60
msgid "Destination directory %s does not exist. Creating it."
msgstr "Doelmap %s bestaat niet. Deze wordt nu aangemaakt."
-#: pisi/configfile.py:105
+#: pisi/configfile.py:112
msgid "No section by name '%s'"
msgstr "Geen sectie met de naam '%s'"
-#: pisi/conflict.py:39 pisi/dependency.py:40
+#: pisi/conflict.py:26 pisi/replace.py:24
msgid " version >= "
msgstr " versie >= "
-#: pisi/conflict.py:41 pisi/dependency.py:42
+#: pisi/conflict.py:28 pisi/replace.py:26
msgid " version <= "
msgstr " versie <= "
-#: pisi/conflict.py:43 pisi/dependency.py:44
+#: pisi/conflict.py:30 pisi/replace.py:28
msgid " version "
msgstr " versie "
-#: pisi/conflict.py:45 pisi/dependency.py:46
+#: pisi/conflict.py:32 pisi/replace.py:30
msgid " release >= "
msgstr " uitgave >= "
-#: pisi/conflict.py:47 pisi/dependency.py:48
+#: pisi/conflict.py:34 pisi/replace.py:32
msgid " release <= "
msgstr " uitgave <= "
-#: pisi/conflict.py:49 pisi/dependency.py:50
+#: pisi/conflict.py:36 pisi/replace.py:34
msgid " release "
msgstr " uitgave "
-#: pisi/constants.py:30
+#: pisi/constants.py:28
msgid "Can't rebind constant: %s"
msgstr "Kan niet opnieuw koppelen aan constante: %s "
-#: pisi/constants.py:36
+#: pisi/constants.py:34
msgid "Can't unbind constant: %s"
msgstr "Kan niet ontkoppelen van contante: %s"
-#: pisi/dependency.py:107
+#: pisi/delta.py:27
+#, fuzzy
+msgid "Cannot create delta for same package!"
+msgstr "Kan map %s niet aanmaken"
+
+#: pisi/delta.py:41
+#, fuzzy
+msgid "Creating delta PiSi package between %s %s"
+msgstr "Aanmaken PiSi-pakket %s."
+
+#: pisi/dependency.py:55
msgid "%s dependency of package %s is not satisfied"
msgstr "%s afhankelijkheid van pakket %s is niet bevredigend"
-#: pisi/dependency.py:120
+#: pisi/dependency.py:68
msgid "Package %s is not present in the package database"
msgstr "Pakket %s niet aanwezig in de pakketdatabase"
@@ -2345,7 +2432,8 @@ msgid "Access denied to destination file: \"%s\""
msgstr "Toegang geweigerd van doelbestand: \"%s\" "
#: pisi/fetcher.py:100
-msgid "A problem occured. Please check the archive address and/or permissions again."
+msgid ""
+"A problem occured. Please check the archive address and/or permissions again."
msgstr ""
"Probleem plaatsgevonden. Controleer het archiefadres en/of de "
"toegangsrechten opnieuw."
@@ -2354,31 +2442,31 @@ msgstr ""
msgid "No such file or no permission to read"
msgstr "Bestand niet gevonden of geen leesrechten"
-#: pisi/fetcher.py:183
+#: pisi/fetcher.py:182
msgid "Requested range not satisfiable, starting again."
msgstr "Verzocht bereik niet verwezenlijkbaar, opnieuw gestart."
-#: pisi/fetcher.py:190
+#: pisi/fetcher.py:189
msgid "Cannot fetch %s; value error: %s"
msgstr "Kan %s niet ophalen. Foutcode: %s"
-#: pisi/fetcher.py:192 pisi/fetcher.py:196
+#: pisi/fetcher.py:191 pisi/fetcher.py:195
msgid "Cannot fetch %s; %s"
msgstr "Kan niet ophalen %s; %s"
-#: pisi/fetcher.py:194
+#: pisi/fetcher.py:193
msgid "Please check your network connections and try again. (%s)"
msgstr "Controleer uw netwerk verbindingen en probeer opnieuw. (%s)"
-#: pisi/fetcher.py:198
+#: pisi/fetcher.py:197
msgid "Cannot fetch %s; (%s): %s"
msgstr "Kan niet ophalen %s; (%s): %s"
-#: pisi/fetcher.py:244
+#: pisi/fetcher.py:243
msgid "Proxy configuration has been found for '%s' protocol"
msgstr "Proxy-configuratie gevonden voor '%s' protocol"
-#: pisi/fetcher.py:328 pisi/fetcher.py:349 pisi/fetcher.py:362
+#: pisi/fetcher.py:327 pisi/fetcher.py:348 pisi/fetcher.py:362
msgid "ftp error"
msgstr "ftp fout"
@@ -2426,43 +2514,43 @@ msgstr "FOUT: gpg --detach-sig %s is mislukt"
msgid "Encountered cycle %s"
msgstr "Ondekt cyclus %s"
-#: pisi/index.py:92
-msgid "Adding %s to package index"
-msgstr "Toevoegen %s aan pakketindex"
-
-#: pisi/index.py:95
+#: pisi/index.py:97
msgid "Adding %s to component index"
msgstr "Toevoegen %s aan componentindex"
-#: pisi/index.py:113
+#: pisi/index.py:109
+msgid "Adding %s to package index"
+msgstr "Toevoegen %s aan pakketindex"
+
+#: pisi/index.py:123
msgid "Updating package database of %s"
msgstr "Updaten pakketdatabase van %s"
-#: pisi/index.py:141
+#: pisi/index.py:152
msgid "Package %s: metadata corrupt, skipping..."
msgstr "Pakket %s: metadata is corrupt, wordt overgeslagen..."
-#: pisi/index.py:169
+#: pisi/index.py:191
msgid "Adding %s to source index"
msgstr "Toevoegen %s aan bronindex"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed"
msgstr "geïnstalleerd"
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed-pending"
msgstr "geïnstalleerd-wachtend"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "purged"
msgstr "gezuiverd"
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "removed"
msgstr "verwijderd"
-#: pisi/installdb.py:62
+#: pisi/installdb.py:55
msgid ""
"State: %s\n"
"Version: %s, Release: %s, Build: %s\n"
@@ -2470,47 +2558,50 @@ msgstr ""
"Status: %s\n"
"Versie: %s, uitgave: %s, bouw: %s\n"
-#: pisi/installdb.py:67
+#: pisi/installdb.py:60
msgid "Distribution: %s, Install Time: %s\n"
msgstr "Distributie: %s, installatietijd: %s\n"
-#: pisi/installdb.py:154
+#: pisi/installdb.py:147
msgid "Already installed"
msgstr "Reeds geïnstalleerd."
-#: pisi/itembyrepodb.py:120
+#: pisi/itembyrepodb.py:114
msgid "Invalid repository string"
msgstr "Ongeldige repositorytekst"
-#: pisi/itembyrepodb.py:142
+#: pisi/itembyrepodb.py:136
msgid "Key %s not found"
msgstr "Sleutel %s niet gevonden"
-#: pisi/itembyrepodb.py:152
+#: pisi/itembyrepodb.py:146
msgid "Key %s in repo %s not found"
msgstr "Sleutel %s in repo %s niet gevonden"
-#: pisi/lockeddbshelve.py:47
+#: pisi/lockeddbshelve.py:46
+#, fuzzy
msgid "Database version for %s insufficient. Please run rebuild-db command."
msgstr ""
"Databaseversie van %s is niet toereikend. Voer a.u.b. het commando rebuild-"
"db uit."
-#: pisi/lockeddbshelve.py:51
-msgid "Database version for %s greater than PiSi version. You need a newer PiSi."
+#: pisi/lockeddbshelve.py:50
+#, fuzzy
+msgid ""
+"Database version for %s greater than PiSi version. You need a newer PiSi."
msgstr ""
"Databaseversie van %s is hoger dan de PiSi-versie. Een nieuwere versie van "
"PiSi is nodig."
-#: pisi/lockeddbshelve.py:62
+#: pisi/lockeddbshelve.py:61
msgid "Cannot attain write access to database environment"
msgstr "Kan geen schrijftoegang tot de databaseomgeving krijgen"
-#: pisi/lockeddbshelve.py:64
+#: pisi/lockeddbshelve.py:63
msgid "Database version %s not present."
msgstr "Databaseversie %s is niet aanwezig."
-#: pisi/lockeddbshelve.py:71 pisi/lockeddbshelve.py:153
+#: pisi/lockeddbshelve.py:70 pisi/lockeddbshelve.py:152
msgid ""
"Another instance of PiSi is running. Only one instance is allowed to modify "
"the PiSi database at a time."
@@ -2518,31 +2609,34 @@ msgstr ""
"Er draait nog een exemplaar van PiSi. Slechts één PiSi tegelijk kan de "
"database aanpassen."
-#: pisi/lockeddbshelve.py:81
+#: pisi/lockeddbshelve.py:80
msgid "Cannot attain read access to database environment"
msgstr "Kan geen leestoegang tot de databaseomgeving krijgen"
-#: pisi/lockeddbshelve.py:95
+#: pisi/lockeddbshelve.py:94
msgid ""
"Cannot attain write access to PiSi database. You have to be root for this "
"operation."
-msgstr "Kan geen schrijftoegang tot de PiSi database krijgen. U dient root te zijn voor deze handeling."
+msgstr ""
+"Kan geen schrijftoegang tot de PiSi database krijgen. U dient root te zijn "
+"voor deze handeling."
-#: pisi/lockeddbshelve.py:113
+#: pisi/lockeddbshelve.py:112
msgid "Cannot attain read or write access to database %s"
msgstr "Kan geen lees- of schrijftoegang krijgen tot de database %s"
-#: pisi/lockeddbshelve.py:139
-msgid "Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
+#: pisi/lockeddbshelve.py:138
+msgid ""
+"Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
msgstr ""
"Opties moeten een van 'r', 'w', 'c' of 'n' zijn of gebruik de opties bsddb."
"db.DB_*"
-#: pisi/metadata.py:58
+#: pisi/metadata.py:74
msgid "Distribution: %s, Dist. Release: %s\n"
msgstr "Distributie: %s, distributie-uitgave: %s\n"
-#: pisi/metadata.py:60
+#: pisi/metadata.py:76
msgid "Architecture: %s, Installed Size: %s"
msgstr "Architectuur: %s, installatiegrootte: %s"
@@ -2550,11 +2644,11 @@ msgstr "Architectuur: %s, installatiegrootte: %s"
msgid "Mirrors file %s does not exist. Could not resolve mirrors://"
msgstr "Mirror bestand %s bestaat niet. Kan mirrors niet oplossen://"
-#: pisi/operations.py:114
+#: pisi/operations.py:106
msgid "Mixing file names and package names not supported yet."
msgstr "Combineren van bestands- en pakketnamen nog niet ondersteund."
-#: pisi/operations.py:156
+#: pisi/operations.py:148
msgid ""
"The following packages will be installed\n"
"in the respective order to satisfy extra dependencies:\n"
@@ -2562,36 +2656,44 @@ msgstr ""
"De volgende pakketten zullen geïnstalleerd worden\n"
"in de meest gunstige volgorde voor extra afhankelijkheden:\n"
-#: pisi/operations.py:159 pisi/operations.py:621
+#: pisi/operations.py:151 pisi/operations.py:618
msgid "Do you want to continue?"
msgstr "Wilt u doorgaan?"
-#: pisi/operations.py:160
+#: pisi/operations.py:152
msgid "External dependencies not satisfied"
msgstr "Externe afhankelijkheden zijn niet voldaan"
# pisi/api.py:168 :215
-#: pisi/operations.py:172 pisi/operations.py:339
+#: pisi/operations.py:164 pisi/operations.py:316
msgid "No packages to install."
msgstr "Geen te installeren pakketten."
-#: pisi/operations.py:203
+#: pisi/operations.py:195
msgid "Installation order: "
msgstr "Installatievolgorde: "
-#: pisi/operations.py:257 pisi/operations.py:279
+#: pisi/operations.py:223
+msgid "Replaced package remains"
+msgstr ""
+
+#: pisi/operations.py:227 pisi/operations.py:255
msgid "Conflicts remain"
msgstr "Conflicten blijven bestaan"
-#: pisi/operations.py:267
+#: pisi/operations.py:233
+msgid "Obsoleted packages remaining"
+msgstr ""
+
+#: pisi/operations.py:243
msgid "Selected packages [%s] are in conflict with each other."
msgstr "Geselecteerde pakketten [%s] zijn in conflict met elkaar."
-#: pisi/operations.py:273
+#: pisi/operations.py:249
msgid "[%s conflicts with: %s]\n"
msgstr "[%s in conflict met %s]\n"
-#: pisi/operations.py:275
+#: pisi/operations.py:251
msgid ""
"The following packages have conflicts:\n"
"%s"
@@ -2599,27 +2701,27 @@ msgstr ""
"De volgende pakketten hebben conflicten:\n"
"%s"
-#: pisi/operations.py:278
+#: pisi/operations.py:254
msgid "Remove the following conflicting packages?"
msgstr "De volgende pakketten met conflicten verwijderen?"
-#: pisi/operations.py:305
+#: pisi/operations.py:282
msgid "Safety switch: Following packages in system.base will be installed: "
msgstr ""
"Veiligheidsprocedure: de volgende pakketten in system.base worden "
"geïnstalleerd: "
-#: pisi/operations.py:311
+#: pisi/operations.py:288
msgid "Safety switch: Following packages in system.base will be upgraded: "
msgstr ""
"Veiligheidsprocedure: de volgende pakketten in system.base worden "
"opgewaardeerd: "
-#: pisi/operations.py:317 pisi/operations.py:597
+#: pisi/operations.py:294 pisi/operations.py:594
msgid "Safety switch: the component system.base cannot be found"
msgstr "Veiligheidsprocedure: component system.base is niet gevonden"
-#: pisi/operations.py:334
+#: pisi/operations.py:311
msgid ""
"The following package(s) are already installed and are not going to be "
"installed again:\n"
@@ -2627,7 +2729,7 @@ msgstr ""
"De volgende pakket(ten) zijn al geïnstalleerd en zullen niet opnieuw worden "
"geïnstalleerd:\n"
-#: pisi/operations.py:355
+#: pisi/operations.py:332
msgid ""
"Following packages will be installed in the respective order to satisfy "
"dependencies:\n"
@@ -2635,65 +2737,74 @@ msgstr ""
"De volgende pakketten zullen geïnstalleerd worden in de respectievelijke "
"volgorde voor de afhankelijkheden:\n"
-#: pisi/operations.py:360 pisi/operations.py:491
+#: pisi/operations.py:337 pisi/operations.py:480
msgid "Total size of package(s): %.2f %s"
msgstr "Totale grootte van pakket(ten): %.2f %s"
-#: pisi/operations.py:366 pisi/operations.py:497 pisi/operations.py:709
+#: pisi/operations.py:343 pisi/operations.py:486 pisi/operations.py:705
msgid "There are extra packages due to dependencies. Do you want to continue?"
msgstr "Er zijn extra pakketten wegens afhankelijkheden. Wilt u doorgaan?"
-#: pisi/operations.py:432
+#: pisi/operations.py:412
msgid "Warning: package *name* ends with '.pisi'"
msgstr "Waarschuwing: pakket *naam* eindigt met '.pisi'"
-#: pisi/operations.py:435
+#: pisi/operations.py:424
msgid "Package %s is not installed."
msgstr "Pakket %s is niet geïnstalleerd."
-#: pisi/operations.py:441
+#: pisi/operations.py:430
msgid "Package %s is not available in repositories."
msgstr "Pakket %s is niet beschikbaar in de repositories."
-#: pisi/operations.py:453
+#: pisi/operations.py:442
msgid "Package %s is already at the latest release %s."
msgstr "Pakket %s is al de laatste uitgave %s"
-#: pisi/operations.py:459
+#: pisi/operations.py:448
msgid "Package %s is already at the latest build %s."
msgstr "Pakket %s is al de laatste bouw %s."
-#: pisi/operations.py:486
+#: pisi/operations.py:475
msgid "The following packages will be upgraded: "
msgstr "De volgende pakketen zullen worden opgewaardeerd: "
-#: pisi/operations.py:552
+#: pisi/operations.py:493
+msgid "Downloading %d / %d"
+msgstr ""
+
+#: pisi/operations.py:511
+#, fuzzy
+msgid "Installing %d / %d"
+msgstr "Geïnstalleerd %s"
+
+#: pisi/operations.py:548
msgid "Dependency %s of %s cannot be satisfied"
msgstr "Afhankelijkheid %s van %s kan niet worden voldaan"
-#: pisi/operations.py:553
+#: pisi/operations.py:549
msgid "Upgrade is not possible."
msgstr "Opwaarderen niet mogelijk."
-#: pisi/operations.py:568
+#: pisi/operations.py:565
msgid "Reverse dependency %s of %s cannot be satisfied"
msgstr "Omgekeerde afhankelijkheid %s van %s kan niet worden voldaan"
-#: pisi/operations.py:593
+#: pisi/operations.py:590
msgid "Safety switch: cannot remove the following packages in system.base: "
msgstr ""
"Veiligheidsprocedure: kan de volgende pakketten niet verwijderen uit system."
"base: "
-#: pisi/operations.py:604
+#: pisi/operations.py:601
msgid "Package %s does not exist. Cannot remove."
msgstr "Pakket %s bestaat niet."
-#: pisi/operations.py:608
+#: pisi/operations.py:605
msgid "No packages to remove."
msgstr "Geen te verwijderen pakketten."
-#: pisi/operations.py:617
+#: pisi/operations.py:614
msgid ""
"The following minimal list of packages will be removed\n"
"in the respective order to satisfy dependencies:\n"
@@ -2701,19 +2812,19 @@ msgstr ""
"De volgende minimale lijst van pakketten zullen verwijderd worden\n"
"in de respectievelijke volgorde om aan afhankelijkheden te voldoen:\n"
-#: pisi/operations.py:622
+#: pisi/operations.py:619
msgid "Package removal declined"
msgstr "Verwijderen van pakket afgewezen."
-#: pisi/operations.py:634
+#: pisi/operations.py:631
msgid "Package %s is not installed. Cannot remove."
msgstr "Pakket %s niet geïnstalleerd. Kan niet verwijderen."
-#: pisi/operations.py:683
+#: pisi/operations.py:679
msgid "No packages to emerge."
msgstr "Geen samen te voegen pakketten."
-#: pisi/operations.py:698
+#: pisi/operations.py:694
msgid ""
"The following minimal list of packages will be installed\n"
"from repository in the respective order to satisfy dependencies:\n"
@@ -2722,7 +2833,7 @@ msgstr ""
"uit de repository in de respectievelijke volgorde om aan afhankelijkheden te "
"voldoen:\n"
-#: pisi/operations.py:701
+#: pisi/operations.py:697
msgid ""
"The following minimal list of packages will be built and\n"
"installed in the respective order to satisfy dependencies:\n"
@@ -2731,11 +2842,12 @@ msgstr ""
"en geïnstalleerd worden in de respectievelijke volgorde om\n"
"aan afhankelijkheden te voldoen:\n"
-#: pisi/operations.py:743
+#: pisi/operations.py:739
msgid "Cannot find source package: %s"
msgstr "Kan bronpakket %s niet vinden"
#: pisi/package.py:56
+#, fuzzy
msgid ""
"There was a problem while fetching '%s'.\n"
"The package may have been upgraded. Please try to upgrade the package."
@@ -2743,31 +2855,31 @@ msgstr ""
"Er was een probleem bij ophalen van '%s'.\n"
"Het pakket kan opgewaardeerd zijn. Probeer het pakket op te waarderen."
-#: pisi/package.py:60 pisi/sourcearchive.py:94
+#: pisi/package.py:60 pisi/sourcearchive.py:92
msgid "%s [cached]"
msgstr "%s [cached]"
-#: pisi/package.py:131
+#: pisi/package.py:136
msgid "MetaData format wrong"
msgstr "Opmaak van metadata is onjuist"
-#: pisi/packagedb.py:66
+#: pisi/packagedb.py:65
msgid "Package %s not found"
msgstr "Pakket %s niet gevonden"
-#: pisi/pxml/autoxml.py:77
+#: pisi/pxml/autoxml.py:79
msgid "At least one '%s' tag should have local text"
msgstr "Minstens één '%s' tag moet lokale tekst bevatten"
-#: pisi/pxml/autoxml.py:84
+#: pisi/pxml/autoxml.py:86
msgid "'%s' language of tag '%s' is empty"
msgstr "'%s' taal van tag %s is leeg"
-#: pisi/pxml/autoxml.py:112
+#: pisi/pxml/autoxml.py:114
msgid "LocalText: unable to get either current or default locale"
msgstr "Localtext: huidige of standaard locale kon niet worden verkregen."
-#: pisi/pxml/autoxml.py:118 pisi/pxml/autoxml.py:133
+#: pisi/pxml/autoxml.py:120 pisi/pxml/autoxml.py:135
msgid ""
"Tag should have at least the current locale, or failing that an English or "
"Turkish version"
@@ -2775,68 +2887,68 @@ msgstr ""
"De tag dient tenminste de huidige locale bevatten, of anders een Engelse, "
"Nederlandse of Turkse versie"
-#: pisi/pxml/autoxml.py:368
+#: pisi/pxml/autoxml.py:373
msgid "autoxml.check: '%s' errors"
msgstr "autoxml.check: '%s' fouten"
-#: pisi/pxml/autoxml.py:423 pisi/pxml/autoxml.py:433
+#: pisi/pxml/autoxml.py:428 pisi/pxml/autoxml.py:438
msgid "autoxml.parse: String '%s' has errors"
msgstr "autoxml.parse: lijn '%s' bevat fouten"
-#: pisi/pxml/autoxml.py:443 pisi/pxml/autoxml.py:453
+#: pisi/pxml/autoxml.py:448 pisi/pxml/autoxml.py:458
msgid "autoxml.read: File '%s' has errors"
msgstr "autoxml.read: bestand '%s' bevat fouten"
-#: pisi/pxml/autoxml.py:461
+#: pisi/pxml/autoxml.py:466
msgid "autoxml.write: object validation has failed"
msgstr "autoxml.write: objectvalidatie is mislukt"
-#: pisi/pxml/autoxml.py:469
+#: pisi/pxml/autoxml.py:474
msgid "autoxml.write: File encoding '%s' has errors"
msgstr "autoxml.write: bestandscodering '%s' bevat fouten"
-#: pisi/pxml/autoxml.py:519
+#: pisi/pxml/autoxml.py:524
msgid "gen_tag: unrecognized tag type %s in spec"
msgstr "gen_tag: onherkenbare tag %s in spec"
-#: pisi/pxml/autoxml.py:567 pisi/pxml/autoxml.py:578
+#: pisi/pxml/autoxml.py:572 pisi/pxml/autoxml.py:583
msgid "Mandatory variable %s not available"
msgstr "Verplichte variabele %s niet beschikbaar"
-#: pisi/pxml/autoxml.py:648
+#: pisi/pxml/autoxml.py:653
msgid "Type mismatch: read text cannot be decoded"
msgstr "Ongeldig type: leestekst kan niet ontcijferd worden"
-#: pisi/pxml/autoxml.py:652 pisi/pxml/autoxml.py:661
+#: pisi/pxml/autoxml.py:657 pisi/pxml/autoxml.py:666
msgid "Mandatory token %s not available"
msgstr "Verplichte teken %s niet beschikbaar"
-#: pisi/pxml/autoxml.py:666
+#: pisi/pxml/autoxml.py:671
msgid "Type mismatch. Expected %s, got %s"
msgstr "Ongeldig type: %s werd verwacht, %s is gekregen"
# pisi/xmlfile.py:420 :521
-#: pisi/pxml/autoxml.py:696 pisi/pxml/autoxml.py:812
+#: pisi/pxml/autoxml.py:701 pisi/pxml/autoxml.py:817
msgid "Type mismatch: DOM cannot be decoded"
msgstr "Ongeldig type: DOM kan niet ontcijferd worden"
# pisi/xmlfile.py:392 :423 :439 :446 :524 :538 :545
-#: pisi/pxml/autoxml.py:699 pisi/pxml/autoxml.py:715 pisi/pxml/autoxml.py:725
-#: pisi/pxml/autoxml.py:815 pisi/pxml/autoxml.py:829 pisi/pxml/autoxml.py:839
+#: pisi/pxml/autoxml.py:704 pisi/pxml/autoxml.py:720 pisi/pxml/autoxml.py:730
+#: pisi/pxml/autoxml.py:820 pisi/pxml/autoxml.py:834 pisi/pxml/autoxml.py:844
msgid "Mandatory argument not available"
msgstr "Verplicht argument niet beschikbaar"
# pisi/xmlfile.py:436 :535
-#: pisi/pxml/autoxml.py:712 pisi/pxml/autoxml.py:826
+#: pisi/pxml/autoxml.py:717 pisi/pxml/autoxml.py:831
msgid "Object cannot be encoded"
msgstr "Object kan niet gecodeerd worden"
-#: pisi/pxml/autoxml.py:737
+#: pisi/pxml/autoxml.py:742
msgid "List type must contain only one element"
msgstr "Lijsttype mag maar één element bevatten"
# pisi/xmlfile.py:470 :485
-#: pisi/pxml/autoxml.py:750 pisi/pxml/autoxml.py:771
+#: pisi/pxml/autoxml.py:755 pisi/pxml/autoxml.py:776
msgid "Mandatory list \"%s\" under \"%s\" node is empty."
msgstr "De verplichte lijst \"%s\" onder de \"%s\" nodus is leeg."
@@ -2844,23 +2956,23 @@ msgstr "De verplichte lijst \"%s\" onder de \"%s\" nodus is leeg."
msgid "getNodeText: Expected text node, got something else!"
msgstr "getNodeText:verwachte tekstverbinding, iets anders gevondenı!"
-#: pisi/pxml/xmlfile.py:64
+#: pisi/pxml/xmlfile.py:63
msgid "String '%s' has invalid XML"
msgstr "Regel '%s' bevat ongeldige XML"
-#: pisi/pxml/xmlfile.py:72 pisi/pxml/xmlfile.py:87
+#: pisi/pxml/xmlfile.py:71 pisi/pxml/xmlfile.py:86
msgid "File '%s' has invalid XML"
msgstr "Bestand '%s' bevat ongeldige XML"
-#: pisi/repodb.py:74
+#: pisi/repodb.py:69
msgid "No repository named %s exists"
msgstr "Er bestaat geen repository met de naam %s"
-#: pisi/repodb.py:83
+#: pisi/repodb.py:78
msgid "Repository %s already exists"
msgstr "Repository %s bestaat al"
-#: pisi/repodb.py:90
+#: pisi/repodb.py:85
msgid "Cannot add repository at position %s"
msgstr "Kan geen repository toevoegen op de positie %s"
@@ -2876,55 +2988,55 @@ msgstr "Repo bevat al een pakket met de naam %s."
msgid "Repo does not have package named %s."
msgstr "Repo bevat geen pakket met de naam %s."
-#: pisi/sourcearchive.py:63
+#: pisi/sourcearchive.py:61
msgid "Trying fallback address: %s"
msgstr "Pogen terugval adres: %s"
-#: pisi/sourcearchive.py:74
+#: pisi/sourcearchive.py:72
msgid "%s mirrors are not defined."
msgstr "%s mirrors zijn niet benoemd."
-#: pisi/sourcearchive.py:79
+#: pisi/sourcearchive.py:77
msgid "Fetching source from mirror: %s"
msgstr "Bron ophalen van mirror: %s "
-#: pisi/sourcearchive.py:85
+#: pisi/sourcearchive.py:83
msgid "Could not fetch source from %s mirrors."
msgstr "Kon de bron van de %s mirrors niet ophalen."
-#: pisi/sourcearchive.py:103
+#: pisi/sourcearchive.py:101
msgid "unpack: check_file_hash failed"
msgstr "uitpakken: check_file_hash mislukt"
-#: pisi/sourcedb.py:59 pisi/sourcedb.py:65
+#: pisi/sourcedb.py:54 pisi/sourcedb.py:60
msgid "Source package %s not found"
msgstr "Bronpakket %s niet gevonden."
-#: pisi/specfile.py:141
+#: pisi/specfile.py:139
msgid "URI: %s, type: %s, sha1sum: %s"
msgstr "URI: %s, type: %s, sha1sum: %s"
-#: pisi/specfile.py:208
+#: pisi/specfile.py:206
msgid "Name: %s, version: %s, release: %s, build %s\n"
msgstr "Naam: %s, versie %s, uitgave %s, bouw %s\n"
-#: pisi/specfile.py:210
+#: pisi/specfile.py:208
msgid "Summary: %s\n"
msgstr "Inhoud: %s\n"
-#: pisi/specfile.py:211
+#: pisi/specfile.py:209
msgid "Description: %s\n"
msgstr "Beschrijving: %s\n"
-#: pisi/specfile.py:212
+#: pisi/specfile.py:210
msgid "Component: %s\n"
msgstr "Component: %s\n"
-#: pisi/specfile.py:213
+#: pisi/specfile.py:211
msgid "Provides: "
msgstr "Levert: "
-#: pisi/specfile.py:217
+#: pisi/specfile.py:215
msgid "Dependencies: "
msgstr "Afhankelijkheden: "
@@ -2940,47 +3052,43 @@ msgstr "Actief "
msgid "return value for \"%s\" is %s"
msgstr "return-waarde voor \"%s\" is %s"
-#: pisi/util.py:364
+#: pisi/util.py:361
msgid "Including external link '%s'"
msgstr "Bijsluiten externe koppeling '%s'"
-#: pisi/util.py:366
+#: pisi/util.py:363
msgid "Including directory '%s'"
msgstr "Bijsluiten map '%s'"
-#: pisi/util.py:440
+#: pisi/util.py:448
msgid "I/O Error: Cannot calculate SHA1 hash of %s"
msgstr "I/O-fout: kan SHA1 hash van%s niet berekenen"
-#: pisi/util.py:451
+#: pisi/util.py:459
msgid "Cannot calculate SHA1 hash of given data"
msgstr "Kan SHA1 hash van opgegeven gegevens niet berekenen"
-#: pisi/util.py:488
+#: pisi/util.py:508
msgid "ERROR: patch (%s) failed"
msgstr "Fout: patch (%s) mislukt"
-#: pisi/util.py:490
+#: pisi/util.py:510
msgid "ERROR: patch (%s) failed: %s"
msgstr "Fout: patch (%s) mislukt: %s"
-#: pisi/util.py:536
+#: pisi/util.py:556
msgid "strip command failed for file '%s'!"
msgstr "Commando 'strip' mislukte voor bestand '%s'!"
-#: pisi/util.py:543
+#: pisi/util.py:563
msgid "objcopy (keep-debug) command failed for file '%s'!"
msgstr "Commando 'objcopy' (keep-debug) mislukte voor bestand '%s'!"
-#: pisi/util.py:549
+#: pisi/util.py:569
msgid "objcopy (add-debuglink) command failed for file '%s'!"
msgstr "Commando 'objcopy' (add-debuglink) mislukte voor bestand '%s'!"
-#: pisi/util.py:610
-msgid "Updating environment..."
-msgstr "Updaten omgeving..."
-
-#: scripts/repostats.py:361
+#: scripts/repostats.py:226
msgid ""
"Duplicate binary packages:\n"
"%s\n"
@@ -2990,11 +3098,7 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:366
-msgid "Unknown file type '%s' in package '%s'"
-msgstr "Onbekend bestandstype '%s' in pakket '%s'"
-
-#: scripts/repostats.py:422
+#: scripts/repostats.py:301
msgid ""
"Duplicate source packages:\n"
"%s\n"
@@ -3004,15 +3108,13 @@ msgstr ""
"%s\n"
"%s\n"
-#: scripts/repostats.py:442
-msgid "Source package '%s' has wrong date format '%s'"
-msgstr "Bronpakket '%s' heeft een onjuiste datumopmaak: '%s'"
+#: scripts/repostats.py:371
+msgid ""
+"Developer '%s <%s>' has another mail address '%s' in source package '%s'"
+msgstr ""
+"Ontwikkelaar '%s <%s>' heeft een ander e-mailadres '%s' in bronpakket '%s'"
-#: scripts/repostats.py:481
-msgid "Developer '%s <%s>' has another mail address '%s' in source package '%s'"
-msgstr "Ontwikkelaar '%s <%s>' heeft een ander e-mailadres '%s' in bronpakket '%s'"
-
-#: scripts/repostats.py:564
+#: scripts/repostats.py:467
msgid ""
"Cannot parse '%s':\n"
"%s\n"
@@ -3020,27 +3122,40 @@ msgstr ""
"Kan '%s' niet ontleden:\n"
"'%s'\n"
-#: scripts/repostats.py:642
+#: scripts/repostats.py:553
msgid "Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n"
msgstr "Gebruik: repostats.py [Opties] source-repo-path [binair-repo-adres]\n"
-#: scripts/repostats.py:643
+#: scripts/repostats.py:554
msgid "Dont generate the web site.\n"
msgstr "Website niet genereren.\n"
-#: scripts/repostats.py:664
+#: scripts/repostats.py:575
msgid "Scanning source repository...\n"
msgstr "Scannen bron-repository...\n"
-#: scripts/repostats.py:668
+#: scripts/repostats.py:579
msgid "Scanning binary packages...\n"
msgstr "Scannen binaire pakketten...\n"
-#: scripts/repostats.py:673
-msgid "Encountered %d errors! Fix them immediately!\n"
-msgstr "%d problemen gevonden! Repareer ze onmiddellijk!\n"
+#, fuzzy
+#~ msgid "History for Package %s not found"
+#~ msgstr "Pakket %s niet gevonden"
-#: scripts/repostats.py:681
-msgid "These dependencies are not available in repository:\n"
-msgstr "Deze afhankelijkheden zijn niet beschikbaar in de repository:\n"
+#~ msgid "Updating environment..."
+#~ msgstr "Updaten omgeving..."
+#~ msgid "Set search language"
+#~ msgstr "Stel zoektaal in"
+
+#~ msgid "Unknown file type '%s' in package '%s'"
+#~ msgstr "Onbekend bestandstype '%s' in pakket '%s'"
+
+#~ msgid "Source package '%s' has wrong date format '%s'"
+#~ msgstr "Bronpakket '%s' heeft een onjuiste datumopmaak: '%s'"
+
+#~ msgid "Encountered %d errors! Fix them immediately!\n"
+#~ msgstr "%d problemen gevonden! Repareer ze onmiddellijk!\n"
+
+#~ msgid "These dependencies are not available in repository:\n"
+#~ msgstr "Deze afhankelijkheden zijn niet beschikbaar in de repository:\n"
diff --git a/po/pisi.pot b/po/pisi.pot
index f15c9d7b..e313c96a 100644
--- a/po/pisi.pot
+++ b/po/pisi.pot
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2006-12-12 14:29+EET\n"
+"POT-Creation-Date: 2007-07-05 09:54+EEST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -67,7 +67,7 @@ msgid ""
" "
msgstr ""
-#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:50
+#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:48
#, docstring
msgid "Return a comma-separated list of option strings & metavariables."
msgstr ""
@@ -79,7 +79,7 @@ msgid ""
" "
msgstr ""
-#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:44
+#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:42
msgid ""
"usage: %s\n"
msgstr ""
@@ -359,15 +359,15 @@ msgstr ""
msgid "Use --debug to see a traceback."
msgstr ""
-#: pisi/actionsapi/autotools.py:36
+#: pisi/actionsapi/autotools.py:36 pisi/actionsapi/cmaketools.py:36
msgid ""
"Please attach the config.log to your bug report:\n"
"%s/config.log"
msgstr ""
#: pisi/actionsapi/autotools.py:75 pisi/actionsapi/autotools.py:85
-#: pisi/actionsapi/kde.py:65 pisi/actionsapi/perlmodules.py:54
-#: pisi/actionsapi/perlmodules.py:57
+#: pisi/actionsapi/cmaketools.py:62 pisi/actionsapi/kde.py:65
+#: pisi/actionsapi/perlmodules.py:54 pisi/actionsapi/perlmodules.py:57
msgid "Configure failed."
msgstr ""
@@ -376,48 +376,55 @@ msgstr ""
msgid "No configure script found."
msgstr ""
-#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/kde.py:72
-#: pisi/actionsapi/perlmodules.py:63 pisi/actionsapi/perlmodules.py:72
-#: pisi/actionsapi/pythonmodules.py:49 pisi/actionsapi/scons.py:39
+#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/cmaketools.py:70
+#: pisi/actionsapi/kde.py:72 pisi/actionsapi/perlmodules.py:63
+#: pisi/actionsapi/perlmodules.py:72 pisi/actionsapi/pythonmodules.py:49
+#: pisi/actionsapi/scons.py:39
msgid "Make failed."
msgstr ""
-#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:134
+#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:135
+#: pisi/actionsapi/cmaketools.py:100 pisi/actionsapi/cmaketools.py:110
#: pisi/actionsapi/kde.py:79 pisi/actionsapi/pythonmodules.py:54
#: pisi/actionsapi/scons.py:43
msgid "Install failed."
msgstr ""
-#: pisi/actionsapi/autotools.py:126 pisi/actionsapi/autotools.py:136
-#: pisi/actionsapi/kde.py:81
+#: pisi/actionsapi/autotools.py:128 pisi/actionsapi/autotools.py:139
+#: pisi/actionsapi/cmaketools.py:72 pisi/actionsapi/cmaketools.py:104
+#: pisi/actionsapi/cmaketools.py:114 pisi/actionsapi/kde.py:81
msgid "No Makefile found."
msgstr ""
-#: pisi/actionsapi/autotools.py:143
+#: pisi/actionsapi/autotools.py:144
msgid "Running aclocal failed."
msgstr ""
-#: pisi/actionsapi/autotools.py:148
+#: pisi/actionsapi/autotools.py:149
msgid "Running autoconf failed."
msgstr ""
-#: pisi/actionsapi/autotools.py:153
+#: pisi/actionsapi/autotools.py:154
msgid "Running autoreconf failed."
msgstr ""
-#: pisi/actionsapi/autotools.py:158
+#: pisi/actionsapi/autotools.py:159
msgid "Running automake failed."
msgstr ""
-#: pisi/actionsapi/autotools.py:163
+#: pisi/actionsapi/autotools.py:164
msgid "Running autoheader failed."
msgstr ""
-#: pisi/actionsapi/get.py:163
+#: pisi/actionsapi/cmaketools.py:64
+msgid "No configure script found for cmake."
+msgstr ""
+
+#: pisi/actionsapi/get.py:160
msgid "Util %s cannot be found"
msgstr ""
-#: pisi/actionsapi/get.py:165
+#: pisi/actionsapi/get.py:162
msgid "Warning: %s does not exist, using plain name %s"
msgstr ""
@@ -546,542 +553,554 @@ msgstr ""
msgid "ActionsAPI [touch]: Permission denied: %s"
msgstr ""
-#: pisi/api.py:302 pisi/comariface.py:30
+#: pisi/api.py:299 pisi/comariface.py:30
msgid "comar package is not fully installed"
msgstr ""
-#: pisi/api.py:314
+#: pisi/api.py:311
msgid "File %s not found"
msgstr ""
-#: pisi/api.py:375
+#: pisi/api.py:366
msgid "Checking /%s "
msgstr ""
-#: pisi/api.py:379
+#: pisi/api.py:370
msgid ""
"\n"
"Corrupt file: %s"
msgstr ""
-#: pisi/api.py:381 pisi/cli/commands.py:966
+#: pisi/api.py:372 pisi/cli/commands.py:1046
msgid "OK"
msgstr ""
-#: pisi/api.py:394
+#: pisi/api.py:385
msgid "* Building index of PiSi files under %s"
msgstr ""
-#: pisi/api.py:401
+#: pisi/api.py:392
msgid "* Index file written"
msgstr ""
-#: pisi/api.py:405
+#: pisi/api.py:396
msgid "Repo %s already present."
msgstr ""
-#: pisi/api.py:409
+#: pisi/api.py:400
msgid "Repo %s added to system."
msgstr ""
-#: pisi/api.py:415
+#: pisi/api.py:406
msgid "Repo %s removed from system."
msgstr ""
-#: pisi/api.py:417
+#: pisi/api.py:408
msgid "Repository %s does not exist. Cannot remove."
msgstr ""
-#: pisi/api.py:424
+#: pisi/api.py:415
msgid "* Updating repository: %s"
msgstr ""
-#: pisi/api.py:432
+#: pisi/api.py:423
msgid "No updates available for repository %s."
msgstr ""
-#: pisi/api.py:434
+#: pisi/api.py:425
msgid "Updating database at any rate as requested"
msgstr ""
-#: pisi/api.py:445
+#: pisi/api.py:436
msgid "* Package database updated."
msgstr ""
-#: pisi/api.py:447 pisi/api.py:472
+#: pisi/api.py:438 pisi/api.py:463
msgid "No repository named %s found."
msgstr ""
-#: pisi/api.py:455
+#: pisi/api.py:446
msgid "* Rebuilding '%s' named repo... "
msgstr ""
-#: pisi/api.py:468
+#: pisi/api.py:459
msgid "Input/Output error while reading %s: %s"
msgstr ""
-#: pisi/api.py:525
+#: pisi/api.py:516
msgid "Rebuilding package database"
msgstr ""
-#: pisi/archive.py:36
+#: pisi/archive.py:37
msgid ""
"An error has occured while running LZMA:\n"
"%s"
msgstr ""
-#: pisi/archive.py:101 pisi/archive.py:161
+#: pisi/archive.py:123 pisi/archive.py:183
msgid "Archive type not recognized"
msgstr ""
-#: pisi/atomicoperations.py:66
+#: pisi/atomicoperations.py:65
msgid "Package %s found in repository %s"
msgstr ""
-#: pisi/atomicoperations.py:78
+#: pisi/atomicoperations.py:88
msgid "Package URI: %s"
msgstr ""
-#: pisi/atomicoperations.py:82
+#: pisi/atomicoperations.py:92
msgid "Package %s not found in any active repository."
msgstr ""
-#: pisi/atomicoperations.py:101
+#: pisi/atomicoperations.py:111
msgid "Installing %s, version %s, release %s, build %s"
msgstr ""
-#: pisi/atomicoperations.py:146
+#: pisi/atomicoperations.py:156
msgid "%s package cannot be installed unless the dependencies are satisfied"
msgstr ""
-#: pisi/atomicoperations.py:165
+#: pisi/atomicoperations.py:185
msgid ""
"/%s from %s package\n"
msgstr ""
-#: pisi/atomicoperations.py:166
+#: pisi/atomicoperations.py:186
msgid ""
"File conflicts:\n"
"%s"
msgstr ""
-#: pisi/atomicoperations.py:201
+#: pisi/atomicoperations.py:221
msgid "Re-install same version package?"
msgstr ""
-#: pisi/atomicoperations.py:202
+#: pisi/atomicoperations.py:222
msgid "Package re-install declined"
msgstr ""
-#: pisi/atomicoperations.py:208
+#: pisi/atomicoperations.py:228
msgid "Upgrading to new upstream version"
msgstr ""
-#: pisi/atomicoperations.py:211
+#: pisi/atomicoperations.py:231
msgid "Upgrading to new distribution release"
msgstr ""
-#: pisi/atomicoperations.py:215
+#: pisi/atomicoperations.py:235
msgid "Upgrading to new distribution build"
msgstr ""
-#: pisi/atomicoperations.py:225
+#: pisi/atomicoperations.py:245
msgid "Downgrade to old distribution release?"
msgstr ""
-#: pisi/atomicoperations.py:227
+#: pisi/atomicoperations.py:247
msgid "Downgrade to old distribution build?"
msgstr ""
-#: pisi/atomicoperations.py:229
+#: pisi/atomicoperations.py:249
msgid "Package downgrade declined"
msgstr ""
-#: pisi/atomicoperations.py:253
+#: pisi/atomicoperations.py:273
msgid "%s configuration failed."
msgstr ""
-#: pisi/atomicoperations.py:340
+#: pisi/atomicoperations.py:396
msgid "Storing %s, "
msgstr ""
-#: pisi/atomicoperations.py:343
+#: pisi/atomicoperations.py:399
msgid "Storing %s."
msgstr ""
-#: pisi/atomicoperations.py:350
+#: pisi/atomicoperations.py:406
msgid "Storing %s"
msgstr ""
-#: pisi/atomicoperations.py:406
+#: pisi/atomicoperations.py:462
msgid "File list could not be read for package %s, continuing removal."
msgstr ""
-#: pisi/atomicoperations.py:412
+#: pisi/atomicoperations.py:468
msgid "Removing package %s"
msgstr ""
-#: pisi/atomicoperations.py:415
+#: pisi/atomicoperations.py:471
msgid "Trying to remove nonexistent package "
msgstr ""
-#: pisi/atomicoperations.py:454
+#: pisi/atomicoperations.py:510
msgid "Not removing conflicted file : %s"
msgstr ""
-#: pisi/atomicoperations.py:474
+#: pisi/atomicoperations.py:530
msgid "Installed file %s is not exists on system [Probably you manually deleted]"
msgstr ""
-#: pisi/atomicoperations.py:535
+#: pisi/atomicoperations.py:590
msgid "Metadata XML '%s' cannot be found"
msgstr ""
-#: pisi/atomicoperations.py:543
+#: pisi/atomicoperations.py:598
msgid "MetaData format wrong (%s)"
msgstr ""
-#: pisi/atomicoperations.py:545
+#: pisi/atomicoperations.py:600
msgid "* Adding '%s' to db... "
msgstr ""
-#: pisi/atomicoperations.py:551
+#: pisi/atomicoperations.py:606
msgid "Files XML '%s' cannot be found"
msgstr ""
-#: pisi/atomicoperations.py:556 pisi/package.py:136
+#: pisi/atomicoperations.py:611 pisi/package.py:141
msgid "Invalid %s"
msgstr ""
-#: pisi/atomicoperations.py:565
+#: pisi/atomicoperations.py:620
msgid "OK."
msgstr ""
-#: pisi/build.py:88
+#: pisi/build.py:85
msgid "Path %s belongs in multiple packages"
msgstr ""
-#: pisi/build.py:114
+#: pisi/build.py:111
msgid "Source URI: %s"
msgstr ""
-#: pisi/build.py:118
+#: pisi/build.py:115
msgid "Source %s not found in any active repository."
msgstr ""
-#: pisi/build.py:183
+#: pisi/build.py:185
msgid "Building PiSi source package: %s"
msgstr ""
-#: pisi/build.py:229
+#: pisi/build.py:230
msgid "IceCream detected. Make sure your daemon is up and running..."
msgstr ""
-#: pisi/build.py:234
+#: pisi/build.py:235
msgid "CCache detected..."
msgstr ""
-#: pisi/build.py:287
+#: pisi/build.py:297
msgid "PartOf tag not defined, looking for component"
msgstr ""
-#: pisi/build.py:297
+#: pisi/build.py:307
msgid "Cannot find component.xml in upper directory"
msgstr ""
-#: pisi/build.py:301
+#: pisi/build.py:311
msgid "Source is part of %s component"
msgstr ""
-#: pisi/build.py:305
+#: pisi/build.py:315
msgid "Fetching source from: %s"
msgstr ""
-#: pisi/build.py:307
+#: pisi/build.py:317
msgid "Source archive is stored: %s/%s"
msgstr ""
-#: pisi/build.py:311
+#: pisi/build.py:321
msgid "Unpacking archive..."
msgstr ""
-#: pisi/build.py:313
+#: pisi/build.py:325
msgid " unpacked (%s)"
msgstr ""
-#: pisi/build.py:318
+#: pisi/build.py:330
msgid "Setting up source..."
msgstr ""
-#: pisi/build.py:323
+#: pisi/build.py:335
msgid "Building source..."
msgstr ""
-#: pisi/build.py:328
+#: pisi/build.py:340
+msgid "Testing package..."
+msgstr ""
+
+#: pisi/build.py:344
msgid "Installing..."
msgstr ""
-#: pisi/build.py:370
+#: pisi/build.py:386
msgid "Unable to read Actions Script (%s): %s"
msgstr ""
-#: pisi/build.py:372
+#: pisi/build.py:388
msgid "SyntaxError in Actions Script (%s): %s"
msgstr ""
-#: pisi/build.py:389
+#: pisi/build.py:405
msgid "Unable to read COMAR script (%s): %s"
msgstr ""
-#: pisi/build.py:391
+#: pisi/build.py:407
msgid "SyntaxError in COMAR file (%s): %s"
msgstr ""
-#: pisi/build.py:417
-msgid "unable to call function from actions: %s"
-msgstr ""
-
-#: pisi/build.py:433
-msgid "Safety switch: following extra packages in system.devel will be installed: "
-msgstr ""
-
-#: pisi/build.py:438
-msgid "Safety switch: system.devel is already installed"
-msgstr ""
-
-#: pisi/build.py:440
-msgid "Safety switch: the component system.devel cannot be found"
-msgstr ""
-
-#: pisi/build.py:449
-msgid "Unsatisfied Build Dependencies:"
+#: pisi/build.py:419
+msgid "Sandbox violation: %s (%s -> %s)"
msgstr ""
#: pisi/build.py:453
+msgid "Sandbox violations!"
+msgstr ""
+
+#: pisi/build.py:456
+msgid "unable to call function from actions: %s"
+msgstr ""
+
+#: pisi/build.py:473
+msgid "Safety switch: following extra packages in system.devel will be installed: "
+msgstr ""
+
+#: pisi/build.py:478
+msgid "Safety switch: system.devel is already installed"
+msgstr ""
+
+#: pisi/build.py:480
+msgid "Safety switch: the component system.devel cannot be found"
+msgstr ""
+
+#: pisi/build.py:489
+msgid "Unsatisfied Build Dependencies:"
+msgstr ""
+
+#: pisi/build.py:493
msgid "Cannot build package due to unsatisfied build dependencies"
msgstr ""
-#: pisi/build.py:461
+#: pisi/build.py:501
msgid "Build dependency %s cannot be satisfied"
msgstr ""
-#: pisi/build.py:463
+#: pisi/build.py:503
msgid "Do you want to install the unsatisfied build dependencies"
msgstr ""
-#: pisi/build.py:464
+#: pisi/build.py:504
msgid "Installing build dependencies."
msgstr ""
-#: pisi/build.py:469
+#: pisi/build.py:509
msgid "Ignoring build dependencies."
msgstr ""
-#: pisi/build.py:479
+#: pisi/build.py:519
msgid ""
"Patch file is missing: %s\n"
msgstr ""
-#: pisi/build.py:492
+#: pisi/build.py:532
msgid "* Applying patch: %s"
msgstr ""
-#: pisi/build.py:550
+#: pisi/build.py:592
msgid "Stripping files.."
msgstr ""
-#: pisi/build.py:656
+#: pisi/build.py:692
msgid "(found old version %s)"
msgstr ""
-#: pisi/build.py:658
+#: pisi/build.py:694
msgid "Skipping %s with wrong pkg name "
msgstr ""
-#: pisi/build.py:679
+#: pisi/build.py:715
msgid "(no previous build found, setting build no to 1.)"
msgstr ""
-#: pisi/build.py:724
+#: pisi/build.py:760
msgid "(old package lacks a build no, setting build no to 1.)"
msgstr ""
-#: pisi/build.py:727
+#: pisi/build.py:763
msgid "There are changes, incrementing build no to %d"
msgstr ""
-#: pisi/build.py:730
+#: pisi/build.py:766
msgid "There is no change from previous build %d"
msgstr ""
-#: pisi/build.py:795
+#: pisi/build.py:831
msgid "No user named '%s' found on the system"
msgstr ""
-#: pisi/build.py:800
+#: pisi/build.py:836
msgid "No group named '%s' found on the system"
msgstr ""
-#: pisi/build.py:803
+#: pisi/build.py:839
msgid "** Building package %s"
msgstr ""
-#: pisi/build.py:805 pisi/build.py:808
+#: pisi/build.py:841 pisi/build.py:844
msgid "Generating %s,"
msgstr ""
-#: pisi/build.py:814
+#: pisi/build.py:850
msgid "Build number is not available. For repo builds you must enable buildno in pisi.conf."
msgstr ""
-#: pisi/build.py:832
+#: pisi/build.py:868
msgid "Creating PiSi package %s."
msgstr ""
-#: pisi/build.py:877
+#: pisi/build.py:913 pisi/delta.py:93
msgid "Done."
msgstr ""
-#: pisi/build.py:883
+#: pisi/build.py:919
msgid "Abandoned files under the install dir (%s):"
msgstr ""
-#: pisi/build.py:887
+#: pisi/build.py:923
msgid "All of the files under the install dir (%s) has been collected by package(s)"
msgstr ""
-#: pisi/build.py:891
+#: pisi/build.py:927
msgid "Cleaning Build Directory..."
msgstr ""
-#: pisi/build.py:894
+#: pisi/build.py:930
msgid "Keeping Build Directory"
msgstr ""
-#: pisi/cli/__init__.py:79
+#: pisi/cli/__init__.py:76
msgid "Warning: "
msgstr ""
-#: pisi/cli/__init__.py:88
+#: pisi/cli/__init__.py:85
msgid "Error: "
msgstr ""
-#: pisi/cli/__init__.py:120
+#: pisi/cli/__init__.py:117
msgid " (yes/no)"
msgstr ""
-#: pisi/cli/__init__.py:141
+#: pisi/cli/__init__.py:138
msgid ""
" [complete]\n"
msgstr ""
-#: pisi/cli/__init__.py:151
+#: pisi/cli/__init__.py:148
msgid "Installed %s"
msgstr ""
-#: pisi/cli/__init__.py:153
+#: pisi/cli/__init__.py:150
msgid "Removed %s"
msgstr ""
-#: pisi/cli/__init__.py:155
+#: pisi/cli/__init__.py:152
msgid "Upgraded %s"
msgstr ""
-#: pisi/cli/__init__.py:157
+#: pisi/cli/__init__.py:154
msgid "Configured %s"
msgstr ""
-#: pisi/cli/__init__.py:159
+#: pisi/cli/__init__.py:156
msgid "Extracting the files of %s"
msgstr ""
-#: pisi/cli/commands.py:94
+#: pisi/cli/commands.py:92
#, docstring
msgid "generic help string for any command"
msgstr ""
-#: pisi/cli/commands.py:123 pisi/cli/pisicli.py:104
+#: pisi/cli/commands.py:121 pisi/cli/pisicli.py:101
msgid "Unrecognized command: %s"
msgstr ""
-#: pisi/cli/commands.py:145
+#: pisi/cli/commands.py:143
#, docstring
msgid "common options"
msgstr ""
-#: pisi/cli/commands.py:148
+#: pisi/cli/commands.py:146
msgid "general options"
msgstr ""
-#: pisi/cli/commands.py:151
+#: pisi/cli/commands.py:149
msgid "Change the system root for PiSi commands"
msgstr ""
-#: pisi/cli/commands.py:153
+#: pisi/cli/commands.py:151
msgid "Assume yes in all yes/no queries"
msgstr ""
-#: pisi/cli/commands.py:158
+#: pisi/cli/commands.py:156
msgid "Detailed output"
msgstr ""
-#: pisi/cli/commands.py:160
+#: pisi/cli/commands.py:158
msgid "Show debugging information"
msgstr ""
-#: pisi/cli/commands.py:162
+#: pisi/cli/commands.py:160
msgid "Suppresses all coloring of PiSi's output"
msgstr ""
-#: pisi/cli/commands.py:169
+#: pisi/cli/commands.py:167
#, docstring
msgid ""
"This is a fall back function. If the implementer module provides an\n"
" options function it will be called"
msgstr ""
-#: pisi/cli/commands.py:181
+#: pisi/cli/commands.py:179
msgid ""
"Destination directory %s does not exist. Creating directory.\n"
msgstr ""
-#: pisi/cli/commands.py:203
+#: pisi/cli/commands.py:201
msgid "Password: "
msgstr ""
-#: pisi/cli/commands.py:209
+#: pisi/cli/commands.py:207
#, docstring
msgid "initialize PiSi components"
msgstr ""
-#: pisi/cli/commands.py:217
+#: pisi/cli/commands.py:215
#, docstring
msgid "do cleanup work for PiSi components"
msgstr ""
-#: pisi/cli/commands.py:231
+#: pisi/cli/commands.py:229
#, docstring
msgid "print help for the command"
msgstr ""
-#: pisi/cli/commands.py:237
+#: pisi/cli/commands.py:235
#, docstring
msgid "exit program"
msgstr ""
-#: pisi/cli/commands.py:239
+#: pisi/cli/commands.py:237
msgid "Command terminated abnormally."
msgstr ""
-#: pisi/cli/commands.py:249
+#: pisi/cli/commands.py:247
msgid "Command lacks name"
msgstr ""
-#: pisi/cli/commands.py:253
+#: pisi/cli/commands.py:251
msgid "Duplicate command %s"
msgstr ""
-#: pisi/cli/commands.py:262
+#: pisi/cli/commands.py:260
#, docstring
msgid ""
"Prints help for given commands\n"
@@ -1091,7 +1110,7 @@ msgid ""
"If run without parameters, it prints the general help."
msgstr ""
-#: pisi/cli/commands.py:296
+#: pisi/cli/commands.py:294
#, docstring
msgid ""
"Clean stale locks\n"
@@ -1102,7 +1121,7 @@ msgid ""
"This command deletes unused locks from the database directory."
msgstr ""
-#: pisi/cli/commands.py:315
+#: pisi/cli/commands.py:313
#, docstring
msgid ""
"Delete cache files\n"
@@ -1114,7 +1133,7 @@ msgid ""
"consume a lot of disk space."
msgstr ""
-#: pisi/cli/commands.py:336
+#: pisi/cli/commands.py:334
#, docstring
msgid ""
"Graph package relations\n"
@@ -1127,47 +1146,47 @@ msgid ""
"the package in graphviz format to 'pgraph.dot'.\n"
msgstr ""
-#: pisi/cli/commands.py:353
+#: pisi/cli/commands.py:351
msgid "graph options"
msgstr ""
-#: pisi/cli/commands.py:357
+#: pisi/cli/commands.py:355
msgid "Specify a particular repository"
msgstr ""
-#: pisi/cli/commands.py:360
+#: pisi/cli/commands.py:358
msgid "Graph of installed packages"
msgstr ""
-#: pisi/cli/commands.py:363
+#: pisi/cli/commands.py:361
msgid "Do not show installed packages"
msgstr ""
-#: pisi/cli/commands.py:366
+#: pisi/cli/commands.py:364
msgid "Dot output file"
msgstr ""
-#: pisi/cli/commands.py:377
+#: pisi/cli/commands.py:375
msgid "Plotting packages in repository %s"
msgstr ""
-#: pisi/cli/commands.py:383
+#: pisi/cli/commands.py:381
msgid "Plotting a graph of relations among all repository packages"
msgstr ""
-#: pisi/cli/commands.py:390
+#: pisi/cli/commands.py:388
msgid "Plotting a graph of relations among all installed packages"
msgstr ""
-#: pisi/cli/commands.py:402
+#: pisi/cli/commands.py:400
msgid "Do not take build no into account."
msgstr ""
-#: pisi/cli/commands.py:407
+#: pisi/cli/commands.py:405
msgid "Do not take dependency information into account"
msgstr ""
-#: pisi/cli/commands.py:411
+#: pisi/cli/commands.py:409
#, docstring
msgid ""
"Build PiSi packages\n"
@@ -1181,75 +1200,107 @@ msgid ""
"to be downloaded from a repository containing sources.\n"
msgstr ""
-#: pisi/cli/commands.py:433
+#: pisi/cli/commands.py:432
msgid "build options"
msgstr ""
-#: pisi/cli/commands.py:441
+#: pisi/cli/commands.py:440 pisi/cli/commands.py:527
msgid "Output directory for produced packages"
msgstr ""
-#: pisi/cli/commands.py:444
+#: pisi/cli/commands.py:443
msgid "Bypass errors from ActionsAPI"
msgstr ""
-#: pisi/cli/commands.py:446 pisi/cli/commands.py:554
+#: pisi/cli/commands.py:445 pisi/cli/commands.py:610
msgid "Bypass safety switch"
msgstr ""
-#: pisi/cli/commands.py:448
+#: pisi/cli/commands.py:447
+msgid "Bypass testing step"
+msgstr ""
+
+#: pisi/cli/commands.py:449
msgid "Create a static package with ar files"
msgstr ""
-#: pisi/cli/commands.py:450
+#: pisi/cli/commands.py:451
msgid "Do not install build dependencies, fail if a build dependency is present"
msgstr ""
-#: pisi/cli/commands.py:452
+#: pisi/cli/commands.py:453
msgid "PiSi binary package formats: '1.0', '1.1' (default)"
msgstr ""
#: pisi/cli/commands.py:455
-msgid "build steps"
+msgid "Use quilt patch management system instead of GNU patch"
msgstr ""
#: pisi/cli/commands.py:457
+msgid "Do not constrain build process inside the build folder"
+msgstr ""
+
+#: pisi/cli/commands.py:460
+msgid "build steps"
+msgstr ""
+
+#: pisi/cli/commands.py:462
msgid "Break build after fetching the source archive"
msgstr ""
-#: pisi/cli/commands.py:459
+#: pisi/cli/commands.py:464
msgid "Break build after unpacking the source archive, checking sha1sum and applying patches"
msgstr ""
-#: pisi/cli/commands.py:461
+#: pisi/cli/commands.py:466
msgid "Break build after running configure step"
msgstr ""
-#: pisi/cli/commands.py:463
+#: pisi/cli/commands.py:468
msgid "Break build after running compile step"
msgstr ""
-#: pisi/cli/commands.py:465
+#: pisi/cli/commands.py:470
+msgid "Break build after running check step"
+msgstr ""
+
+#: pisi/cli/commands.py:472
msgid "Break build after running install step"
msgstr ""
-#: pisi/cli/commands.py:467
+#: pisi/cli/commands.py:474
msgid "create PiSi package"
msgstr ""
-#: pisi/cli/commands.py:481
+#: pisi/cli/commands.py:488
msgid "package_format must be one of %s "
msgstr ""
-#: pisi/cli/commands.py:484 pisi/cli/commands.py:533
+#: pisi/cli/commands.py:491 pisi/cli/commands.py:540 pisi/cli/commands.py:589
msgid "Output directory: %s"
msgstr ""
-#: pisi/cli/commands.py:486
+#: pisi/cli/commands.py:493 pisi/cli/commands.py:542
msgid "Outputting packages in the working directory."
msgstr ""
-#: pisi/cli/commands.py:497
+#: pisi/cli/commands.py:504
+#, docstring
+msgid ""
+"Creates delta PiSi packages\n"
+"\n"
+"Usage: delta oldpackage newpackage\n"
+"\n"
+"Delta command finds the changed files between the given packages by comparing the sha1sum of the files\n"
+"and creates a delta pisi package with the changed files between two releases.\n"
+"\n"
+msgstr ""
+
+#: pisi/cli/commands.py:521
+msgid "delta options"
+msgstr ""
+
+#: pisi/cli/commands.py:553
#, docstring
msgid ""
"Build and install PiSi source packages from repository\n"
@@ -1262,36 +1313,36 @@ msgid ""
"You can also give the name of a component.\n"
msgstr ""
-#: pisi/cli/commands.py:516
+#: pisi/cli/commands.py:572
msgid "emerge options"
msgstr ""
-#: pisi/cli/commands.py:519 pisi/cli/commands.py:592 pisi/cli/commands.py:656
+#: pisi/cli/commands.py:575 pisi/cli/commands.py:648 pisi/cli/commands.py:716
msgid "Ignore file conflicts"
msgstr ""
-#: pisi/cli/commands.py:521 pisi/cli/commands.py:594 pisi/cli/commands.py:658
+#: pisi/cli/commands.py:577 pisi/cli/commands.py:650 pisi/cli/commands.py:718
msgid "Ignore package conflicts"
msgstr ""
-#: pisi/cli/commands.py:523 pisi/cli/commands.py:552
+#: pisi/cli/commands.py:579 pisi/cli/commands.py:608
msgid "Bypass comar configuration agent"
msgstr ""
-#: pisi/cli/commands.py:535
+#: pisi/cli/commands.py:591
msgid "Outputting binary packages in the package cache."
msgstr ""
-#: pisi/cli/commands.py:543
+#: pisi/cli/commands.py:599
#, docstring
msgid "Abstract package operation command"
msgstr ""
-#: pisi/cli/commands.py:556
+#: pisi/cli/commands.py:612
msgid "Do not perform any action, just show what would be done"
msgstr ""
-#: pisi/cli/commands.py:567
+#: pisi/cli/commands.py:623
#, docstring
msgid ""
"Install PiSi packages\n"
@@ -1305,23 +1356,23 @@ msgid ""
"expanded to package names.\n"
msgstr ""
-#: pisi/cli/commands.py:585
+#: pisi/cli/commands.py:641
msgid "install options"
msgstr ""
-#: pisi/cli/commands.py:590
+#: pisi/cli/commands.py:646
msgid "Reinstall already installed packages"
msgstr ""
-#: pisi/cli/commands.py:596
+#: pisi/cli/commands.py:652
msgid "Install component's and recursive components' packages"
msgstr ""
-#: pisi/cli/commands.py:598 pisi/cli/commands.py:662
+#: pisi/cli/commands.py:654 pisi/cli/commands.py:722
msgid "Fetch upgrades but do not install."
msgstr ""
-#: pisi/cli/commands.py:621
+#: pisi/cli/commands.py:681
#, docstring
msgid ""
"Upgrade PiSi packages\n"
@@ -1342,39 +1393,39 @@ msgid ""
"expanded to package names.\n"
msgstr ""
-#: pisi/cli/commands.py:647
+#: pisi/cli/commands.py:707
msgid "upgrade options"
msgstr ""
-#: pisi/cli/commands.py:652
+#: pisi/cli/commands.py:712
msgid "Security related package upgrades only"
msgstr ""
-#: pisi/cli/commands.py:654
+#: pisi/cli/commands.py:714
msgid "Do not update repositories"
msgstr ""
-#: pisi/cli/commands.py:660
+#: pisi/cli/commands.py:720
msgid "Upgrade component's and recursive components' packages"
msgstr ""
-#: pisi/cli/commands.py:664
+#: pisi/cli/commands.py:724
msgid "When upgrading system, ignore packages and components whose basenames match pattern."
msgstr ""
-#: pisi/cli/commands.py:666
+#: pisi/cli/commands.py:726
msgid "When upgrading system, ignore packages and components whose basenames match any pattern contained in file."
msgstr ""
-#: pisi/cli/commands.py:706
+#: pisi/cli/commands.py:770
msgid "Updating repositories"
msgstr ""
-#: pisi/cli/commands.py:711
+#: pisi/cli/commands.py:775
msgid "Will not update repositories"
msgstr ""
-#: pisi/cli/commands.py:733
+#: pisi/cli/commands.py:800
#, docstring
msgid ""
"Remove PiSi packages\n"
@@ -1387,15 +1438,15 @@ msgid ""
"expanded to package names.\n"
msgstr ""
-#: pisi/cli/commands.py:750
+#: pisi/cli/commands.py:817
msgid "remove options"
msgstr ""
-#: pisi/cli/commands.py:753
+#: pisi/cli/commands.py:820
msgid "Remove component's and recursive components' packages"
msgstr ""
-#: pisi/cli/commands.py:775
+#: pisi/cli/commands.py:842
#, docstring
msgid ""
"Configure pending packages\n"
@@ -1406,11 +1457,11 @@ msgid ""
"configures those packages.\n"
msgstr ""
-#: pisi/cli/commands.py:791
+#: pisi/cli/commands.py:858
msgid "configure-pending options"
msgstr ""
-#: pisi/cli/commands.py:803
+#: pisi/cli/commands.py:870
#, docstring
msgid ""
"Display package information\n"
@@ -1420,73 +1471,73 @@ msgid ""
" is either a package name or a .pisi file,\n"
msgstr ""
-#: pisi/cli/commands.py:818
+#: pisi/cli/commands.py:885
msgid "info options"
msgstr ""
-#: pisi/cli/commands.py:825
+#: pisi/cli/commands.py:892
msgid "Show a list of package files."
msgstr ""
-#: pisi/cli/commands.py:827
+#: pisi/cli/commands.py:894
msgid "Info about the given component"
msgstr ""
-#: pisi/cli/commands.py:830
+#: pisi/cli/commands.py:897
msgid "Show only paths."
msgstr ""
-#: pisi/cli/commands.py:832
+#: pisi/cli/commands.py:899
msgid "Do not show details"
msgstr ""
-#: pisi/cli/commands.py:834
+#: pisi/cli/commands.py:901
msgid "Output in xml format"
msgstr ""
-#: pisi/cli/commands.py:880
+#: pisi/cli/commands.py:947
msgid "Package file: %s"
msgstr ""
-#: pisi/cli/commands.py:886
+#: pisi/cli/commands.py:953
msgid "[inst] "
msgstr ""
-#: pisi/cli/commands.py:888
+#: pisi/cli/commands.py:955
msgid "Installed package:"
msgstr ""
-#: pisi/cli/commands.py:894
+#: pisi/cli/commands.py:961
msgid "[repo] "
msgstr ""
-#: pisi/cli/commands.py:896
-msgid "Package found in repository:"
+#: pisi/cli/commands.py:963
+msgid "Package found in %s repository:"
msgstr ""
-#: pisi/cli/commands.py:900
+#: pisi/cli/commands.py:967
msgid "%s is not found in repositories"
msgstr ""
-#: pisi/cli/commands.py:903
+#: pisi/cli/commands.py:970
msgid "%s is not installed"
msgstr ""
-#: pisi/cli/commands.py:916
+#: pisi/cli/commands.py:981
msgid "Reverse Dependencies:"
msgstr ""
-#: pisi/cli/commands.py:919
+#: pisi/cli/commands.py:984
msgid ""
"\n"
"Files:"
msgstr ""
-#: pisi/cli/commands.py:927
+#: pisi/cli/commands.py:992
msgid "File information not available"
msgstr ""
-#: pisi/cli/commands.py:933
+#: pisi/cli/commands.py:998
#, docstring
msgid ""
"Verify installation\n"
@@ -1502,25 +1553,33 @@ msgid ""
"If no packages are given, checks all installed packages.\n"
msgstr ""
-#: pisi/cli/commands.py:957
+#: pisi/cli/commands.py:1018
+msgid "check options"
+msgstr ""
+
+#: pisi/cli/commands.py:1020
+msgid "Check installed packages under given component"
+msgstr ""
+
+#: pisi/cli/commands.py:1036
msgid "Checking all installed packages"
msgstr ""
-#: pisi/cli/commands.py:960
+#: pisi/cli/commands.py:1040
msgid "* Checking %s... "
msgstr ""
-#: pisi/cli/commands.py:964
+#: pisi/cli/commands.py:1044
msgid ""
"\n"
"Package %s is corrupt."
msgstr ""
-#: pisi/cli/commands.py:968
+#: pisi/cli/commands.py:1048
msgid "Package %s not installed"
msgstr ""
-#: pisi/cli/commands.py:973
+#: pisi/cli/commands.py:1053
#, docstring
msgid ""
"Index PiSi files in a given directory\n"
@@ -1536,31 +1595,31 @@ msgid ""
"everything in a single index file.\n"
msgstr ""
-#: pisi/cli/commands.py:994
+#: pisi/cli/commands.py:1074
msgid "index options"
msgstr ""
-#: pisi/cli/commands.py:998
+#: pisi/cli/commands.py:1078
msgid "Store absolute links for indexed files."
msgstr ""
-#: pisi/cli/commands.py:1001
+#: pisi/cli/commands.py:1081
msgid "Index output file"
msgstr ""
-#: pisi/cli/commands.py:1004
+#: pisi/cli/commands.py:1084
msgid "Do not index PiSi spec files."
msgstr ""
-#: pisi/cli/commands.py:1007
+#: pisi/cli/commands.py:1087
msgid "Do not sign index."
msgstr ""
-#: pisi/cli/commands.py:1020
+#: pisi/cli/commands.py:1100
msgid "Indexing current directory."
msgstr ""
-#: pisi/cli/commands.py:1028
+#: pisi/cli/commands.py:1108
#, docstring
msgid ""
"Print the list of all installed packages\n"
@@ -1568,29 +1627,29 @@ msgid ""
"Usage: list-installed\n"
msgstr ""
-#: pisi/cli/commands.py:1042
+#: pisi/cli/commands.py:1122
msgid "list-installed options"
msgstr ""
-#: pisi/cli/commands.py:1045 pisi/cli/commands.py:1278
-#: pisi/cli/commands.py:1342 pisi/cli/commands.py:1381
-#: pisi/cli/commands.py:1421 pisi/cli/commands.py:1555
+#: pisi/cli/commands.py:1125 pisi/cli/commands.py:1358
+#: pisi/cli/commands.py:1422 pisi/cli/commands.py:1461
+#: pisi/cli/commands.py:1501 pisi/cli/commands.py:1625
msgid "Show in long format"
msgstr ""
-#: pisi/cli/commands.py:1047
+#: pisi/cli/commands.py:1127
msgid "List installed packages under given component"
msgstr ""
-#: pisi/cli/commands.py:1049 pisi/cli/commands.py:1425
+#: pisi/cli/commands.py:1129 pisi/cli/commands.py:1505
msgid "Show detailed install info"
msgstr ""
-#: pisi/cli/commands.py:1066 pisi/cli/commands.py:1444
+#: pisi/cli/commands.py:1146 pisi/cli/commands.py:1524
msgid "Package Name |St| Version| Rel.| Build| Distro| Date"
msgstr ""
-#: pisi/cli/commands.py:1081
+#: pisi/cli/commands.py:1161
#, docstring
msgid ""
"Rebuild Databases\n"
@@ -1603,19 +1662,19 @@ msgid ""
"dirs under /var/lib/pisi\n"
msgstr ""
-#: pisi/cli/commands.py:1099
+#: pisi/cli/commands.py:1179
msgid "rebuild-db options"
msgstr ""
-#: pisi/cli/commands.py:1102
+#: pisi/cli/commands.py:1182
msgid "Rebuild files database"
msgstr ""
-#: pisi/cli/commands.py:1113
+#: pisi/cli/commands.py:1193
msgid "Rebuild PiSi databases?"
msgstr ""
-#: pisi/cli/commands.py:1120
+#: pisi/cli/commands.py:1200
#, docstring
msgid ""
"Update repository databases\n"
@@ -1628,15 +1687,15 @@ msgid ""
"If no repository is given, all repositories are updated.\n"
msgstr ""
-#: pisi/cli/commands.py:1138
+#: pisi/cli/commands.py:1218
msgid "update-repo options"
msgstr ""
-#: pisi/cli/commands.py:1142
+#: pisi/cli/commands.py:1222
msgid "Update database in any case"
msgstr ""
-#: pisi/cli/commands.py:1160
+#: pisi/cli/commands.py:1240
#, docstring
msgid ""
"Add a repository\n"
@@ -1651,23 +1710,23 @@ msgid ""
"NB: We support only local files (e.g., /a/b/c) and http:// URIs at the moment\n"
msgstr ""
-#: pisi/cli/commands.py:1180
+#: pisi/cli/commands.py:1260
msgid "add-repo options"
msgstr ""
-#: pisi/cli/commands.py:1183
+#: pisi/cli/commands.py:1263
msgid "Add repository at given position (0 is first)"
msgstr ""
-#: pisi/cli/commands.py:1197
+#: pisi/cli/commands.py:1277
msgid "Update PiSi database for repository %s?"
msgstr ""
-#: pisi/cli/commands.py:1201
+#: pisi/cli/commands.py:1281
msgid "%s repository could not be reached. Removing %s from system."
msgstr ""
-#: pisi/cli/commands.py:1210
+#: pisi/cli/commands.py:1290
#, docstring
msgid ""
"Remove repositories\n"
@@ -1677,7 +1736,7 @@ msgid ""
"Remove all repository information from the system.\n"
msgstr ""
-#: pisi/cli/commands.py:1236
+#: pisi/cli/commands.py:1316
#, docstring
msgid ""
"List repositories\n"
@@ -1687,7 +1746,7 @@ msgid ""
"Lists currently tracked repositories.\n"
msgstr ""
-#: pisi/cli/commands.py:1259
+#: pisi/cli/commands.py:1339
#, docstring
msgid ""
"List available packages in the repositories\n"
@@ -1699,28 +1758,28 @@ msgid ""
"all repositories.\n"
msgstr ""
-#: pisi/cli/commands.py:1276
+#: pisi/cli/commands.py:1356
msgid "list-available options"
msgstr ""
-#: pisi/cli/commands.py:1280
+#: pisi/cli/commands.py:1360
msgid "List available packages under given component"
msgstr ""
-#: pisi/cli/commands.py:1282
+#: pisi/cli/commands.py:1362
msgid "Show uninstalled packages only"
msgstr ""
-#: pisi/cli/commands.py:1290
+#: pisi/cli/commands.py:1370
msgid "Installed packages are shown in this color"
msgstr ""
-#: pisi/cli/commands.py:1298
+#: pisi/cli/commands.py:1378
msgid ""
"Repository : %s\n"
msgstr ""
-#: pisi/cli/commands.py:1325
+#: pisi/cli/commands.py:1405
#, docstring
msgid ""
"List available components\n"
@@ -1731,11 +1790,11 @@ msgid ""
"repositories.\n"
msgstr ""
-#: pisi/cli/commands.py:1340
+#: pisi/cli/commands.py:1420
msgid "list-components options"
msgstr ""
-#: pisi/cli/commands.py:1365
+#: pisi/cli/commands.py:1445
#, docstring
msgid ""
"List available sources\n"
@@ -1745,11 +1804,11 @@ msgid ""
"Gives a brief list of sources published in the repositories.\n"
msgstr ""
-#: pisi/cli/commands.py:1379
+#: pisi/cli/commands.py:1459
msgid "list-sources options"
msgstr ""
-#: pisi/cli/commands.py:1404
+#: pisi/cli/commands.py:1484
#, docstring
msgid ""
"List packages to be upgraded\n"
@@ -1759,19 +1818,19 @@ msgid ""
"Lists the packages that will be upgraded.\n"
msgstr ""
-#: pisi/cli/commands.py:1418
+#: pisi/cli/commands.py:1498
msgid "list-upgrades options"
msgstr ""
-#: pisi/cli/commands.py:1423
+#: pisi/cli/commands.py:1503
msgid "List upgradable packages under given component"
msgstr ""
-#: pisi/cli/commands.py:1440 pisi/operations.py:466
+#: pisi/cli/commands.py:1520 pisi/operations.py:455
msgid "No packages to upgrade."
msgstr ""
-#: pisi/cli/commands.py:1460
+#: pisi/cli/commands.py:1540
#, docstring
msgid ""
"List pending packages\n"
@@ -1779,11 +1838,11 @@ msgid ""
"Lists packages waiting to be configured.\n"
msgstr ""
-#: pisi/cli/commands.py:1482
+#: pisi/cli/commands.py:1562
msgid "There are no packages waiting to be configured"
msgstr ""
-#: pisi/cli/commands.py:1487
+#: pisi/cli/commands.py:1567
#, docstring
msgid ""
"Search packages\n"
@@ -1794,23 +1853,19 @@ msgid ""
"in summary, description, and package name fields.\n"
msgstr ""
-#: pisi/cli/commands.py:1502
+#: pisi/cli/commands.py:1582
msgid "search options"
msgstr ""
-#: pisi/cli/commands.py:1505
-msgid "Set search language"
-msgstr ""
-
-#: pisi/cli/commands.py:1510
+#: pisi/cli/commands.py:1588
msgid "Show details"
msgstr ""
-#: pisi/cli/commands.py:1530
+#: pisi/cli/commands.py:1600
msgid "%s packages found"
msgstr ""
-#: pisi/cli/commands.py:1539
+#: pisi/cli/commands.py:1609
#, docstring
msgid ""
"Search for a file\n"
@@ -1820,35 +1875,35 @@ msgid ""
"Finds the installed package which contains the specified file.\n"
msgstr ""
-#: pisi/cli/commands.py:1553
+#: pisi/cli/commands.py:1623
msgid "search-file options"
msgstr ""
-#: pisi/cli/commands.py:1557
+#: pisi/cli/commands.py:1627
msgid "Fuzzy search"
msgstr ""
-#: pisi/cli/commands.py:1559
+#: pisi/cli/commands.py:1629
msgid "Show only package name"
msgstr ""
-#: pisi/cli/commands.py:1580
+#: pisi/cli/commands.py:1650
msgid "Package %s has file %s"
msgstr ""
-#: pisi/cli/commands.py:1582
+#: pisi/cli/commands.py:1652
msgid "Type: %s, Hash: %s"
msgstr ""
-#: pisi/cli/commands.py:1585
+#: pisi/cli/commands.py:1655
msgid "Path '%s' does not belong to an installed package"
msgstr ""
-#: pisi/cli/commands.py:1598
+#: pisi/cli/commands.py:1668
msgid "Searching for %s"
msgstr ""
-#: pisi/cli/commands.py:1608
+#: pisi/cli/commands.py:1678
msgid ""
"%prog [options] [arguments]\n"
"\n"
@@ -1856,21 +1911,21 @@ msgid ""
"\n"
msgstr ""
-#: pisi/cli/commands.py:1614
+#: pisi/cli/commands.py:1684
msgid ""
"\n"
"Use \"%prog help \" for help on a specific command.\n"
msgstr ""
-#: pisi/cli/pisicli.py:56
+#: pisi/cli/pisicli.py:53
msgid "Options must precede non-option arguments"
msgstr ""
-#: pisi/cli/pisicli.py:97
+#: pisi/cli/pisicli.py:94
msgid "No command given"
msgstr ""
-#: pisi/cli/pisicli.py:100
+#: pisi/cli/pisicli.py:97
msgid "Command line parsing error"
msgstr ""
@@ -1930,59 +1985,67 @@ msgstr ""
msgid "Unregistering comar scripts"
msgstr ""
-#: pisi/component.py:97 pisi/component.py:103
+#: pisi/component.py:105 pisi/component.py:111
msgid "Component %s not found"
msgstr ""
-#: pisi/component.py:199 pisi/component.py:225
+#: pisi/component.py:207 pisi/component.py:233
msgid "Information for component %s not available"
msgstr ""
-#: pisi/config.py:61
+#: pisi/config.py:60
msgid "Destination directory %s does not exist. Creating it."
msgstr ""
-#: pisi/configfile.py:105
+#: pisi/configfile.py:112
msgid "No section by name '%s'"
msgstr ""
-#: pisi/conflict.py:39 pisi/dependency.py:40
+#: pisi/conflict.py:26 pisi/replace.py:24
msgid " version >= "
msgstr ""
-#: pisi/conflict.py:41 pisi/dependency.py:42
+#: pisi/conflict.py:28 pisi/replace.py:26
msgid " version <= "
msgstr ""
-#: pisi/conflict.py:43 pisi/dependency.py:44
+#: pisi/conflict.py:30 pisi/replace.py:28
msgid " version "
msgstr ""
-#: pisi/conflict.py:45 pisi/dependency.py:46
+#: pisi/conflict.py:32 pisi/replace.py:30
msgid " release >= "
msgstr ""
-#: pisi/conflict.py:47 pisi/dependency.py:48
+#: pisi/conflict.py:34 pisi/replace.py:32
msgid " release <= "
msgstr ""
-#: pisi/conflict.py:49 pisi/dependency.py:50
+#: pisi/conflict.py:36 pisi/replace.py:34
msgid " release "
msgstr ""
-#: pisi/constants.py:30
+#: pisi/constants.py:28
msgid "Can't rebind constant: %s"
msgstr ""
-#: pisi/constants.py:36
+#: pisi/constants.py:34
msgid "Can't unbind constant: %s"
msgstr ""
-#: pisi/dependency.py:107
+#: pisi/delta.py:27
+msgid "Cannot create delta for same package!"
+msgstr ""
+
+#: pisi/delta.py:41
+msgid "Creating delta PiSi package between %s %s"
+msgstr ""
+
+#: pisi/dependency.py:55
msgid "%s dependency of package %s is not satisfied"
msgstr ""
-#: pisi/dependency.py:120
+#: pisi/dependency.py:68
msgid "Package %s is not present in the package database"
msgstr ""
@@ -2006,31 +2069,31 @@ msgstr ""
msgid "No such file or no permission to read"
msgstr ""
-#: pisi/fetcher.py:183
+#: pisi/fetcher.py:182
msgid "Requested range not satisfiable, starting again."
msgstr ""
-#: pisi/fetcher.py:190
+#: pisi/fetcher.py:189
msgid "Cannot fetch %s; value error: %s"
msgstr ""
-#: pisi/fetcher.py:192 pisi/fetcher.py:196
+#: pisi/fetcher.py:191 pisi/fetcher.py:195
msgid "Cannot fetch %s; %s"
msgstr ""
-#: pisi/fetcher.py:194
+#: pisi/fetcher.py:193
msgid "Please check your network connections and try again. (%s)"
msgstr ""
-#: pisi/fetcher.py:198
+#: pisi/fetcher.py:197
msgid "Cannot fetch %s; (%s): %s"
msgstr ""
-#: pisi/fetcher.py:244
+#: pisi/fetcher.py:243
msgid "Proxy configuration has been found for '%s' protocol"
msgstr ""
-#: pisi/fetcher.py:328 pisi/fetcher.py:349 pisi/fetcher.py:362
+#: pisi/fetcher.py:327 pisi/fetcher.py:348 pisi/fetcher.py:362
msgid "ftp error"
msgstr ""
@@ -2078,111 +2141,111 @@ msgstr ""
msgid "Encountered cycle %s"
msgstr ""
-#: pisi/index.py:92
-msgid "Adding %s to package index"
-msgstr ""
-
-#: pisi/index.py:95
+#: pisi/index.py:97
msgid "Adding %s to component index"
msgstr ""
-#: pisi/index.py:113
+#: pisi/index.py:109
+msgid "Adding %s to package index"
+msgstr ""
+
+#: pisi/index.py:123
msgid "Updating package database of %s"
msgstr ""
-#: pisi/index.py:141
+#: pisi/index.py:152
msgid "Package %s: metadata corrupt, skipping..."
msgstr ""
-#: pisi/index.py:169
+#: pisi/index.py:191
msgid "Adding %s to source index"
msgstr ""
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed"
msgstr ""
-#: pisi/installdb.py:58
+#: pisi/installdb.py:51
msgid "installed-pending"
msgstr ""
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "purged"
msgstr ""
-#: pisi/installdb.py:59
+#: pisi/installdb.py:52
msgid "removed"
msgstr ""
-#: pisi/installdb.py:62
+#: pisi/installdb.py:55
msgid ""
"State: %s\n"
"Version: %s, Release: %s, Build: %s\n"
msgstr ""
-#: pisi/installdb.py:67
+#: pisi/installdb.py:60
msgid ""
"Distribution: %s, Install Time: %s\n"
msgstr ""
-#: pisi/installdb.py:154
+#: pisi/installdb.py:147
msgid "Already installed"
msgstr ""
-#: pisi/itembyrepodb.py:120
+#: pisi/itembyrepodb.py:114
msgid "Invalid repository string"
msgstr ""
-#: pisi/itembyrepodb.py:142
+#: pisi/itembyrepodb.py:136
msgid "Key %s not found"
msgstr ""
-#: pisi/itembyrepodb.py:152
+#: pisi/itembyrepodb.py:146
msgid "Key %s in repo %s not found"
msgstr ""
-#: pisi/lockeddbshelve.py:47
+#: pisi/lockeddbshelve.py:46
msgid "Database version for %s insufficient. Please run rebuild-db command."
msgstr ""
-#: pisi/lockeddbshelve.py:51
+#: pisi/lockeddbshelve.py:50
msgid "Database version for %s greater than PiSi version. You need a newer PiSi."
msgstr ""
-#: pisi/lockeddbshelve.py:62
+#: pisi/lockeddbshelve.py:61
msgid "Cannot attain write access to database environment"
msgstr ""
-#: pisi/lockeddbshelve.py:64
+#: pisi/lockeddbshelve.py:63
msgid "Database version %s not present."
msgstr ""
-#: pisi/lockeddbshelve.py:71 pisi/lockeddbshelve.py:153
+#: pisi/lockeddbshelve.py:70 pisi/lockeddbshelve.py:152
msgid "Another instance of PiSi is running. Only one instance is allowed to modify the PiSi database at a time."
msgstr ""
-#: pisi/lockeddbshelve.py:81
+#: pisi/lockeddbshelve.py:80
msgid "Cannot attain read access to database environment"
msgstr ""
-#: pisi/lockeddbshelve.py:95
+#: pisi/lockeddbshelve.py:94
msgid "Cannot attain write access to PiSi database. You have to be root for this operation."
msgstr ""
-#: pisi/lockeddbshelve.py:113
+#: pisi/lockeddbshelve.py:112
msgid "Cannot attain read or write access to database %s"
msgstr ""
-#: pisi/lockeddbshelve.py:139
+#: pisi/lockeddbshelve.py:138
msgid "Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
msgstr ""
-#: pisi/metadata.py:58
+#: pisi/metadata.py:74
msgid ""
"Distribution: %s, Dist. Release: %s\n"
msgstr ""
-#: pisi/metadata.py:60
+#: pisi/metadata.py:76
msgid "Architecture: %s, Installed Size: %s"
msgstr ""
@@ -2190,164 +2253,180 @@ msgstr ""
msgid "Mirrors file %s does not exist. Could not resolve mirrors://"
msgstr ""
-#: pisi/operations.py:114
+#: pisi/operations.py:106
msgid "Mixing file names and package names not supported yet."
msgstr ""
-#: pisi/operations.py:156
+#: pisi/operations.py:148
msgid ""
"The following packages will be installed\n"
"in the respective order to satisfy extra dependencies:\n"
msgstr ""
-#: pisi/operations.py:159 pisi/operations.py:621
+#: pisi/operations.py:151 pisi/operations.py:618
msgid "Do you want to continue?"
msgstr ""
-#: pisi/operations.py:160
+#: pisi/operations.py:152
msgid "External dependencies not satisfied"
msgstr ""
-#: pisi/operations.py:172 pisi/operations.py:339
+#: pisi/operations.py:164 pisi/operations.py:316
msgid "No packages to install."
msgstr ""
-#: pisi/operations.py:203
+#: pisi/operations.py:195
msgid "Installation order: "
msgstr ""
-#: pisi/operations.py:257 pisi/operations.py:279
+#: pisi/operations.py:223
+msgid "Replaced package remains"
+msgstr ""
+
+#: pisi/operations.py:227 pisi/operations.py:255
msgid "Conflicts remain"
msgstr ""
-#: pisi/operations.py:267
+#: pisi/operations.py:233
+msgid "Obsoleted packages remaining"
+msgstr ""
+
+#: pisi/operations.py:243
msgid "Selected packages [%s] are in conflict with each other."
msgstr ""
-#: pisi/operations.py:273
+#: pisi/operations.py:249
msgid ""
"[%s conflicts with: %s]\n"
msgstr ""
-#: pisi/operations.py:275
+#: pisi/operations.py:251
msgid ""
"The following packages have conflicts:\n"
"%s"
msgstr ""
-#: pisi/operations.py:278
+#: pisi/operations.py:254
msgid "Remove the following conflicting packages?"
msgstr ""
-#: pisi/operations.py:305
+#: pisi/operations.py:282
msgid "Safety switch: Following packages in system.base will be installed: "
msgstr ""
-#: pisi/operations.py:311
+#: pisi/operations.py:288
msgid "Safety switch: Following packages in system.base will be upgraded: "
msgstr ""
-#: pisi/operations.py:317 pisi/operations.py:597
+#: pisi/operations.py:294 pisi/operations.py:594
msgid "Safety switch: the component system.base cannot be found"
msgstr ""
-#: pisi/operations.py:334
+#: pisi/operations.py:311
msgid ""
"The following package(s) are already installed and are not going to be installed again:\n"
msgstr ""
-#: pisi/operations.py:355
+#: pisi/operations.py:332
msgid ""
"Following packages will be installed in the respective order to satisfy dependencies:\n"
msgstr ""
-#: pisi/operations.py:360 pisi/operations.py:491
+#: pisi/operations.py:337 pisi/operations.py:480
msgid "Total size of package(s): %.2f %s"
msgstr ""
-#: pisi/operations.py:366 pisi/operations.py:497 pisi/operations.py:709
+#: pisi/operations.py:343 pisi/operations.py:486 pisi/operations.py:705
msgid "There are extra packages due to dependencies. Do you want to continue?"
msgstr ""
-#: pisi/operations.py:432
+#: pisi/operations.py:412
msgid "Warning: package *name* ends with '.pisi'"
msgstr ""
-#: pisi/operations.py:435
+#: pisi/operations.py:424
msgid "Package %s is not installed."
msgstr ""
-#: pisi/operations.py:441
+#: pisi/operations.py:430
msgid "Package %s is not available in repositories."
msgstr ""
-#: pisi/operations.py:453
+#: pisi/operations.py:442
msgid "Package %s is already at the latest release %s."
msgstr ""
-#: pisi/operations.py:459
+#: pisi/operations.py:448
msgid "Package %s is already at the latest build %s."
msgstr ""
-#: pisi/operations.py:486
+#: pisi/operations.py:475
msgid "The following packages will be upgraded: "
msgstr ""
-#: pisi/operations.py:552
+#: pisi/operations.py:493
+msgid "Downloading %d / %d"
+msgstr ""
+
+#: pisi/operations.py:511
+msgid "Installing %d / %d"
+msgstr ""
+
+#: pisi/operations.py:548
msgid "Dependency %s of %s cannot be satisfied"
msgstr ""
-#: pisi/operations.py:553
+#: pisi/operations.py:549
msgid "Upgrade is not possible."
msgstr ""
-#: pisi/operations.py:568
+#: pisi/operations.py:565
msgid "Reverse dependency %s of %s cannot be satisfied"
msgstr ""
-#: pisi/operations.py:593
+#: pisi/operations.py:590
msgid "Safety switch: cannot remove the following packages in system.base: "
msgstr ""
-#: pisi/operations.py:604
+#: pisi/operations.py:601
msgid "Package %s does not exist. Cannot remove."
msgstr ""
-#: pisi/operations.py:608
+#: pisi/operations.py:605
msgid "No packages to remove."
msgstr ""
-#: pisi/operations.py:617
+#: pisi/operations.py:614
msgid ""
"The following minimal list of packages will be removed\n"
"in the respective order to satisfy dependencies:\n"
msgstr ""
-#: pisi/operations.py:622
+#: pisi/operations.py:619
msgid "Package removal declined"
msgstr ""
-#: pisi/operations.py:634
+#: pisi/operations.py:631
msgid "Package %s is not installed. Cannot remove."
msgstr ""
-#: pisi/operations.py:683
+#: pisi/operations.py:679
msgid "No packages to emerge."
msgstr ""
-#: pisi/operations.py:698
+#: pisi/operations.py:694
msgid ""
"The following minimal list of packages will be installed\n"
"from repository in the respective order to satisfy dependencies:\n"
msgstr ""
-#: pisi/operations.py:701
+#: pisi/operations.py:697
msgid ""
"The following minimal list of packages will be built and\n"
"installed in the respective order to satisfy dependencies:\n"
msgstr ""
-#: pisi/operations.py:743
+#: pisi/operations.py:739
msgid "Cannot find source package: %s"
msgstr ""
@@ -2357,92 +2436,92 @@ msgid ""
"The package may have been upgraded. Please try to upgrade the package."
msgstr ""
-#: pisi/package.py:60 pisi/sourcearchive.py:94
+#: pisi/package.py:60 pisi/sourcearchive.py:92
msgid "%s [cached]"
msgstr ""
-#: pisi/package.py:131
+#: pisi/package.py:136
msgid "MetaData format wrong"
msgstr ""
-#: pisi/packagedb.py:66
+#: pisi/packagedb.py:65
msgid "Package %s not found"
msgstr ""
-#: pisi/pxml/autoxml.py:77
+#: pisi/pxml/autoxml.py:79
msgid "At least one '%s' tag should have local text"
msgstr ""
-#: pisi/pxml/autoxml.py:84
+#: pisi/pxml/autoxml.py:86
msgid "'%s' language of tag '%s' is empty"
msgstr ""
-#: pisi/pxml/autoxml.py:112
+#: pisi/pxml/autoxml.py:114
msgid "LocalText: unable to get either current or default locale"
msgstr ""
-#: pisi/pxml/autoxml.py:118 pisi/pxml/autoxml.py:133
+#: pisi/pxml/autoxml.py:120 pisi/pxml/autoxml.py:135
msgid "Tag should have at least the current locale, or failing that an English or Turkish version"
msgstr ""
-#: pisi/pxml/autoxml.py:368
+#: pisi/pxml/autoxml.py:373
msgid "autoxml.check: '%s' errors"
msgstr ""
-#: pisi/pxml/autoxml.py:423 pisi/pxml/autoxml.py:433
+#: pisi/pxml/autoxml.py:428 pisi/pxml/autoxml.py:438
msgid "autoxml.parse: String '%s' has errors"
msgstr ""
-#: pisi/pxml/autoxml.py:443 pisi/pxml/autoxml.py:453
+#: pisi/pxml/autoxml.py:448 pisi/pxml/autoxml.py:458
msgid "autoxml.read: File '%s' has errors"
msgstr ""
-#: pisi/pxml/autoxml.py:461
+#: pisi/pxml/autoxml.py:466
msgid "autoxml.write: object validation has failed"
msgstr ""
-#: pisi/pxml/autoxml.py:469
+#: pisi/pxml/autoxml.py:474
msgid "autoxml.write: File encoding '%s' has errors"
msgstr ""
-#: pisi/pxml/autoxml.py:519
+#: pisi/pxml/autoxml.py:524
msgid "gen_tag: unrecognized tag type %s in spec"
msgstr ""
-#: pisi/pxml/autoxml.py:567 pisi/pxml/autoxml.py:578
+#: pisi/pxml/autoxml.py:572 pisi/pxml/autoxml.py:583
msgid "Mandatory variable %s not available"
msgstr ""
-#: pisi/pxml/autoxml.py:648
+#: pisi/pxml/autoxml.py:653
msgid "Type mismatch: read text cannot be decoded"
msgstr ""
-#: pisi/pxml/autoxml.py:652 pisi/pxml/autoxml.py:661
+#: pisi/pxml/autoxml.py:657 pisi/pxml/autoxml.py:666
msgid "Mandatory token %s not available"
msgstr ""
-#: pisi/pxml/autoxml.py:666
+#: pisi/pxml/autoxml.py:671
msgid "Type mismatch. Expected %s, got %s"
msgstr ""
-#: pisi/pxml/autoxml.py:696 pisi/pxml/autoxml.py:812
+#: pisi/pxml/autoxml.py:701 pisi/pxml/autoxml.py:817
msgid "Type mismatch: DOM cannot be decoded"
msgstr ""
-#: pisi/pxml/autoxml.py:699 pisi/pxml/autoxml.py:715 pisi/pxml/autoxml.py:725
-#: pisi/pxml/autoxml.py:815 pisi/pxml/autoxml.py:829 pisi/pxml/autoxml.py:839
+#: pisi/pxml/autoxml.py:704 pisi/pxml/autoxml.py:720 pisi/pxml/autoxml.py:730
+#: pisi/pxml/autoxml.py:820 pisi/pxml/autoxml.py:834 pisi/pxml/autoxml.py:844
msgid "Mandatory argument not available"
msgstr ""
-#: pisi/pxml/autoxml.py:712 pisi/pxml/autoxml.py:826
+#: pisi/pxml/autoxml.py:717 pisi/pxml/autoxml.py:831
msgid "Object cannot be encoded"
msgstr ""
-#: pisi/pxml/autoxml.py:737
+#: pisi/pxml/autoxml.py:742
msgid "List type must contain only one element"
msgstr ""
-#: pisi/pxml/autoxml.py:750 pisi/pxml/autoxml.py:771
+#: pisi/pxml/autoxml.py:755 pisi/pxml/autoxml.py:776
msgid "Mandatory list \"%s\" under \"%s\" node is empty."
msgstr ""
@@ -2450,23 +2529,23 @@ msgstr ""
msgid "getNodeText: Expected text node, got something else!"
msgstr ""
-#: pisi/pxml/xmlfile.py:64
+#: pisi/pxml/xmlfile.py:63
msgid "String '%s' has invalid XML"
msgstr ""
-#: pisi/pxml/xmlfile.py:72 pisi/pxml/xmlfile.py:87
+#: pisi/pxml/xmlfile.py:71 pisi/pxml/xmlfile.py:86
msgid "File '%s' has invalid XML"
msgstr ""
-#: pisi/repodb.py:74
+#: pisi/repodb.py:69
msgid "No repository named %s exists"
msgstr ""
-#: pisi/repodb.py:83
+#: pisi/repodb.py:78
msgid "Repository %s already exists"
msgstr ""
-#: pisi/repodb.py:90
+#: pisi/repodb.py:85
msgid "Cannot add repository at position %s"
msgstr ""
@@ -2482,59 +2561,59 @@ msgstr ""
msgid "Repo does not have package named %s."
msgstr ""
-#: pisi/sourcearchive.py:63
+#: pisi/sourcearchive.py:61
msgid "Trying fallback address: %s"
msgstr ""
-#: pisi/sourcearchive.py:74
+#: pisi/sourcearchive.py:72
msgid "%s mirrors are not defined."
msgstr ""
-#: pisi/sourcearchive.py:79
+#: pisi/sourcearchive.py:77
msgid "Fetching source from mirror: %s"
msgstr ""
-#: pisi/sourcearchive.py:85
+#: pisi/sourcearchive.py:83
msgid "Could not fetch source from %s mirrors."
msgstr ""
-#: pisi/sourcearchive.py:103
+#: pisi/sourcearchive.py:101
msgid "unpack: check_file_hash failed"
msgstr ""
-#: pisi/sourcedb.py:59 pisi/sourcedb.py:65
+#: pisi/sourcedb.py:54 pisi/sourcedb.py:60
msgid "Source package %s not found"
msgstr ""
-#: pisi/specfile.py:141
+#: pisi/specfile.py:139
msgid "URI: %s, type: %s, sha1sum: %s"
msgstr ""
-#: pisi/specfile.py:208
+#: pisi/specfile.py:206
msgid ""
"Name: %s, version: %s, release: %s, build %s\n"
msgstr ""
-#: pisi/specfile.py:210
+#: pisi/specfile.py:208
msgid ""
"Summary: %s\n"
msgstr ""
-#: pisi/specfile.py:211
+#: pisi/specfile.py:209
msgid ""
"Description: %s\n"
msgstr ""
-#: pisi/specfile.py:212
+#: pisi/specfile.py:210
msgid ""
"Component: %s\n"
msgstr ""
-#: pisi/specfile.py:213
+#: pisi/specfile.py:211
msgid "Provides: "
msgstr ""
-#: pisi/specfile.py:217
+#: pisi/specfile.py:215
msgid "Dependencies: "
msgstr ""
@@ -2550,105 +2629,83 @@ msgstr ""
msgid "return value for \"%s\" is %s"
msgstr ""
-#: pisi/util.py:364
+#: pisi/util.py:361
msgid "Including external link '%s'"
msgstr ""
-#: pisi/util.py:366
+#: pisi/util.py:363
msgid "Including directory '%s'"
msgstr ""
-#: pisi/util.py:440
+#: pisi/util.py:448
msgid "I/O Error: Cannot calculate SHA1 hash of %s"
msgstr ""
-#: pisi/util.py:451
+#: pisi/util.py:459
msgid "Cannot calculate SHA1 hash of given data"
msgstr ""
-#: pisi/util.py:488
+#: pisi/util.py:508
msgid "ERROR: patch (%s) failed"
msgstr ""
-#: pisi/util.py:490
+#: pisi/util.py:510
msgid "ERROR: patch (%s) failed: %s"
msgstr ""
-#: pisi/util.py:536
+#: pisi/util.py:556
msgid "strip command failed for file '%s'!"
msgstr ""
-#: pisi/util.py:543
+#: pisi/util.py:563
msgid "objcopy (keep-debug) command failed for file '%s'!"
msgstr ""
-#: pisi/util.py:549
+#: pisi/util.py:569
msgid "objcopy (add-debuglink) command failed for file '%s'!"
msgstr ""
-#: pisi/util.py:610
-msgid "Updating environment..."
-msgstr ""
-
-#: scripts/repostats.py:361
+#: scripts/repostats.py:226
msgid ""
"Duplicate binary packages:\n"
"%s\n"
"%s\n"
msgstr ""
-#: scripts/repostats.py:366
-msgid "Unknown file type '%s' in package '%s'"
-msgstr ""
-
-#: scripts/repostats.py:422
+#: scripts/repostats.py:301
msgid ""
"Duplicate source packages:\n"
"%s\n"
"%s\n"
msgstr ""
-#: scripts/repostats.py:442
-msgid "Source package '%s' has wrong date format '%s'"
-msgstr ""
-
-#: scripts/repostats.py:481
+#: scripts/repostats.py:371
msgid "Developer '%s <%s>' has another mail address '%s' in source package '%s'"
msgstr ""
-#: scripts/repostats.py:564
+#: scripts/repostats.py:467
msgid ""
"Cannot parse '%s':\n"
"%s\n"
msgstr ""
-#: scripts/repostats.py:642
+#: scripts/repostats.py:553
msgid ""
"Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n"
msgstr ""
-#: scripts/repostats.py:643
+#: scripts/repostats.py:554
msgid ""
"Dont generate the web site.\n"
msgstr ""
-#: scripts/repostats.py:664
+#: scripts/repostats.py:575
msgid ""
"Scanning source repository...\n"
msgstr ""
-#: scripts/repostats.py:668
+#: scripts/repostats.py:579
msgid ""
"Scanning binary packages...\n"
msgstr ""
-#: scripts/repostats.py:673
-msgid ""
-"Encountered %d errors! Fix them immediately!\n"
-msgstr ""
-
-#: scripts/repostats.py:681
-msgid ""
-"These dependencies are not available in repository:\n"
-msgstr ""
-
diff --git a/po/pt_BR.po b/po/pt_BR.po
deleted file mode 100644
index 273a1b36..00000000
--- a/po/pt_BR.po
+++ /dev/null
@@ -1,2710 +0,0 @@
-# Translation of pt_BR.po to Brazillian Portuguese
-# Copyright (C) YEAR ORGANIZATION
-#
-# Pedro Leite , 2007.
-msgid ""
-msgstr ""
-"Project-Id-Version: pt_BR\n"
-"POT-Creation-Date: 2006-12-12 14:29+EET\n"
-"PO-Revision-Date: 2007-02-19 21:44-0300\n"
-"Last-Translator: Pedro Leite \n"
-"Language-Team: Brazilian Portuguese \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: pygettext.py 1.5\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#: /usr/lib/python2.4/optparse.py:1
-#, docstring
-msgid ""
-"optparse - a powerful, extensible, and easy-to-use option parser.\n"
-"\n"
-"By Greg Ward \n"
-"\n"
-"Originally distributed as Optik; see http://optik.sourceforge.net/ .\n"
-"\n"
-"If you have problems with this module, please do not file bugs,\n"
-"patches, or feature requests with Python; instead, use Optik's\n"
-"SourceForge project page:\n"
-" http://sourceforge.net/projects/optik\n"
-"\n"
-"For support, use the optik-users@lists.sourceforge.net mailing list\n"
-"(http://lists.sourceforge.net/lists/listinfo/optik-users).\n"
-msgstr ""
-"optparse - um analisador de opções poderoso, extensível a fácil de usar.\n"
-"\n"
-"Por Greg Ward \n"
-"\n"
-"Originalmente distribuido com Optik; veja http://optik.sourceforge.net/ .\n"
-"\n"
-"Se você tiver problemas com este módulo, por favor não reporte bugs,\n"
-"correções, ou pedidos de novas funcionalidadesao Python; em vez disso,\n"
-"use a página do projeto SourceForge do Optik's:"
-" http://sourceforge.net/projects/optik\n"
-"\n"
-"Para suporte, use a lista de email optik-users@lists.sourceforge.net\n"
-"(http://lists.sourceforge.net/lists/listinfo/optik-users).\n"
-
-#: /usr/lib/python2.4/optparse.py:93
-#, docstring
-msgid ""
-"\n"
-" Raised if an Option instance is created with invalid or\n"
-" inconsistent arguments.\n"
-" "
-msgstr ""
-"\n"
-" Levantado se uma instância de Option é criada com argumentos\n"
-" inválidos ou inconsistentes.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:109
-#, docstring
-msgid ""
-"\n"
-" Raised if conflicting options are added to an OptionParser.\n"
-" "
-msgstr ""
-"\n"
-" Levantado se opções conflitantes são adicionadas para um OptionParser.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:114
-#, docstring
-msgid ""
-"\n"
-" Raised if an invalid option value is encountered on the command\n"
-" line.\n"
-" "
-msgstr ""
-"\n"
-" Levantado se um valor de opção inválida é econtrada na linha\n"
-" de comando.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:120
-#, docstring
-msgid ""
-"\n"
-" Raised if an invalid or ambiguous option is seen on the command-line.\n"
-" "
-msgstr ""
-"\n"
-" Levantado se uma opção inválida ou ambígüa é vista na linha de comando.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:298 pisi/cli/commands.py:50
-#, docstring, fuzzy
-msgid "Return a comma-separated list of option strings & metavariables."
-msgstr "Retorna uma lista separada por vírgulas de strings de opções & meta-variáveis."
-
-#: /usr/lib/python2.4/optparse.py:317
-#, docstring
-msgid ""
-"Format help with indented section bodies.\n"
-" "
-msgstr ""
-"Formatar ajuda com corpos de seções indentados.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:329 pisi/cli/commands.py:44
-msgid "usage: %s\n"
-msgstr "uso: %s\n"
-
-#: /usr/lib/python2.4/optparse.py:336
-#, docstring
-msgid ""
-"Format help with underlined section headers.\n"
-" "
-msgstr ""
-"Formatar ajuda com cabeçalhos de seções sublinhados.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:348
-msgid "Usage"
-msgstr "Uso"
-
-#: /usr/lib/python2.4/optparse.py:354
-msgid "integer"
-msgstr "inteiro"
-
-#: /usr/lib/python2.4/optparse.py:355
-msgid "long integer"
-msgstr "inteiro longo"
-
-#: /usr/lib/python2.4/optparse.py:356
-msgid "floating-point"
-msgstr "ponto flutuante"
-
-#: /usr/lib/python2.4/optparse.py:357
-msgid "complex"
-msgstr "complexo"
-
-#: /usr/lib/python2.4/optparse.py:365
-msgid "option %s: invalid %s value: %r"
-msgstr "opção %s: valor de %s inválido: %r"
-
-#: /usr/lib/python2.4/optparse.py:373
-#, fuzzy
-msgid "option %s: invalid choice: %r (choose from %s)"
-msgstr "opção %s: escolha inválida: %r (escolha de %s)"
-
-#: /usr/lib/python2.4/optparse.py:382
-#, docstring
-msgid ""
-"\n"
-" Instance attributes:\n"
-" _short_opts : [string]\n"
-" _long_opts : [string]\n"
-"\n"
-" action : string\n"
-" type : string\n"
-" dest : string\n"
-" default : any\n"
-" nargs : int\n"
-" const : any\n"
-" choices : [string]\n"
-" callback : function\n"
-" callback_args : (any*)\n"
-" callback_kwargs : { string : any }\n"
-" help : string\n"
-" metavar : string\n"
-" "
-msgstr ""
-"\n"
-" Atributos de instâncias:\n"
-" _short_opts : [string]\n"
-" _long_opts : [string]\n"
-"\n"
-" action : string\n"
-" type : string\n"
-" dest : string\n"
-" default : any\n"
-" nargs : int\n"
-" const : any\n"
-" choices : [string]\n"
-" callback : function\n"
-" callback_args : (any*)\n"
-" callback_kwargs : { string : any }\n"
-" help : string\n"
-" metavar : string\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:781
-#, docstring
-msgid ""
-"\n"
-" Update the option values from an arbitrary dictionary, but only\n"
-" use keys from dict that already have a corresponding attribute\n"
-" in self. Any keys in dict without a corresponding attribute\n"
-" are silently ignored.\n"
-" "
-msgstr ""
-"\n"
-" Atualiza os valores das opções de um dicionário qualquer, porém\n"
-" somente usa as chaves do dicionário que já tem um atributo\n"
-" correspondente em si próprio. Quaisquer chaves no dicionário\n"
-" sem atributos correspondentes são ignoradas silenciosamente.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:794
-#, docstring
-msgid ""
-"\n"
-" Update the option values from an arbitrary dictionary,\n"
-" using all keys from the dictionary regardless of whether\n"
-" they have a corresponding attribute in self or not.\n"
-" "
-msgstr ""
-"\n"
-" Atualiza os valores das opções de um dicionário qualquer\n"
-" usando todas as chaves do dicionário, independentemente\n"
-" deles terem ou não um atributo correspondente em si próprios.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:926
-#, docstring
-msgid ""
-"add_option(Option)\n"
-" add_option(opt_str, ..., kwarg=val, ...)\n"
-" "
-msgstr ""
-"add_option(Option)\n"
-" add_option(opt_str, ..., kwarg=val, ...)\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:1138
-msgid "show this help message and exit"
-msgstr "mostra esta mensagem de ajuda e sai"
-
-#: /usr/lib/python2.4/optparse.py:1143
-msgid "show program's version number and exit"
-msgstr "mostra o número da versão do programa e sai"
-
-#: /usr/lib/python2.4/optparse.py:1166
-msgid "%prog [options]"
-msgstr "%prog [opções]"
-
-#: /usr/lib/python2.4/optparse.py:1246
-#, docstring
-msgid ""
-"\n"
-" parse_args(args : [string] = sys.argv[1:],\n"
-" values : Values = None)\n"
-" -> (values : Values, args : [string])\n"
-"\n"
-" Parse the command-line options found in 'args' (default:\n"
-" sys.argv[1:]). Any errors result in a call to 'error()', which\n"
-" by default prints the usage message to stderr and calls\n"
-" sys.exit() with an error message. On success returns a pair\n"
-" (values, args) where 'values' is an Values instance (with all\n"
-" your option values) and 'args' is the list of arguments left\n"
-" over after parsing options.\n"
-" "
-msgstr ""
-"\n"
-" parse_args(args : [string] = sys.argv[1:],\n"
-" values : Values = None)\n"
-" -> (values : Values, args : [string])\n"
-"\n"
-" Analisa as opções da linha de comando encontradas em 'args' (padrão:\n"
-" sys.argv[1:]). Quaisquer erros resultam numa chamada a 'error()', que\n"
-" por padrão imprime a mensagem de uso para stderr e chama\n"
-" sys.exit() com uma mensagem de erro. No caso de sucesso, retorna\n"
-" um par (values, args) onde 'values' é uma instância de Values (com \n"
-" todos seus valores de opções) e 'args' é a lista de argumentos que\n"
-" sobraram após a análise das opções.\n"
-" "
-
-#: /usr/lib/python2.4/optparse.py:1285
-#, docstring
-msgid ""
-"\n"
-" check_values(values : Values, args : [string])\n"
-" -> (values : Values, args : [string])\n"
-"\n"
-" Check that the supplied option values and leftover arguments are\n"
-" valid. Returns the option values and leftover arguments\n"
-" (possibly adjusted, possibly completely new -- whatever you\n"
-" like). Default implementation just returns the passed-in\n"
-" values; subclasses may override as desired.\n"
-" "
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1298
-#, docstring
-msgid ""
-"_process_args(largs : [string],\n"
-" rargs : [string],\n"
-" values : Values)\n"
-"\n"
-" Process command-line arguments and populate 'values', consuming\n"
-" options and arguments from 'rargs'. If 'allow_interspersed_args' is\n"
-" false, stop at the first non-option argument. If true, accumulate any\n"
-" interspersed non-option arguments in 'largs'.\n"
-" "
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1349
-#, docstring
-msgid ""
-"_match_long_opt(opt : string) -> string\n"
-"\n"
-" Determine which long option string 'opt' matches, ie. which one\n"
-" it is an unambiguous abbrevation for. Raises BadOptionError if\n"
-" 'opt' doesn't unambiguously match any long option string.\n"
-" "
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1376 /usr/lib/python2.4/optparse.py:1415
-msgid "%s option requires an argument"
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1378 /usr/lib/python2.4/optparse.py:1417
-msgid "%s option requires %d arguments"
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1387
-msgid "%s option does not take a value"
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1404 /usr/lib/python2.4/optparse.py:1558
-msgid "no such option: %s"
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1454
-#, docstring
-msgid ""
-"error(msg : string)\n"
-"\n"
-" Print a usage message incorporating 'msg' to stderr and exit.\n"
-" If you override this in a subclass, it should not return -- it\n"
-" should either exit or raise an exception.\n"
-" "
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1471
-#, docstring
-msgid ""
-"print_usage(file : file = stdout)\n"
-"\n"
-" Print the usage message for the current program (self.usage) to\n"
-" 'file' (default stdout). Any occurence of the string \"%prog\" in\n"
-" self.usage is replaced with the name of the current program\n"
-" (basename of sys.argv[0]). Does nothing if self.usage is empty\n"
-" or not defined.\n"
-" "
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1489
-#, docstring
-msgid ""
-"print_version(file : file = stdout)\n"
-"\n"
-" Print the version message for this program (self.version) to\n"
-" 'file' (default stdout). As with print_usage(), any occurence\n"
-" of \"%prog\" in self.version is replaced by the current program's\n"
-" name. Does nothing if self.version is empty or undefined.\n"
-" "
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1504
-msgid "options"
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1528
-#, docstring
-msgid ""
-"print_help(file : file = stdout)\n"
-"\n"
-" Print an extended help message, listing all options and any\n"
-" help text provided with them, to 'file' (default stdout).\n"
-" "
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1541
-#, docstring
-msgid ""
-"_match_abbrev(s : string, wordmap : {string : Option}) -> string\n"
-"\n"
-" Return the string key in 'wordmap' for which 's' is an unambiguous\n"
-" abbreviation. If 's' is found to be ambiguous or doesn't match any of\n"
-" 'words', raise BadOptionError.\n"
-" "
-msgstr ""
-
-#: /usr/lib/python2.4/optparse.py:1562
-msgid "ambiguous option: %s (%s?)"
-msgstr ""
-
-#: pisi-cli:46
-msgid "Keyboard Interrupt: Exiting..."
-msgstr ""
-
-#: pisi-cli:49
-msgid "Program Terminated."
-msgstr ""
-
-#: pisi-cli:52
-msgid ""
-"A database operation has been aborted. You should run pisi\n"
-"again for normal DB recovery procedure. Make sure you have free disk space. \n"
-"You have to run rebuild-db only when there is file corruption and database upgrades."
-msgstr ""
-
-#: pisi-cli:57
-msgid ""
-"Unhandled internal exception.\n"
-"Please file a bug report. (http://bugs.uludag.org.tr)"
-msgstr ""
-
-#: pisi-cli:63
-msgid "System Error. Program Terminated."
-msgstr ""
-
-#: pisi-cli:70
-msgid "Please use 'pisi help' for general help."
-msgstr ""
-
-#: pisi-cli:73
-msgid "Traceback:"
-msgstr ""
-
-#: pisi-cli:77
-msgid "Use --debug to see a traceback."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:36
-msgid ""
-"Please attach the config.log to your bug report:\n"
-"%s/config.log"
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:75 pisi/actionsapi/autotools.py:85
-#: pisi/actionsapi/kde.py:65 pisi/actionsapi/perlmodules.py:54
-#: pisi/actionsapi/perlmodules.py:57
-msgid "Configure failed."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:77 pisi/actionsapi/autotools.py:87
-#: pisi/actionsapi/kde.py:67
-msgid "No configure script found."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:96 pisi/actionsapi/kde.py:72
-#: pisi/actionsapi/perlmodules.py:63 pisi/actionsapi/perlmodules.py:72
-#: pisi/actionsapi/pythonmodules.py:49 pisi/actionsapi/scons.py:39
-msgid "Make failed."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:124 pisi/actionsapi/autotools.py:134
-#: pisi/actionsapi/kde.py:79 pisi/actionsapi/pythonmodules.py:54
-#: pisi/actionsapi/scons.py:43
-msgid "Install failed."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:126 pisi/actionsapi/autotools.py:136
-#: pisi/actionsapi/kde.py:81
-msgid "No Makefile found."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:143
-msgid "Running aclocal failed."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:148
-msgid "Running autoconf failed."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:153
-msgid "Running autoreconf failed."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:158
-msgid "Running automake failed."
-msgstr ""
-
-#: pisi/actionsapi/autotools.py:163
-msgid "Running autoheader failed."
-msgstr ""
-
-#: pisi/actionsapi/get.py:163
-msgid "Util %s cannot be found"
-msgstr ""
-
-#: pisi/actionsapi/get.py:165
-msgid "Warning: %s does not exist, using plain name %s"
-msgstr ""
-
-#: pisi/actionsapi/kde.py:34
-msgid ""
-"\n"
-"!!! Please attach the config.log to your bug report:\n"
-"%s/config.log"
-msgstr ""
-
-#: pisi/actionsapi/libtools.py:38
-msgid "Running ldconfig failed."
-msgstr ""
-
-#: pisi/actionsapi/libtools.py:49
-msgid "GNU Config Update Finished."
-msgstr ""
-
-#: pisi/actionsapi/libtools.py:53
-msgid "Running libtoolize failed."
-msgstr ""
-
-#: pisi/actionsapi/perlmodules.py:66
-msgid "perl build failed."
-msgstr ""
-
-#: pisi/actionsapi/perlmodules.py:75
-msgid "perl install failed."
-msgstr ""
-
-#: pisi/actionsapi/pisitools.py:126
-msgid "ActionsAPI [doman]: Wrong man page file: %s"
-msgstr ""
-
-#: pisi/actionsapi/pisitools.py:164
-msgid "ActionsAPI [rename]: No such file or directory: %s"
-msgstr ""
-
-#: pisi/actionsapi/pisitools.py:181
-msgid "File does not exist or permission denied: %s"
-msgstr ""
-
-#: pisi/actionsapi/pisitools.py:198
-msgid "ActionsAPI [dosym]: File exists: %s"
-msgstr ""
-
-#: pisi/actionsapi/pisitoolsfunctions.py:45
-#: pisi/actionsapi/pisitoolsfunctions.py:59
-#: pisi/actionsapi/pisitoolsfunctions.py:72
-msgid "Insufficient arguments."
-msgstr ""
-
-#: pisi/actionsapi/pythonmodules.py:66
-msgid "Running %s failed."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:49
-msgid "Cannot create directory %s"
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:57
-msgid "ActionsAPI [echo]: Can't append to file %s."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:66
-msgid "ActionsAPI [chmod]: Operation not permitted: %s (mode: %s)"
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:69
-msgid "ActionsAPI [chmod]: File %s doesn't exists."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:77
-msgid "ActionsAPI [chown]: Operation not permitted: %s (uid: %s, gid: %s)"
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:80
-msgid "ActionsAPI [chown]: File %s doesn't exists."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:87
-msgid "ActionsAPI [sym]: Permission denied: %s to %s"
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:95
-msgid "ActionsAPI [unlink]: Permission denied: %s."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:99
-msgid "ActionsAPI [unlink]: File %s doesn't exists."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:107
-msgid "ActionsAPI [unlinkDir]: Operation not permitted: %s"
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:111
-msgid "ActionsAPI [unlinkDir]: Directory %s doesn't exists."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:120
-msgid "ActionsAPI [move]: Permission denied: %s to %s"
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:122
-msgid "ActionsAPI [move]: File %s doesn't exists."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:132
-msgid "ActionsAPI [copy]: Permission denied: %s to %s"
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:148
-msgid "ActionsAPI [copy]: File %s does not exist."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:163
-msgid "ActionsAPI [copytree] %s to %s: %s"
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:165
-msgid "ActionsAPI [copytree]: Directory %s doesn't exists."
-msgstr ""
-
-#: pisi/actionsapi/shelltools.py:177
-msgid "ActionsAPI [touch]: Permission denied: %s"
-msgstr ""
-
-#: pisi/api.py:302 pisi/comariface.py:30
-msgid "comar package is not fully installed"
-msgstr ""
-
-#: pisi/api.py:314
-msgid "File %s not found"
-msgstr ""
-
-#: pisi/api.py:375
-msgid "Checking /%s "
-msgstr ""
-
-#: pisi/api.py:379
-msgid ""
-"\n"
-"Corrupt file: %s"
-msgstr ""
-
-#: pisi/api.py:381 pisi/cli/commands.py:966
-msgid "OK"
-msgstr ""
-
-#: pisi/api.py:394
-msgid "* Building index of PiSi files under %s"
-msgstr ""
-
-#: pisi/api.py:401
-msgid "* Index file written"
-msgstr ""
-
-#: pisi/api.py:405
-msgid "Repo %s already present."
-msgstr ""
-
-#: pisi/api.py:409
-msgid "Repo %s added to system."
-msgstr ""
-
-#: pisi/api.py:415
-msgid "Repo %s removed from system."
-msgstr ""
-
-#: pisi/api.py:417
-msgid "Repository %s does not exist. Cannot remove."
-msgstr ""
-
-#: pisi/api.py:424
-msgid "* Updating repository: %s"
-msgstr ""
-
-#: pisi/api.py:432
-msgid "No updates available for repository %s."
-msgstr ""
-
-#: pisi/api.py:434
-msgid "Updating database at any rate as requested"
-msgstr ""
-
-#: pisi/api.py:445
-msgid "* Package database updated."
-msgstr ""
-
-#: pisi/api.py:447 pisi/api.py:472
-msgid "No repository named %s found."
-msgstr ""
-
-#: pisi/api.py:455
-msgid "* Rebuilding '%s' named repo... "
-msgstr ""
-
-#: pisi/api.py:468
-msgid "Input/Output error while reading %s: %s"
-msgstr ""
-
-#: pisi/api.py:525
-msgid "Rebuilding package database"
-msgstr ""
-
-#: pisi/archive.py:36
-msgid ""
-"An error has occured while running LZMA:\n"
-"%s"
-msgstr ""
-
-#: pisi/archive.py:101 pisi/archive.py:161
-msgid "Archive type not recognized"
-msgstr ""
-
-#: pisi/atomicoperations.py:66
-msgid "Package %s found in repository %s"
-msgstr ""
-
-#: pisi/atomicoperations.py:78
-msgid "Package URI: %s"
-msgstr ""
-
-#: pisi/atomicoperations.py:82
-msgid "Package %s not found in any active repository."
-msgstr ""
-
-#: pisi/atomicoperations.py:101
-msgid "Installing %s, version %s, release %s, build %s"
-msgstr ""
-
-#: pisi/atomicoperations.py:146
-msgid "%s package cannot be installed unless the dependencies are satisfied"
-msgstr ""
-
-#: pisi/atomicoperations.py:165
-msgid "/%s from %s package\n"
-msgstr ""
-
-#: pisi/atomicoperations.py:166
-msgid ""
-"File conflicts:\n"
-"%s"
-msgstr ""
-
-#: pisi/atomicoperations.py:201
-msgid "Re-install same version package?"
-msgstr ""
-
-#: pisi/atomicoperations.py:202
-msgid "Package re-install declined"
-msgstr ""
-
-#: pisi/atomicoperations.py:208
-msgid "Upgrading to new upstream version"
-msgstr ""
-
-#: pisi/atomicoperations.py:211
-msgid "Upgrading to new distribution release"
-msgstr ""
-
-#: pisi/atomicoperations.py:215
-msgid "Upgrading to new distribution build"
-msgstr ""
-
-#: pisi/atomicoperations.py:225
-msgid "Downgrade to old distribution release?"
-msgstr ""
-
-#: pisi/atomicoperations.py:227
-msgid "Downgrade to old distribution build?"
-msgstr ""
-
-#: pisi/atomicoperations.py:229
-msgid "Package downgrade declined"
-msgstr ""
-
-#: pisi/atomicoperations.py:253
-msgid "%s configuration failed."
-msgstr ""
-
-#: pisi/atomicoperations.py:340
-msgid "Storing %s, "
-msgstr ""
-
-#: pisi/atomicoperations.py:343
-msgid "Storing %s."
-msgstr ""
-
-#: pisi/atomicoperations.py:350
-msgid "Storing %s"
-msgstr ""
-
-#: pisi/atomicoperations.py:406
-msgid "File list could not be read for package %s, continuing removal."
-msgstr ""
-
-#: pisi/atomicoperations.py:412
-msgid "Removing package %s"
-msgstr ""
-
-#: pisi/atomicoperations.py:415
-msgid "Trying to remove nonexistent package "
-msgstr ""
-
-#: pisi/atomicoperations.py:454
-msgid "Not removing conflicted file : %s"
-msgstr ""
-
-#: pisi/atomicoperations.py:474
-msgid "Installed file %s is not exists on system [Probably you manually deleted]"
-msgstr ""
-
-#: pisi/atomicoperations.py:535
-msgid "Metadata XML '%s' cannot be found"
-msgstr ""
-
-#: pisi/atomicoperations.py:543
-msgid "MetaData format wrong (%s)"
-msgstr ""
-
-#: pisi/atomicoperations.py:545
-msgid "* Adding '%s' to db... "
-msgstr ""
-
-#: pisi/atomicoperations.py:551
-msgid "Files XML '%s' cannot be found"
-msgstr ""
-
-#: pisi/atomicoperations.py:556 pisi/package.py:136
-msgid "Invalid %s"
-msgstr ""
-
-#: pisi/atomicoperations.py:565
-msgid "OK."
-msgstr ""
-
-#: pisi/build.py:88
-msgid "Path %s belongs in multiple packages"
-msgstr ""
-
-#: pisi/build.py:114
-msgid "Source URI: %s"
-msgstr ""
-
-#: pisi/build.py:118
-msgid "Source %s not found in any active repository."
-msgstr ""
-
-#: pisi/build.py:183
-msgid "Building PiSi source package: %s"
-msgstr ""
-
-#: pisi/build.py:229
-msgid "IceCream detected. Make sure your daemon is up and running..."
-msgstr ""
-
-#: pisi/build.py:234
-msgid "CCache detected..."
-msgstr ""
-
-#: pisi/build.py:287
-msgid "PartOf tag not defined, looking for component"
-msgstr ""
-
-#: pisi/build.py:297
-msgid "Cannot find component.xml in upper directory"
-msgstr ""
-
-#: pisi/build.py:301
-msgid "Source is part of %s component"
-msgstr ""
-
-#: pisi/build.py:305
-msgid "Fetching source from: %s"
-msgstr ""
-
-#: pisi/build.py:307
-msgid "Source archive is stored: %s/%s"
-msgstr ""
-
-#: pisi/build.py:311
-msgid "Unpacking archive..."
-msgstr ""
-
-#: pisi/build.py:313
-msgid " unpacked (%s)"
-msgstr ""
-
-#: pisi/build.py:318
-msgid "Setting up source..."
-msgstr ""
-
-#: pisi/build.py:323
-msgid "Building source..."
-msgstr ""
-
-#: pisi/build.py:328
-msgid "Installing..."
-msgstr ""
-
-#: pisi/build.py:370
-msgid "Unable to read Actions Script (%s): %s"
-msgstr ""
-
-#: pisi/build.py:372
-msgid "SyntaxError in Actions Script (%s): %s"
-msgstr ""
-
-#: pisi/build.py:389
-msgid "Unable to read COMAR script (%s): %s"
-msgstr ""
-
-#: pisi/build.py:391
-msgid "SyntaxError in COMAR file (%s): %s"
-msgstr ""
-
-#: pisi/build.py:417
-msgid "unable to call function from actions: %s"
-msgstr ""
-
-#: pisi/build.py:433
-msgid "Safety switch: following extra packages in system.devel will be installed: "
-msgstr ""
-
-#: pisi/build.py:438
-msgid "Safety switch: system.devel is already installed"
-msgstr ""
-
-#: pisi/build.py:440
-msgid "Safety switch: the component system.devel cannot be found"
-msgstr ""
-
-#: pisi/build.py:449
-msgid "Unsatisfied Build Dependencies:"
-msgstr ""
-
-#: pisi/build.py:453
-msgid "Cannot build package due to unsatisfied build dependencies"
-msgstr ""
-
-#: pisi/build.py:461
-msgid "Build dependency %s cannot be satisfied"
-msgstr ""
-
-#: pisi/build.py:463
-msgid "Do you want to install the unsatisfied build dependencies"
-msgstr ""
-
-#: pisi/build.py:464
-msgid "Installing build dependencies."
-msgstr ""
-
-#: pisi/build.py:469
-msgid "Ignoring build dependencies."
-msgstr ""
-
-#: pisi/build.py:479
-msgid "Patch file is missing: %s\n"
-msgstr ""
-
-#: pisi/build.py:492
-msgid "* Applying patch: %s"
-msgstr ""
-
-#: pisi/build.py:550
-msgid "Stripping files.."
-msgstr ""
-
-#: pisi/build.py:656
-msgid "(found old version %s)"
-msgstr ""
-
-#: pisi/build.py:658
-msgid "Skipping %s with wrong pkg name "
-msgstr ""
-
-#: pisi/build.py:679
-msgid "(no previous build found, setting build no to 1.)"
-msgstr ""
-
-#: pisi/build.py:724
-msgid "(old package lacks a build no, setting build no to 1.)"
-msgstr ""
-
-#: pisi/build.py:727
-msgid "There are changes, incrementing build no to %d"
-msgstr ""
-
-#: pisi/build.py:730
-msgid "There is no change from previous build %d"
-msgstr ""
-
-#: pisi/build.py:795
-msgid "No user named '%s' found on the system"
-msgstr ""
-
-#: pisi/build.py:800
-msgid "No group named '%s' found on the system"
-msgstr ""
-
-#: pisi/build.py:803
-msgid "** Building package %s"
-msgstr ""
-
-#: pisi/build.py:805 pisi/build.py:808
-msgid "Generating %s,"
-msgstr ""
-
-#: pisi/build.py:814
-msgid "Build number is not available. For repo builds you must enable buildno in pisi.conf."
-msgstr ""
-
-#: pisi/build.py:832
-msgid "Creating PiSi package %s."
-msgstr ""
-
-#: pisi/build.py:877
-msgid "Done."
-msgstr ""
-
-#: pisi/build.py:883
-msgid "Abandoned files under the install dir (%s):"
-msgstr ""
-
-#: pisi/build.py:887
-msgid "All of the files under the install dir (%s) has been collected by package(s)"
-msgstr ""
-
-#: pisi/build.py:891
-msgid "Cleaning Build Directory..."
-msgstr ""
-
-#: pisi/build.py:894
-msgid "Keeping Build Directory"
-msgstr ""
-
-#: pisi/cli/__init__.py:79
-msgid "Warning: "
-msgstr ""
-
-#: pisi/cli/__init__.py:88
-msgid "Error: "
-msgstr ""
-
-#: pisi/cli/__init__.py:120
-msgid " (yes/no)"
-msgstr ""
-
-#: pisi/cli/__init__.py:141
-msgid " [complete]\n"
-msgstr ""
-
-#: pisi/cli/__init__.py:151
-msgid "Installed %s"
-msgstr ""
-
-#: pisi/cli/__init__.py:153
-msgid "Removed %s"
-msgstr ""
-
-#: pisi/cli/__init__.py:155
-msgid "Upgraded %s"
-msgstr ""
-
-#: pisi/cli/__init__.py:157
-msgid "Configured %s"
-msgstr ""
-
-#: pisi/cli/__init__.py:159
-msgid "Extracting the files of %s"
-msgstr ""
-
-#: pisi/cli/commands.py:94
-#, docstring
-msgid "generic help string for any command"
-msgstr ""
-
-#: pisi/cli/commands.py:123 pisi/cli/pisicli.py:104
-msgid "Unrecognized command: %s"
-msgstr ""
-
-#: pisi/cli/commands.py:145
-#, docstring
-msgid "common options"
-msgstr ""
-
-#: pisi/cli/commands.py:148
-msgid "general options"
-msgstr ""
-
-#: pisi/cli/commands.py:151
-msgid "Change the system root for PiSi commands"
-msgstr ""
-
-#: pisi/cli/commands.py:153
-msgid "Assume yes in all yes/no queries"
-msgstr ""
-
-#: pisi/cli/commands.py:158
-msgid "Detailed output"
-msgstr ""
-
-#: pisi/cli/commands.py:160
-msgid "Show debugging information"
-msgstr ""
-
-#: pisi/cli/commands.py:162
-msgid "Suppresses all coloring of PiSi's output"
-msgstr ""
-
-#: pisi/cli/commands.py:169
-#, docstring
-msgid ""
-"This is a fall back function. If the implementer module provides an\n"
-" options function it will be called"
-msgstr ""
-
-#: pisi/cli/commands.py:181
-msgid "Destination directory %s does not exist. Creating directory.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:203
-msgid "Password: "
-msgstr ""
-
-#: pisi/cli/commands.py:209
-#, docstring
-msgid "initialize PiSi components"
-msgstr ""
-
-#: pisi/cli/commands.py:217
-#, docstring
-msgid "do cleanup work for PiSi components"
-msgstr ""
-
-#: pisi/cli/commands.py:231
-#, docstring
-msgid "print help for the command"
-msgstr ""
-
-#: pisi/cli/commands.py:237
-#, docstring
-msgid "exit program"
-msgstr ""
-
-#: pisi/cli/commands.py:239
-msgid "Command terminated abnormally."
-msgstr ""
-
-#: pisi/cli/commands.py:249
-msgid "Command lacks name"
-msgstr ""
-
-#: pisi/cli/commands.py:253
-msgid "Duplicate command %s"
-msgstr ""
-
-#: pisi/cli/commands.py:262
-#, docstring
-msgid ""
-"Prints help for given commands\n"
-"\n"
-"Usage: help [ ... ]\n"
-"\n"
-"If run without parameters, it prints the general help."
-msgstr ""
-
-#: pisi/cli/commands.py:296
-#, docstring
-msgid ""
-"Clean stale locks\n"
-"\n"
-"Usage: clean\n"
-"\n"
-"PiSi uses filesystem locks for managing database access.\n"
-"This command deletes unused locks from the database directory."
-msgstr ""
-
-#: pisi/cli/commands.py:315
-#, docstring
-msgid ""
-"Delete cache files\n"
-"\n"
-"Usage: delete-cache\n"
-"\n"
-"Sources, packages and temporary files are stored\n"
-"under /var directory. Since these accumulate they can\n"
-"consume a lot of disk space."
-msgstr ""
-
-#: pisi/cli/commands.py:336
-#, docstring
-msgid ""
-"Graph package relations\n"
-"\n"
-"Usage: graph [ ...]\n"
-"\n"
-"Write a graph of package relations, tracking dependency and\n"
-"conflicts relations starting from given packages. By default\n"
-"shows the package relations among repository packages, and writes\n"
-"the package in graphviz format to 'pgraph.dot'.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:353
-msgid "graph options"
-msgstr ""
-
-#: pisi/cli/commands.py:357
-msgid "Specify a particular repository"
-msgstr ""
-
-#: pisi/cli/commands.py:360
-msgid "Graph of installed packages"
-msgstr ""
-
-#: pisi/cli/commands.py:363
-msgid "Do not show installed packages"
-msgstr ""
-
-#: pisi/cli/commands.py:366
-msgid "Dot output file"
-msgstr ""
-
-#: pisi/cli/commands.py:377
-msgid "Plotting packages in repository %s"
-msgstr ""
-
-#: pisi/cli/commands.py:383
-msgid "Plotting a graph of relations among all repository packages"
-msgstr ""
-
-#: pisi/cli/commands.py:390
-msgid "Plotting a graph of relations among all installed packages"
-msgstr ""
-
-#: pisi/cli/commands.py:402
-msgid "Do not take build no into account."
-msgstr ""
-
-#: pisi/cli/commands.py:407
-msgid "Do not take dependency information into account"
-msgstr ""
-
-#: pisi/cli/commands.py:411
-#, docstring
-msgid ""
-"Build PiSi packages\n"
-"\n"
-"Usage: build [ | ] ...\n"
-"\n"
-"You can give a URI of the pspec.xml file. PiSi will\n"
-"fetch all necessary files and build the package for you.\n"
-"\n"
-"Alternatively, you can give the name of a source package\n"
-"to be downloaded from a repository containing sources.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:433
-msgid "build options"
-msgstr ""
-
-#: pisi/cli/commands.py:441
-msgid "Output directory for produced packages"
-msgstr ""
-
-#: pisi/cli/commands.py:444
-msgid "Bypass errors from ActionsAPI"
-msgstr ""
-
-#: pisi/cli/commands.py:446 pisi/cli/commands.py:554
-msgid "Bypass safety switch"
-msgstr ""
-
-#: pisi/cli/commands.py:448
-msgid "Create a static package with ar files"
-msgstr ""
-
-#: pisi/cli/commands.py:450
-msgid "Do not install build dependencies, fail if a build dependency is present"
-msgstr ""
-
-#: pisi/cli/commands.py:452
-msgid "PiSi binary package formats: '1.0', '1.1' (default)"
-msgstr ""
-
-#: pisi/cli/commands.py:455
-msgid "build steps"
-msgstr ""
-
-#: pisi/cli/commands.py:457
-msgid "Break build after fetching the source archive"
-msgstr ""
-
-#: pisi/cli/commands.py:459
-msgid "Break build after unpacking the source archive, checking sha1sum and applying patches"
-msgstr ""
-
-#: pisi/cli/commands.py:461
-msgid "Break build after running configure step"
-msgstr ""
-
-#: pisi/cli/commands.py:463
-msgid "Break build after running compile step"
-msgstr ""
-
-#: pisi/cli/commands.py:465
-msgid "Break build after running install step"
-msgstr ""
-
-#: pisi/cli/commands.py:467
-msgid "create PiSi package"
-msgstr ""
-
-#: pisi/cli/commands.py:481
-msgid "package_format must be one of %s "
-msgstr ""
-
-#: pisi/cli/commands.py:484 pisi/cli/commands.py:533
-msgid "Output directory: %s"
-msgstr ""
-
-#: pisi/cli/commands.py:486
-msgid "Outputting packages in the working directory."
-msgstr ""
-
-#: pisi/cli/commands.py:497
-#, docstring
-msgid ""
-"Build and install PiSi source packages from repository\n"
-"\n"
-"Usage: emerge ...\n"
-"\n"
-"You should give the name of a source package to be\n"
-"downloaded from a repository containing sources.\n"
-"\n"
-"You can also give the name of a component.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:516
-msgid "emerge options"
-msgstr ""
-
-#: pisi/cli/commands.py:519 pisi/cli/commands.py:592 pisi/cli/commands.py:656
-msgid "Ignore file conflicts"
-msgstr ""
-
-#: pisi/cli/commands.py:521 pisi/cli/commands.py:594 pisi/cli/commands.py:658
-msgid "Ignore package conflicts"
-msgstr ""
-
-#: pisi/cli/commands.py:523 pisi/cli/commands.py:552
-msgid "Bypass comar configuration agent"
-msgstr ""
-
-#: pisi/cli/commands.py:535
-msgid "Outputting binary packages in the package cache."
-msgstr ""
-
-#: pisi/cli/commands.py:543
-#, docstring
-msgid "Abstract package operation command"
-msgstr ""
-
-#: pisi/cli/commands.py:556
-msgid "Do not perform any action, just show what would be done"
-msgstr ""
-
-#: pisi/cli/commands.py:567
-#, docstring
-msgid ""
-"Install PiSi packages\n"
-"\n"
-"Usage: install ... \n"
-"\n"
-"You may use filenames, URI's or package names for packages. If you have\n"
-"specified a package name, it should exist in a specified repository.\n"
-"\n"
-"You can also specify components instead of package names, which will be\n"
-"expanded to package names.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:585
-msgid "install options"
-msgstr ""
-
-#: pisi/cli/commands.py:590
-msgid "Reinstall already installed packages"
-msgstr ""
-
-#: pisi/cli/commands.py:596
-msgid "Install component's and recursive components' packages"
-msgstr ""
-
-#: pisi/cli/commands.py:598 pisi/cli/commands.py:662
-msgid "Fetch upgrades but do not install."
-msgstr ""
-
-#: pisi/cli/commands.py:621
-#, docstring
-msgid ""
-"Upgrade PiSi packages\n"
-"\n"
-"Usage: Upgrade [ ... ]\n"
-"\n"
-": package name\n"
-"\n"
-"Upgrades the entire system if no package names are given\n"
-"\n"
-"You may use only package names to specify packages because\n"
-"the package upgrade operation is defined only with respect\n"
-"to repositories. If you have specified a package name, it\n"
-"should exist in the package repositories. If you just want to\n"
-"reinstall a package from a PiSi file, use the install command.\n"
-"\n"
-"You can also specify components instead of package names, which will be\n"
-"expanded to package names.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:647
-msgid "upgrade options"
-msgstr ""
-
-#: pisi/cli/commands.py:652
-msgid "Security related package upgrades only"
-msgstr ""
-
-#: pisi/cli/commands.py:654
-msgid "Do not update repositories"
-msgstr ""
-
-#: pisi/cli/commands.py:660
-msgid "Upgrade component's and recursive components' packages"
-msgstr ""
-
-#: pisi/cli/commands.py:664
-msgid "When upgrading system, ignore packages and components whose basenames match pattern."
-msgstr ""
-
-#: pisi/cli/commands.py:666
-msgid "When upgrading system, ignore packages and components whose basenames match any pattern contained in file."
-msgstr ""
-
-#: pisi/cli/commands.py:706
-msgid "Updating repositories"
-msgstr ""
-
-#: pisi/cli/commands.py:711
-msgid "Will not update repositories"
-msgstr ""
-
-#: pisi/cli/commands.py:733
-#, docstring
-msgid ""
-"Remove PiSi packages\n"
-"\n"
-"Usage: remove ... \n"
-"\n"
-"Remove package(s) from your system. Just give the package names to remove.\n"
-"\n"
-"You can also specify components instead of package names, which will be\n"
-"expanded to package names.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:750
-msgid "remove options"
-msgstr ""
-
-#: pisi/cli/commands.py:753
-msgid "Remove component's and recursive components' packages"
-msgstr ""
-
-#: pisi/cli/commands.py:775
-#, docstring
-msgid ""
-"Configure pending packages\n"
-"\n"
-"If COMAR configuration of some packages were not\n"
-"done at installation time, they are added to a list\n"
-"of packages waiting to be configured. This command\n"
-"configures those packages.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:791
-msgid "configure-pending options"
-msgstr ""
-
-#: pisi/cli/commands.py:803
-#, docstring
-msgid ""
-"Display package information\n"
-"\n"
-"Usage: info ... \n"
-"\n"
-" is either a package name or a .pisi file,\n"
-msgstr ""
-
-#: pisi/cli/commands.py:818
-msgid "info options"
-msgstr ""
-
-#: pisi/cli/commands.py:825
-msgid "Show a list of package files."
-msgstr ""
-
-#: pisi/cli/commands.py:827
-msgid "Info about the given component"
-msgstr ""
-
-#: pisi/cli/commands.py:830
-msgid "Show only paths."
-msgstr ""
-
-#: pisi/cli/commands.py:832
-msgid "Do not show details"
-msgstr ""
-
-#: pisi/cli/commands.py:834
-msgid "Output in xml format"
-msgstr ""
-
-#: pisi/cli/commands.py:880
-msgid "Package file: %s"
-msgstr ""
-
-#: pisi/cli/commands.py:886
-msgid "[inst] "
-msgstr ""
-
-#: pisi/cli/commands.py:888
-msgid "Installed package:"
-msgstr ""
-
-#: pisi/cli/commands.py:894
-msgid "[repo] "
-msgstr ""
-
-#: pisi/cli/commands.py:896
-msgid "Package found in repository:"
-msgstr ""
-
-#: pisi/cli/commands.py:900
-msgid "%s is not found in repositories"
-msgstr ""
-
-#: pisi/cli/commands.py:903
-msgid "%s is not installed"
-msgstr ""
-
-#: pisi/cli/commands.py:916
-msgid "Reverse Dependencies:"
-msgstr ""
-
-#: pisi/cli/commands.py:919
-msgid ""
-"\n"
-"Files:"
-msgstr ""
-
-#: pisi/cli/commands.py:927
-msgid "File information not available"
-msgstr ""
-
-#: pisi/cli/commands.py:933
-#, docstring
-msgid ""
-"Verify installation\n"
-"\n"
-"Usage: check [ ... ]\n"
-"\n"
-": package name\n"
-"\n"
-"A cryptographic checksum is stored for each installed\n"
-"file. Check command uses the checksums to verify a package.\n"
-"Just give the names of packages.\n"
-"\n"
-"If no packages are given, checks all installed packages.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:957
-msgid "Checking all installed packages"
-msgstr ""
-
-#: pisi/cli/commands.py:960
-msgid "* Checking %s... "
-msgstr ""
-
-#: pisi/cli/commands.py:964
-msgid ""
-"\n"
-"Package %s is corrupt."
-msgstr ""
-
-#: pisi/cli/commands.py:968
-msgid "Package %s not installed"
-msgstr ""
-
-#: pisi/cli/commands.py:973
-#, docstring
-msgid ""
-"Index PiSi files in a given directory\n"
-"\n"
-"Usage: index ...\n"
-"\n"
-"This command searches for all PiSi files in a directory, collects PiSi\n"
-"tags from them and accumulates the information in an output XML file,\n"
-"named by default 'pisi-index.xml'. In particular, it indexes both\n"
-"source and binary packages.\n"
-"\n"
-"If you give multiple directories, the command still works, but puts\n"
-"everything in a single index file.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:994
-msgid "index options"
-msgstr ""
-
-#: pisi/cli/commands.py:998
-msgid "Store absolute links for indexed files."
-msgstr ""
-
-#: pisi/cli/commands.py:1001
-msgid "Index output file"
-msgstr ""
-
-#: pisi/cli/commands.py:1004
-msgid "Do not index PiSi spec files."
-msgstr ""
-
-#: pisi/cli/commands.py:1007
-msgid "Do not sign index."
-msgstr ""
-
-#: pisi/cli/commands.py:1020
-msgid "Indexing current directory."
-msgstr ""
-
-#: pisi/cli/commands.py:1028
-#, docstring
-msgid ""
-"Print the list of all installed packages\n"
-"\n"
-"Usage: list-installed\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1042
-msgid "list-installed options"
-msgstr ""
-
-#: pisi/cli/commands.py:1045 pisi/cli/commands.py:1278
-#: pisi/cli/commands.py:1342 pisi/cli/commands.py:1381
-#: pisi/cli/commands.py:1421 pisi/cli/commands.py:1555
-msgid "Show in long format"
-msgstr ""
-
-#: pisi/cli/commands.py:1047
-msgid "List installed packages under given component"
-msgstr ""
-
-#: pisi/cli/commands.py:1049 pisi/cli/commands.py:1425
-msgid "Show detailed install info"
-msgstr ""
-
-#: pisi/cli/commands.py:1066 pisi/cli/commands.py:1444
-msgid "Package Name |St| Version| Rel.| Build| Distro| Date"
-msgstr ""
-
-#: pisi/cli/commands.py:1081
-#, docstring
-msgid ""
-"Rebuild Databases\n"
-"\n"
-"Usage: rebuilddb [ ... ]\n"
-"\n"
-"Rebuilds the PiSi databases\n"
-"\n"
-"If package specs are given, they should be the names of package\n"
-"dirs under /var/lib/pisi\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1099
-msgid "rebuild-db options"
-msgstr ""
-
-#: pisi/cli/commands.py:1102
-msgid "Rebuild files database"
-msgstr ""
-
-#: pisi/cli/commands.py:1113
-msgid "Rebuild PiSi databases?"
-msgstr ""
-
-#: pisi/cli/commands.py:1120
-#, docstring
-msgid ""
-"Update repository databases\n"
-"\n"
-"Usage: update-repo [ ... ]\n"
-"\n"
-": repository name\n"
-"\n"
-"Synchronizes the PiSi databases with the current repository.\n"
-"If no repository is given, all repositories are updated.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1138
-msgid "update-repo options"
-msgstr ""
-
-#: pisi/cli/commands.py:1142
-msgid "Update database in any case"
-msgstr ""
-
-#: pisi/cli/commands.py:1160
-#, docstring
-msgid ""
-"Add a repository\n"
-"\n"
-"Usage: add-repo \n"
-"\n"
-": name of repository to add\n"
-": URI of index file\n"
-"\n"
-"If no repo is given, add-repo pardus-devel repo is added by default\n"
-"\n"
-"NB: We support only local files (e.g., /a/b/c) and http:// URIs at the moment\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1180
-msgid "add-repo options"
-msgstr ""
-
-#: pisi/cli/commands.py:1183
-msgid "Add repository at given position (0 is first)"
-msgstr ""
-
-#: pisi/cli/commands.py:1197
-msgid "Update PiSi database for repository %s?"
-msgstr ""
-
-#: pisi/cli/commands.py:1201
-msgid "%s repository could not be reached. Removing %s from system."
-msgstr ""
-
-#: pisi/cli/commands.py:1210
-#, docstring
-msgid ""
-"Remove repositories\n"
-"\n"
-"Usage: remove-repo ... \n"
-"\n"
-"Remove all repository information from the system.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1236
-#, docstring
-msgid ""
-"List repositories\n"
-"\n"
-"Usage: list-repo\n"
-"\n"
-"Lists currently tracked repositories.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1259
-#, docstring
-msgid ""
-"List available packages in the repositories\n"
-"\n"
-"Usage: list-available [ ... repon ]\n"
-"\n"
-"Gives a brief list of PiSi packages published in the specified\n"
-"repositories. If no repository is specified, we list packages in\n"
-"all repositories.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1276
-msgid "list-available options"
-msgstr ""
-
-#: pisi/cli/commands.py:1280
-msgid "List available packages under given component"
-msgstr ""
-
-#: pisi/cli/commands.py:1282
-msgid "Show uninstalled packages only"
-msgstr ""
-
-#: pisi/cli/commands.py:1290
-msgid "Installed packages are shown in this color"
-msgstr ""
-
-#: pisi/cli/commands.py:1298
-msgid "Repository : %s\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1325
-#, docstring
-msgid ""
-"List available components\n"
-"\n"
-"Usage: list-components\n"
-"\n"
-"Gives a brief list of PiSi components published in the\n"
-"repositories.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1340
-msgid "list-components options"
-msgstr ""
-
-#: pisi/cli/commands.py:1365
-#, docstring
-msgid ""
-"List available sources\n"
-"\n"
-"Usage: list-sources\n"
-"\n"
-"Gives a brief list of sources published in the repositories.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1379
-msgid "list-sources options"
-msgstr ""
-
-#: pisi/cli/commands.py:1404
-#, docstring
-msgid ""
-"List packages to be upgraded\n"
-"\n"
-"Usage: list-upgrades\n"
-"\n"
-"Lists the packages that will be upgraded.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1418
-msgid "list-upgrades options"
-msgstr ""
-
-#: pisi/cli/commands.py:1423
-msgid "List upgradable packages under given component"
-msgstr ""
-
-#: pisi/cli/commands.py:1440 pisi/operations.py:466
-msgid "No packages to upgrade."
-msgstr ""
-
-#: pisi/cli/commands.py:1460
-#, docstring
-msgid ""
-"List pending packages\n"
-"\n"
-"Lists packages waiting to be configured.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1482
-msgid "There are no packages waiting to be configured"
-msgstr ""
-
-#: pisi/cli/commands.py:1487
-#, docstring
-msgid ""
-"Search packages\n"
-"\n"
-"Usage: search ... \n"
-"\n"
-"Finds a package containing specified search terms\n"
-"in summary, description, and package name fields.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1502
-msgid "search options"
-msgstr ""
-
-#: pisi/cli/commands.py:1505
-msgid "Set search language"
-msgstr ""
-
-#: pisi/cli/commands.py:1510
-msgid "Show details"
-msgstr ""
-
-#: pisi/cli/commands.py:1530
-msgid "%s packages found"
-msgstr ""
-
-#: pisi/cli/commands.py:1539
-#, docstring
-msgid ""
-"Search for a file\n"
-"\n"
-"Usage: search-file ... \n"
-"\n"
-"Finds the installed package which contains the specified file.\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1553
-msgid "search-file options"
-msgstr ""
-
-#: pisi/cli/commands.py:1557
-msgid "Fuzzy search"
-msgstr ""
-
-#: pisi/cli/commands.py:1559
-msgid "Show only package name"
-msgstr ""
-
-#: pisi/cli/commands.py:1580
-msgid "Package %s has file %s"
-msgstr ""
-
-#: pisi/cli/commands.py:1582
-msgid "Type: %s, Hash: %s"
-msgstr ""
-
-#: pisi/cli/commands.py:1585
-msgid "Path '%s' does not belong to an installed package"
-msgstr ""
-
-#: pisi/cli/commands.py:1598
-msgid "Searching for %s"
-msgstr ""
-
-#: pisi/cli/commands.py:1608
-msgid ""
-"%prog [options] [arguments]\n"
-"\n"
-"where is one of:\n"
-"\n"
-msgstr ""
-
-#: pisi/cli/commands.py:1614
-msgid ""
-"\n"
-"Use \"%prog help \" for help on a specific command.\n"
-msgstr ""
-
-#: pisi/cli/pisicli.py:56
-msgid "Options must precede non-option arguments"
-msgstr ""
-
-#: pisi/cli/pisicli.py:97
-msgid "No command given"
-msgstr ""
-
-#: pisi/cli/pisicli.py:100
-msgid "Command line parsing error"
-msgstr ""
-
-#: pisi/comariface.py:54
-msgid "cannot connect to comar"
-msgstr ""
-
-#: pisi/comariface.py:72
-msgid "Could not restart comar"
-msgstr ""
-
-#: pisi/comariface.py:77
-msgid "connection with comar unexpectedly closed"
-msgstr ""
-
-#: pisi/comariface.py:90
-msgid "Configuration error: %s"
-msgstr ""
-
-#: pisi/comariface.py:92
-msgid "Script error: %s"
-msgstr ""
-
-#: pisi/comariface.py:94
-msgid "comar denied our access"
-msgstr ""
-
-#: pisi/comariface.py:99
-msgid "Configuring %s package"
-msgstr ""
-
-#: pisi/comariface.py:104
-msgid "Registering %s comar script"
-msgstr ""
-
-#: pisi/comariface.py:110
-msgid "Calling post install handlers"
-msgstr ""
-
-#: pisi/comariface.py:115
-msgid "Running package's post install script"
-msgstr ""
-
-#: pisi/comariface.py:122
-msgid "Configuring %s package for removal"
-msgstr ""
-
-#: pisi/comariface.py:125
-msgid "Running package's pre remove script"
-msgstr ""
-
-#: pisi/comariface.py:129
-msgid "Calling pre remove handlers"
-msgstr ""
-
-#: pisi/comariface.py:133
-msgid "Unregistering comar scripts"
-msgstr ""
-
-#: pisi/component.py:97 pisi/component.py:103
-msgid "Component %s not found"
-msgstr ""
-
-#: pisi/component.py:199 pisi/component.py:225
-msgid "Information for component %s not available"
-msgstr ""
-
-#: pisi/config.py:61
-msgid "Destination directory %s does not exist. Creating it."
-msgstr ""
-
-#: pisi/configfile.py:105
-msgid "No section by name '%s'"
-msgstr ""
-
-#: pisi/conflict.py:39 pisi/dependency.py:40
-msgid " version >= "
-msgstr ""
-
-#: pisi/conflict.py:41 pisi/dependency.py:42
-msgid " version <= "
-msgstr ""
-
-#: pisi/conflict.py:43 pisi/dependency.py:44
-msgid " version "
-msgstr ""
-
-#: pisi/conflict.py:45 pisi/dependency.py:46
-msgid " release >= "
-msgstr ""
-
-#: pisi/conflict.py:47 pisi/dependency.py:48
-msgid " release <= "
-msgstr ""
-
-#: pisi/conflict.py:49 pisi/dependency.py:50
-msgid " release "
-msgstr ""
-
-#: pisi/constants.py:30
-msgid "Can't rebind constant: %s"
-msgstr ""
-
-#: pisi/constants.py:36
-msgid "Can't unbind constant: %s"
-msgstr ""
-
-#: pisi/dependency.py:107
-msgid "%s dependency of package %s is not satisfied"
-msgstr ""
-
-#: pisi/dependency.py:120
-msgid "Package %s is not present in the package database"
-msgstr ""
-
-#: pisi/fetcher.py:81
-msgid "Filename error"
-msgstr ""
-
-#: pisi/fetcher.py:84
-msgid "Access denied to write to destination directory: \"%s\""
-msgstr ""
-
-#: pisi/fetcher.py:89
-msgid "Access denied to destination file: \"%s\""
-msgstr ""
-
-#: pisi/fetcher.py:100
-msgid "A problem occured. Please check the archive address and/or permissions again."
-msgstr ""
-
-#: pisi/fetcher.py:158
-msgid "No such file or no permission to read"
-msgstr ""
-
-#: pisi/fetcher.py:183
-msgid "Requested range not satisfiable, starting again."
-msgstr ""
-
-#: pisi/fetcher.py:190
-msgid "Cannot fetch %s; value error: %s"
-msgstr ""
-
-#: pisi/fetcher.py:192 pisi/fetcher.py:196
-msgid "Cannot fetch %s; %s"
-msgstr ""
-
-#: pisi/fetcher.py:194
-msgid "Please check your network connections and try again. (%s)"
-msgstr ""
-
-#: pisi/fetcher.py:198
-msgid "Cannot fetch %s; (%s): %s"
-msgstr ""
-
-#: pisi/fetcher.py:244
-msgid "Proxy configuration has been found for '%s' protocol"
-msgstr ""
-
-#: pisi/fetcher.py:328 pisi/fetcher.py:349 pisi/fetcher.py:362
-msgid "ftp error"
-msgstr ""
-
-#: pisi/file.py:66
-msgid "uri must have type either URI or string"
-msgstr ""
-
-#: pisi/file.py:89
-msgid "zip compression not supported yet"
-msgstr ""
-
-#: pisi/file.py:117
-msgid "Fetching %s"
-msgstr ""
-
-#: pisi/file.py:122
-msgid "Copying %s to transfer dir"
-msgstr ""
-
-#: pisi/file.py:127
-msgid "File '%s' not found."
-msgstr ""
-
-#: pisi/file.py:135
-msgid "File integrity of %s compromised."
-msgstr ""
-
-#: pisi/file.py:155
-msgid "File mode must be either File.read or File.write"
-msgstr ""
-
-#: pisi/file.py:160
-msgid "Remote write not implemented"
-msgstr ""
-
-#: pisi/file.py:187
-msgid "gzip compression not supported yet"
-msgstr ""
-
-#: pisi/file.py:202 pisi/file.py:205
-msgid "ERROR: gpg --detach-sig %s failed"
-msgstr ""
-
-#: pisi/graph.py:31
-msgid "Encountered cycle %s"
-msgstr ""
-
-#: pisi/index.py:92
-msgid "Adding %s to package index"
-msgstr ""
-
-#: pisi/index.py:95
-msgid "Adding %s to component index"
-msgstr ""
-
-#: pisi/index.py:113
-msgid "Updating package database of %s"
-msgstr ""
-
-#: pisi/index.py:141
-msgid "Package %s: metadata corrupt, skipping..."
-msgstr ""
-
-#: pisi/index.py:169
-msgid "Adding %s to source index"
-msgstr ""
-
-#: pisi/installdb.py:58
-msgid "installed"
-msgstr ""
-
-#: pisi/installdb.py:58
-msgid "installed-pending"
-msgstr ""
-
-#: pisi/installdb.py:59
-msgid "purged"
-msgstr ""
-
-#: pisi/installdb.py:59
-msgid "removed"
-msgstr ""
-
-#: pisi/installdb.py:62
-msgid ""
-"State: %s\n"
-"Version: %s, Release: %s, Build: %s\n"
-msgstr ""
-
-#: pisi/installdb.py:67
-msgid "Distribution: %s, Install Time: %s\n"
-msgstr ""
-
-#: pisi/installdb.py:154
-msgid "Already installed"
-msgstr ""
-
-#: pisi/itembyrepodb.py:120
-msgid "Invalid repository string"
-msgstr ""
-
-#: pisi/itembyrepodb.py:142
-msgid "Key %s not found"
-msgstr ""
-
-#: pisi/itembyrepodb.py:152
-msgid "Key %s in repo %s not found"
-msgstr ""
-
-#: pisi/lockeddbshelve.py:47
-msgid "Database version for %s insufficient. Please run rebuild-db command."
-msgstr ""
-
-#: pisi/lockeddbshelve.py:51
-msgid "Database version for %s greater than PiSi version. You need a newer PiSi."
-msgstr ""
-
-#: pisi/lockeddbshelve.py:62
-msgid "Cannot attain write access to database environment"
-msgstr ""
-
-#: pisi/lockeddbshelve.py:64
-msgid "Database version %s not present."
-msgstr ""
-
-#: pisi/lockeddbshelve.py:71 pisi/lockeddbshelve.py:153
-msgid "Another instance of PiSi is running. Only one instance is allowed to modify the PiSi database at a time."
-msgstr ""
-
-#: pisi/lockeddbshelve.py:81
-msgid "Cannot attain read access to database environment"
-msgstr ""
-
-#: pisi/lockeddbshelve.py:95
-msgid "Cannot attain write access to PiSi database. You have to be root for this operation."
-msgstr ""
-
-#: pisi/lockeddbshelve.py:113
-msgid "Cannot attain read or write access to database %s"
-msgstr ""
-
-#: pisi/lockeddbshelve.py:139
-msgid "Flags should be one of 'r', 'w', 'c' or 'n' or use the bsddb.db.DB_* flags"
-msgstr ""
-
-#: pisi/metadata.py:58
-msgid "Distribution: %s, Dist. Release: %s\n"
-msgstr ""
-
-#: pisi/metadata.py:60
-msgid "Architecture: %s, Installed Size: %s"
-msgstr ""
-
-#: pisi/mirrors.py:46
-msgid "Mirrors file %s does not exist. Could not resolve mirrors://"
-msgstr ""
-
-#: pisi/operations.py:114
-msgid "Mixing file names and package names not supported yet."
-msgstr ""
-
-#: pisi/operations.py:156
-msgid ""
-"The following packages will be installed\n"
-"in the respective order to satisfy extra dependencies:\n"
-msgstr ""
-
-#: pisi/operations.py:159 pisi/operations.py:621
-msgid "Do you want to continue?"
-msgstr ""
-
-#: pisi/operations.py:160
-msgid "External dependencies not satisfied"
-msgstr ""
-
-#: pisi/operations.py:172 pisi/operations.py:339
-msgid "No packages to install."
-msgstr ""
-
-#: pisi/operations.py:203
-msgid "Installation order: "
-msgstr ""
-
-#: pisi/operations.py:257 pisi/operations.py:279
-msgid "Conflicts remain"
-msgstr ""
-
-#: pisi/operations.py:267
-msgid "Selected packages [%s] are in conflict with each other."
-msgstr ""
-
-#: pisi/operations.py:273
-msgid "[%s conflicts with: %s]\n"
-msgstr ""
-
-#: pisi/operations.py:275
-msgid ""
-"The following packages have conflicts:\n"
-"%s"
-msgstr ""
-
-#: pisi/operations.py:278
-msgid "Remove the following conflicting packages?"
-msgstr ""
-
-#: pisi/operations.py:305
-msgid "Safety switch: Following packages in system.base will be installed: "
-msgstr ""
-
-#: pisi/operations.py:311
-msgid "Safety switch: Following packages in system.base will be upgraded: "
-msgstr ""
-
-#: pisi/operations.py:317 pisi/operations.py:597
-msgid "Safety switch: the component system.base cannot be found"
-msgstr ""
-
-#: pisi/operations.py:334
-msgid "The following package(s) are already installed and are not going to be installed again:\n"
-msgstr ""
-
-#: pisi/operations.py:355
-msgid "Following packages will be installed in the respective order to satisfy dependencies:\n"
-msgstr ""
-
-#: pisi/operations.py:360 pisi/operations.py:491
-msgid "Total size of package(s): %.2f %s"
-msgstr ""
-
-#: pisi/operations.py:366 pisi/operations.py:497 pisi/operations.py:709
-msgid "There are extra packages due to dependencies. Do you want to continue?"
-msgstr ""
-
-#: pisi/operations.py:432
-msgid "Warning: package *name* ends with '.pisi'"
-msgstr ""
-
-#: pisi/operations.py:435
-msgid "Package %s is not installed."
-msgstr ""
-
-#: pisi/operations.py:441
-msgid "Package %s is not available in repositories."
-msgstr ""
-
-#: pisi/operations.py:453
-msgid "Package %s is already at the latest release %s."
-msgstr ""
-
-#: pisi/operations.py:459
-msgid "Package %s is already at the latest build %s."
-msgstr ""
-
-#: pisi/operations.py:486
-msgid "The following packages will be upgraded: "
-msgstr ""
-
-#: pisi/operations.py:552
-msgid "Dependency %s of %s cannot be satisfied"
-msgstr ""
-
-#: pisi/operations.py:553
-msgid "Upgrade is not possible."
-msgstr ""
-
-#: pisi/operations.py:568
-msgid "Reverse dependency %s of %s cannot be satisfied"
-msgstr ""
-
-#: pisi/operations.py:593
-msgid "Safety switch: cannot remove the following packages in system.base: "
-msgstr ""
-
-#: pisi/operations.py:604
-msgid "Package %s does not exist. Cannot remove."
-msgstr ""
-
-#: pisi/operations.py:608
-msgid "No packages to remove."
-msgstr ""
-
-#: pisi/operations.py:617
-msgid ""
-"The following minimal list of packages will be removed\n"
-"in the respective order to satisfy dependencies:\n"
-msgstr ""
-
-#: pisi/operations.py:622
-msgid "Package removal declined"
-msgstr ""
-
-#: pisi/operations.py:634
-msgid "Package %s is not installed. Cannot remove."
-msgstr ""
-
-#: pisi/operations.py:683
-msgid "No packages to emerge."
-msgstr ""
-
-#: pisi/operations.py:698
-msgid ""
-"The following minimal list of packages will be installed\n"
-"from repository in the respective order to satisfy dependencies:\n"
-msgstr ""
-
-#: pisi/operations.py:701
-msgid ""
-"The following minimal list of packages will be built and\n"
-"installed in the respective order to satisfy dependencies:\n"
-msgstr ""
-
-#: pisi/operations.py:743
-msgid "Cannot find source package: %s"
-msgstr ""
-
-#: pisi/package.py:56
-msgid ""
-"There was a problem while fetching '%s'.\n"
-"The package may have been upgraded. Please try to upgrade the package."
-msgstr ""
-
-#: pisi/package.py:60 pisi/sourcearchive.py:94
-msgid "%s [cached]"
-msgstr ""
-
-#: pisi/package.py:131
-msgid "MetaData format wrong"
-msgstr ""
-
-#: pisi/packagedb.py:66
-msgid "Package %s not found"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:77
-msgid "At least one '%s' tag should have local text"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:84
-msgid "'%s' language of tag '%s' is empty"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:112
-msgid "LocalText: unable to get either current or default locale"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:118 pisi/pxml/autoxml.py:133
-msgid "Tag should have at least the current locale, or failing that an English or Turkish version"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:368
-msgid "autoxml.check: '%s' errors"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:423 pisi/pxml/autoxml.py:433
-msgid "autoxml.parse: String '%s' has errors"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:443 pisi/pxml/autoxml.py:453
-msgid "autoxml.read: File '%s' has errors"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:461
-msgid "autoxml.write: object validation has failed"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:469
-msgid "autoxml.write: File encoding '%s' has errors"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:519
-msgid "gen_tag: unrecognized tag type %s in spec"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:567 pisi/pxml/autoxml.py:578
-msgid "Mandatory variable %s not available"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:648
-msgid "Type mismatch: read text cannot be decoded"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:652 pisi/pxml/autoxml.py:661
-msgid "Mandatory token %s not available"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:666
-msgid "Type mismatch. Expected %s, got %s"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:696 pisi/pxml/autoxml.py:812
-msgid "Type mismatch: DOM cannot be decoded"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:699 pisi/pxml/autoxml.py:715 pisi/pxml/autoxml.py:725
-#: pisi/pxml/autoxml.py:815 pisi/pxml/autoxml.py:829 pisi/pxml/autoxml.py:839
-msgid "Mandatory argument not available"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:712 pisi/pxml/autoxml.py:826
-msgid "Object cannot be encoded"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:737
-msgid "List type must contain only one element"
-msgstr ""
-
-#: pisi/pxml/autoxml.py:750 pisi/pxml/autoxml.py:771
-msgid "Mandatory list \"%s\" under \"%s\" node is empty."
-msgstr ""
-
-#: pisi/pxml/xmlext.py:79
-msgid "getNodeText: Expected text node, got something else!"
-msgstr ""
-
-#: pisi/pxml/xmlfile.py:64
-msgid "String '%s' has invalid XML"
-msgstr ""
-
-#: pisi/pxml/xmlfile.py:72 pisi/pxml/xmlfile.py:87
-msgid "File '%s' has invalid XML"
-msgstr ""
-
-#: pisi/repodb.py:74
-msgid "No repository named %s exists"
-msgstr ""
-
-#: pisi/repodb.py:83
-msgid "Repository %s already exists"
-msgstr ""
-
-#: pisi/repodb.py:90
-msgid "Cannot add repository at position %s"
-msgstr ""
-
-#: pisi/scenarioapi/package.py:67
-msgid "No pisi package: %s* found."
-msgstr ""
-
-#: pisi/scenarioapi/repoops.py:28
-msgid "Repo already has package named %s."
-msgstr ""
-
-#: pisi/scenarioapi/repoops.py:52 pisi/scenarioapi/repoops.py:59
-msgid "Repo does not have package named %s."
-msgstr ""
-
-#: pisi/sourcearchive.py:63
-msgid "Trying fallback address: %s"
-msgstr ""
-
-#: pisi/sourcearchive.py:74
-msgid "%s mirrors are not defined."
-msgstr ""
-
-#: pisi/sourcearchive.py:79
-msgid "Fetching source from mirror: %s"
-msgstr ""
-
-#: pisi/sourcearchive.py:85
-msgid "Could not fetch source from %s mirrors."
-msgstr ""
-
-#: pisi/sourcearchive.py:103
-msgid "unpack: check_file_hash failed"
-msgstr ""
-
-#: pisi/sourcedb.py:59 pisi/sourcedb.py:65
-msgid "Source package %s not found"
-msgstr ""
-
-#: pisi/specfile.py:141
-msgid "URI: %s, type: %s, sha1sum: %s"
-msgstr ""
-
-#: pisi/specfile.py:208
-msgid "Name: %s, version: %s, release: %s, build %s\n"
-msgstr ""
-
-#: pisi/specfile.py:210
-msgid "Summary: %s\n"
-msgstr ""
-
-#: pisi/specfile.py:211
-msgid "Description: %s\n"
-msgstr ""
-
-#: pisi/specfile.py:212
-msgid "Component: %s\n"
-msgstr ""
-
-#: pisi/specfile.py:213
-msgid "Provides: "
-msgstr ""
-
-#: pisi/specfile.py:217
-msgid "Dependencies: "
-msgstr ""
-
-#: pisi/uri.py:80
-msgid "setAuthInfo needs a tuple (user, pass)"
-msgstr ""
-
-#: pisi/util.py:122 pisi/util.py:143
-msgid "Running "
-msgstr ""
-
-#: pisi/util.py:126 pisi/util.py:161
-msgid "return value for \"%s\" is %s"
-msgstr ""
-
-#: pisi/util.py:364
-msgid "Including external link '%s'"
-msgstr ""
-
-#: pisi/util.py:366
-msgid "Including directory '%s'"
-msgstr ""
-
-#: pisi/util.py:440
-msgid "I/O Error: Cannot calculate SHA1 hash of %s"
-msgstr ""
-
-#: pisi/util.py:451
-msgid "Cannot calculate SHA1 hash of given data"
-msgstr ""
-
-#: pisi/util.py:488
-msgid "ERROR: patch (%s) failed"
-msgstr ""
-
-#: pisi/util.py:490
-msgid "ERROR: patch (%s) failed: %s"
-msgstr ""
-
-#: pisi/util.py:536
-msgid "strip command failed for file '%s'!"
-msgstr ""
-
-#: pisi/util.py:543
-msgid "objcopy (keep-debug) command failed for file '%s'!"
-msgstr ""
-
-#: pisi/util.py:549
-msgid "objcopy (add-debuglink) command failed for file '%s'!"
-msgstr ""
-
-#: pisi/util.py:610
-msgid "Updating environment..."
-msgstr ""
-
-#: scripts/repostats.py:361
-msgid ""
-"Duplicate binary packages:\n"
-"%s\n"
-"%s\n"
-msgstr ""
-
-#: scripts/repostats.py:366
-msgid "Unknown file type '%s' in package '%s'"
-msgstr ""
-
-#: scripts/repostats.py:422
-msgid ""
-"Duplicate source packages:\n"
-"%s\n"
-"%s\n"
-msgstr ""
-
-#: scripts/repostats.py:442
-msgid "Source package '%s' has wrong date format '%s'"
-msgstr ""
-
-#: scripts/repostats.py:481
-msgid "Developer '%s <%s>' has another mail address '%s' in source package '%s'"
-msgstr ""
-
-#: scripts/repostats.py:564
-msgid ""
-"Cannot parse '%s':\n"
-"%s\n"
-msgstr ""
-
-#: scripts/repostats.py:642
-msgid "Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n"
-msgstr ""
-
-#: scripts/repostats.py:643
-msgid "Dont generate the web site.\n"
-msgstr ""
-
-#: scripts/repostats.py:664
-msgid "Scanning source repository...\n"
-msgstr ""
-
-#: scripts/repostats.py:668
-msgid "Scanning binary packages...\n"
-msgstr ""
-
-#: scripts/repostats.py:673
-msgid "Encountered %d errors! Fix them immediately!\n"
-msgstr ""
-
-#: scripts/repostats.py:681
-msgid "These dependencies are not available in repository:\n"
-msgstr ""
-
diff --git a/po/tr.po b/po/tr.po
index fda883d5..895b9fab 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,17 +1,17 @@
-# translation of tr.po to Türkçe
+# translation of tr.po to
# Eray Ozkural , 2005,2006.
# Furkan Duman , 2006.
-# Faik Uygur , 2006.
+# Faik Uygur , 2006, 2007.
# Ahmet AYGÜN , 2006.
# PiSi Translation
-# Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
msgid ""
msgstr ""
"Project-Id-Version: tr\n"
-"POT-Creation-Date: 2006-12-09 20:35+EET\n"
-"PO-Revision-Date: 2006-12-13 13:24+0200\n"
-"Last-Translator: Ahmet AYGÜN \n"
-"Language-Team: Türkçe