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 \n" +"POT-Creation-Date: 2007-07-05 09:54+EEST\n" +"PO-Revision-Date: 2007-07-05 10:00+0300\n" +"Last-Translator: Faik Uygur \n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -65,7 +65,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 msgid "Return a comma-separated list of option strings & metavariables." msgstr "" @@ -75,7 +75,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 "kullanımı: %s\n" @@ -351,7 +351,7 @@ msgstr "Geri-iz:" msgid "Use --debug to see a traceback." msgstr "Bir geri-iz (traceback) görmek için lütfen --debug seçeneğini kullanın." -#: 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" @@ -361,8 +361,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 "Yapılandırma başarısızlığa uğradı." @@ -372,52 +372,60 @@ msgstr "Yapılandırma başarısızlığa uğradı." msgid "No configure script found." msgstr "Yapılandırma betiği bulunamadı." -#: 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 "İnşa başarısızlığa uğradı." # 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 "Kurulum başarısızlığa uğradı." # 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 "Makefile bulunamadı." -#: pisi/actionsapi/autotools.py:143 +#: pisi/actionsapi/autotools.py:144 msgid "Running aclocal failed." msgstr "aclocal çalıştırılamadı." # pisi/actionsapi/autotools.py:139 :144 -#: pisi/actionsapi/autotools.py:148 +#: pisi/actionsapi/autotools.py:149 msgid "Running autoconf failed." msgstr "autoconf çalıştırılamadı." # pisi/actionsapi/autotools.py:139 :144 -#: pisi/actionsapi/autotools.py:153 +#: pisi/actionsapi/autotools.py:154 msgid "Running autoreconf failed." msgstr "autoreconf çalıştırılamadı." -#: pisi/actionsapi/autotools.py:158 +#: pisi/actionsapi/autotools.py:159 msgid "Running automake failed." msgstr "automake çalıştırılamadı." -#: pisi/actionsapi/autotools.py:163 +#: pisi/actionsapi/autotools.py:164 msgid "Running autoheader failed." msgstr "autoheader çalıştırılamadı." -#: pisi/actionsapi/get.py:163 +# pisi/actionsapi/autotools.py:77 :87 +#: pisi/actionsapi/cmaketools.py:64 +msgid "No configure script found for cmake." +msgstr "cmake için yapılandırma betiği bulunamadı." + +#: pisi/actionsapi/get.py:160 msgid "Util %s cannot be found" msgstr "Araç %s bulunamıyor" -#: pisi/actionsapi/get.py:165 +#: pisi/actionsapi/get.py:162 msgid "Warning: %s does not exist, using plain name %s" msgstr "Uyarı: %s yok, düz ad %s kullanılıyor" @@ -552,19 +560,19 @@ msgstr "ActionsAPI [copytree]: %s dizini bulunamadı." msgid "ActionsAPI [touch]: Permission denied: %s" msgstr "ActionsAPI [touch]: Erişim engellendi: %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 paketi tam olarak kurulmamış" -#: pisi/api.py:314 +#: pisi/api.py:311 msgid "File %s not found" msgstr "Dosya %s bulunamadı." -#: pisi/api.py:375 +#: pisi/api.py:366 msgid "Checking /%s " msgstr "/%s kontrol ediliyor " -#: pisi/api.py:379 +#: pisi/api.py:370 msgid "" "\n" "Corrupt file: %s" @@ -572,67 +580,67 @@ msgstr "" "\n" "Bozuk dosya: %s" -#: pisi/api.py:381 pisi/cli/commands.py:966 +#: pisi/api.py:372 pisi/cli/commands.py:1046 msgid "OK" msgstr "Tamam" -#: pisi/api.py:394 +#: pisi/api.py:385 msgid "* Building index of PiSi files under %s" msgstr "* %s altındaki PiSi dosyalarının bir indeksi yapılıyor" -#: pisi/api.py:401 +#: pisi/api.py:392 msgid "* Index file written" msgstr "* İndeks dosyası yazıldı" -#: pisi/api.py:405 +#: pisi/api.py:396 msgid "Repo %s already present." msgstr "Depo %s halihazırda var." -#: pisi/api.py:409 +#: pisi/api.py:400 msgid "Repo %s added to system." msgstr "%s isimli depo sisteme eklendi." -#: pisi/api.py:415 +#: pisi/api.py:406 msgid "Repo %s removed from system." msgstr "%s isimli depo sistemden çıkarıldı." -#: pisi/api.py:417 +#: pisi/api.py:408 msgid "Repository %s does not exist. Cannot remove." msgstr "%s deposu yok. Kaldırılamıyor." -#: pisi/api.py:424 +#: pisi/api.py:415 msgid "* Updating repository: %s" msgstr "* %s deposu güncelleniyor" -#: pisi/api.py:432 +#: pisi/api.py:423 msgid "No updates available for repository %s." msgstr "%s deposu için güncelleme yok." -#: pisi/api.py:434 +#: pisi/api.py:425 msgid "Updating database at any rate as requested" msgstr "Veritabanı istek üzerine güncelleniyor" -#: pisi/api.py:445 +#: pisi/api.py:436 msgid "* Package database updated." msgstr "* Paket veritabanı güncellendi." -#: pisi/api.py:447 pisi/api.py:472 +#: pisi/api.py:438 pisi/api.py:463 msgid "No repository named %s found." msgstr "%s adında bir depo bulunamadı." -#: pisi/api.py:455 +#: pisi/api.py:446 msgid "* Rebuilding '%s' named repo... " msgstr "* '%s' isimli depo yeniden inşa ediliyor... " -#: pisi/api.py:468 +#: pisi/api.py:459 msgid "Input/Output error while reading %s: %s" msgstr "%s okunurken girdi/çıktı hatası: %s" -#: pisi/api.py:525 +#: pisi/api.py:516 msgid "Rebuilding package database" msgstr "Paket veritabanı yeniden inşa ediliyor" -#: pisi/archive.py:36 +#: pisi/archive.py:37 msgid "" "An error has occured while running LZMA:\n" "%s" @@ -640,35 +648,35 @@ msgstr "" "LZMA çalıştırılırken bir hata oluştu:\n" "%s" -#: pisi/archive.py:101 pisi/archive.py:161 +#: pisi/archive.py:123 pisi/archive.py:183 msgid "Archive type not recognized" msgstr "Arşiv tipi tanınmadı" -#: pisi/atomicoperations.py:66 +#: pisi/atomicoperations.py:65 msgid "Package %s found in repository %s" msgstr "Paket %s, %s deposunda bulundu" -#: pisi/atomicoperations.py:78 +#: pisi/atomicoperations.py:88 msgid "Package URI: %s" msgstr "Paket adresi: %s" -#: pisi/atomicoperations.py:82 +#: pisi/atomicoperations.py:92 msgid "Package %s not found in any active repository." msgstr "%s isimli paket hiç bir etkin depoda bulunamadı." -#: pisi/atomicoperations.py:101 +#: pisi/atomicoperations.py:111 msgid "Installing %s, version %s, release %s, build %s" msgstr "%s paketi, versiyon %s, sürüm %s, inşa %s kuruluyor" -#: pisi/atomicoperations.py:146 +#: pisi/atomicoperations.py:156 msgid "%s package cannot be installed unless the dependencies are satisfied" msgstr "%s paketi bağımlılıkları sağlanmadan kurulamaz" -#: pisi/atomicoperations.py:165 +#: pisi/atomicoperations.py:185 msgid "/%s from %s package\n" msgstr "/%s %s paketinden\n" -#: pisi/atomicoperations.py:166 +#: pisi/atomicoperations.py:186 msgid "" "File conflicts:\n" "%s" @@ -676,275 +684,287 @@ msgstr "" "Dosya çakışmaları:\n" "%s" -#: pisi/atomicoperations.py:201 +#: pisi/atomicoperations.py:221 msgid "Re-install same version package?" msgstr "Aynı versiyona sahip paketi yeniden yerleştireyim mi?" -#: pisi/atomicoperations.py:202 +#: pisi/atomicoperations.py:222 msgid "Package re-install declined" msgstr "Paketi yeniden yerleştirmeye izin verilmedi" -#: pisi/atomicoperations.py:208 +#: pisi/atomicoperations.py:228 msgid "Upgrading to new upstream version" msgstr "Yeni orijinal versiyona yükseltiliyor" -#: pisi/atomicoperations.py:211 +#: pisi/atomicoperations.py:231 msgid "Upgrading to new distribution release" msgstr "Yeni dağıtım sürümüne yükseltiliyor" -#: pisi/atomicoperations.py:215 +#: pisi/atomicoperations.py:235 msgid "Upgrading to new distribution build" msgstr "Yeni dağıtım inşasına yükseltiliyor" -#: pisi/atomicoperations.py:225 +#: pisi/atomicoperations.py:245 msgid "Downgrade to old distribution release?" msgstr "Eski dağıtım sürümüne dönülsün mü?" -#: pisi/atomicoperations.py:227 +#: pisi/atomicoperations.py:247 msgid "Downgrade to old distribution build?" msgstr "Eski dağıtım inşasına dönülsün mü?" -#: pisi/atomicoperations.py:229 +#: pisi/atomicoperations.py:249 msgid "Package downgrade declined" msgstr "Paket eskileştirilmesine izin verilmedi" # pisi/actionsapi/autotools.py:75 :85 -#: pisi/atomicoperations.py:253 +#: pisi/atomicoperations.py:273 msgid "%s configuration failed." msgstr "%s yapılandırması başarısızlığa uğradı." -#: pisi/atomicoperations.py:340 +#: pisi/atomicoperations.py:396 msgid "Storing %s, " msgstr "%s saklanıyor, " -#: pisi/atomicoperations.py:343 +#: pisi/atomicoperations.py:399 msgid "Storing %s." msgstr "%s saklanıyor." -#: pisi/atomicoperations.py:350 +#: pisi/atomicoperations.py:406 msgid "Storing %s" msgstr "%s saklanıyor" -#: pisi/atomicoperations.py:406 +#: pisi/atomicoperations.py:462 msgid "File list could not be read for package %s, continuing removal." msgstr "%s paketi için dosya listesi okunamadı, kaldırma işlemine devam ediliyor. " -#: pisi/atomicoperations.py:412 +#: pisi/atomicoperations.py:468 msgid "Removing package %s" msgstr "%s paketi kaldırılıyor" -#: pisi/atomicoperations.py:415 +#: pisi/atomicoperations.py:471 msgid "Trying to remove nonexistent package " msgstr "Varolmayan paket kaldırılmaya çalışıldı" -#: pisi/atomicoperations.py:454 +#: pisi/atomicoperations.py:510 msgid "Not removing conflicted file : %s" msgstr "Çakışan dosya silinmiyor : %s" -#: pisi/atomicoperations.py:474 +#: pisi/atomicoperations.py:530 msgid "Installed file %s is not exists on system [Probably you manually deleted]" msgstr "Kurulmuş dosya %s sistemde bulunmuyor [Muhtemelen el ile silindi]" -#: pisi/atomicoperations.py:535 +#: pisi/atomicoperations.py:590 msgid "Metadata XML '%s' cannot be found" msgstr "'%s' isimli metadata XML bulunamıyor" -#: pisi/atomicoperations.py:543 +#: pisi/atomicoperations.py:598 msgid "MetaData format wrong (%s)" msgstr "MetaData biçimi yanlış (%s)" -#: pisi/atomicoperations.py:545 +#: pisi/atomicoperations.py:600 msgid "* Adding '%s' to db... " msgstr "* '%s' veritabanına ekleniyor... " -#: pisi/atomicoperations.py:551 +#: pisi/atomicoperations.py:606 msgid "Files XML '%s' cannot be found" msgstr "Files XML '%s' bulunamıyor" -#: pisi/atomicoperations.py:556 pisi/package.py:136 +#: pisi/atomicoperations.py:611 pisi/package.py:141 msgid "Invalid %s" msgstr "Geçersiz %s" -#: pisi/atomicoperations.py:565 +#: pisi/atomicoperations.py:620 msgid "OK." msgstr "Tamam." -#: pisi/build.py:88 +#: pisi/build.py:85 msgid "Path %s belongs in multiple packages" msgstr "Yol %s birden çok pakete ait" -#: pisi/build.py:114 +#: pisi/build.py:111 msgid "Source URI: %s" msgstr "Kaynak adresi: %s" -#: pisi/build.py:118 +#: pisi/build.py:115 msgid "Source %s not found in any active repository." msgstr "%s isimli kaynak paket hiç bir etkin depoda bulunamadı." -#: pisi/build.py:183 +#: pisi/build.py:185 msgid "Building PiSi source package: %s" msgstr "PiSi kaynak paketi %s inşa ediliyor" -#: pisi/build.py:229 +#: pisi/build.py:230 msgid "IceCream detected. Make sure your daemon is up and running..." msgstr "IceCream bulundu. Lütfen artalan sürecinizin çalıştığından emin olunuz." -#: pisi/build.py:234 +#: pisi/build.py:235 msgid "CCache detected..." msgstr "Derleme zamanını kısaltan ccache bulundu..." -#: pisi/build.py:287 +#: pisi/build.py:297 msgid "PartOf tag not defined, looking for component" msgstr "PartOf imi tanımlanmamış, bileşen araştırılyor" -#: pisi/build.py:297 +#: pisi/build.py:307 msgid "Cannot find component.xml in upper directory" msgstr "component.xml üst dizinde bulunamıyor" -#: pisi/build.py:301 +#: pisi/build.py:311 msgid "Source is part of %s component" msgstr "Kaynak %s bileşeninin parçası" -#: pisi/build.py:305 +#: pisi/build.py:315 msgid "Fetching source from: %s" msgstr "Kaynak %s adresinden indiriliyor" -#: pisi/build.py:307 +#: pisi/build.py:317 msgid "Source archive is stored: %s/%s" msgstr "Kaynak arşivi saklandı: %s/%s" -#: pisi/build.py:311 +#: pisi/build.py:321 msgid "Unpacking archive..." msgstr "Arşiv açılıyor..." -#: pisi/build.py:313 +#: pisi/build.py:325 msgid " unpacked (%s)" msgstr " açıldı (%s)" -#: pisi/build.py:318 +#: pisi/build.py:330 msgid "Setting up source..." msgstr "Kaynak yapılandırılıyor" -#: pisi/build.py:323 +#: pisi/build.py:335 msgid "Building source..." msgstr "Kaynak inşa ediliyor..." -#: pisi/build.py:328 +#: pisi/build.py:340 +msgid "Testing package..." +msgstr "Paket test ediliyor..." + +#: pisi/build.py:344 msgid "Installing..." msgstr "Kuruluyor..." -#: pisi/build.py:370 +#: pisi/build.py:386 msgid "Unable to read Actions Script (%s): %s" msgstr "Action betiği okunamıyor (%s): %s" -#: pisi/build.py:372 +#: pisi/build.py:388 msgid "SyntaxError in Actions Script (%s): %s" msgstr "Action betiğinde sözdizimi hatası (%s): %s" -#: pisi/build.py:389 +#: pisi/build.py:405 msgid "Unable to read COMAR script (%s): %s" msgstr "Action betiği okunamıyor (%s): %s" -#: pisi/build.py:391 +#: pisi/build.py:407 msgid "SyntaxError in COMAR file (%s): %s" msgstr "Action betiğinde sözdizimi hatası (%s): %s" -#: pisi/build.py:417 +#: pisi/build.py:419 +msgid "Sandbox violation: %s (%s -> %s)" +msgstr "Sandbox ihlali: %s (%s -> %s)" + +#: pisi/build.py:453 +msgid "Sandbox violations!" +msgstr "Sandbox ihlali!" + +#: pisi/build.py:456 msgid "unable to call function from actions: %s" msgstr "fonksiyon eylemlerden çağırılamıyor: %s" -#: pisi/build.py:433 +#: pisi/build.py:473 msgid "Safety switch: following extra packages in system.devel will be installed: " msgstr "" "Emniyet mandalı: taban geliştirme sistemi system.devel içindeki bu paketler " "ek olarak kurulacak:" -#: pisi/build.py:438 +#: pisi/build.py:478 msgid "Safety switch: system.devel is already installed" msgstr "Emniyet mandalı: taban geliştirme sistemi system.devel halihazırda kurulu" -#: pisi/build.py:440 +#: pisi/build.py:480 msgid "Safety switch: the component system.devel cannot be found" msgstr "Emniyet mandalı: geliştirme sistemi bileşeni system.devel bulunamadı" -#: pisi/build.py:449 +#: pisi/build.py:489 msgid "Unsatisfied Build Dependencies:" msgstr "Sağlanmamış inşa bağımlılıkları" -#: pisi/build.py:453 +#: pisi/build.py:493 msgid "Cannot build package due to unsatisfied build dependencies" msgstr "Sağlanmamış inşa bağımlılıkları yüzünden paket inşa edilemiyor" -#: pisi/build.py:461 +#: pisi/build.py:501 msgid "Build dependency %s cannot be satisfied" msgstr "İnşa bağımlılığı %s sağlanamadı" -#: pisi/build.py:463 +#: pisi/build.py:503 msgid "Do you want to install the unsatisfied build dependencies" msgstr "Sağlanmamış inşa bağımlılıklarını kurmak istiyor musunuz? " -#: pisi/build.py:464 +#: pisi/build.py:504 msgid "Installing build dependencies." msgstr "İnşa bağımlılıkları kuruluyor. " -#: pisi/build.py:469 +#: pisi/build.py:509 msgid "Ignoring build dependencies." msgstr "İnşa bağımlılıkları yoksayılıyor." -#: pisi/build.py:479 +#: pisi/build.py:519 msgid "Patch file is missing: %s\n" msgstr "Yama dosyası eksik: %s\n" -#: pisi/build.py:492 +#: pisi/build.py:532 msgid "* Applying patch: %s" msgstr "* Yama uygulanıyor: %s" -#: pisi/build.py:550 +#: pisi/build.py:592 msgid "Stripping files.." msgstr "Semboller çıkarılıyor.." -#: pisi/build.py:656 +#: pisi/build.py:692 msgid "(found old version %s)" msgstr "(%s numaralı eski versiyon bulundu)" -#: pisi/build.py:658 +#: pisi/build.py:694 msgid "Skipping %s with wrong pkg name " msgstr "Yanlış paket adına sahip %s atlanıyor" -#: pisi/build.py:679 +#: pisi/build.py:715 msgid "(no previous build found, setting build no to 1.)" msgstr "(önceki bir inşa bulunamadı, inşa numarası 1 yapılıyor)" -#: pisi/build.py:724 +#: pisi/build.py:760 msgid "(old package lacks a build no, setting build no to 1.)" msgstr "(önceki paketin bir inşa numarası yok, inşa numarası 1 yapılıyor)" -#: pisi/build.py:727 +#: pisi/build.py:763 msgid "There are changes, incrementing build no to %d" msgstr "Değişiklikler var, inşa numarası bir arttırılarak %d yapıldı." -#: pisi/build.py:730 +#: pisi/build.py:766 msgid "There is no change from previous build %d" msgstr "Bir önceki %d numaralı inşadan beri bir değişiklik yok." -#: pisi/build.py:795 +#: pisi/build.py:831 msgid "No user named '%s' found on the system" msgstr "Sistemde '%s' isminde bir kullanıcı bulunamadı" -#: pisi/build.py:800 +#: pisi/build.py:836 msgid "No group named '%s' found on the system" msgstr "Sistemde '%s' isminde bir grup bulunamadı" -#: pisi/build.py:803 +#: pisi/build.py:839 msgid "** Building package %s" msgstr "** Paket %s inşa ediliyor" # 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 "%s yaratılıyor," -#: pisi/build.py:814 +#: pisi/build.py:850 msgid "" "Build number is not available. For repo builds you must enable buildno in " "pisi.conf." @@ -952,149 +972,149 @@ msgstr "" "İnşa (build) sayısı koyulmayacak. Depo inşaları için buildno seçeneğini pisi." "conf dosyasında etkinleştirmelisiniz." -#: pisi/build.py:832 +#: pisi/build.py:868 msgid "Creating PiSi package %s." msgstr "%s adlı PiSi paketi yaratılıyor." -#: pisi/build.py:877 +#: pisi/build.py:913 pisi/delta.py:93 msgid "Done." msgstr "Bitti." -#: pisi/build.py:883 +#: pisi/build.py:919 msgid "Abandoned files under the install dir (%s):" msgstr "kurulum dizini (%s) altındaki terkedilmiş dosyalar:" -#: 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 "" "Kurulum dizini (%s) altındaki bütün dosyalar paket(ler) tarafından " "toplanmıştır" -#: pisi/build.py:891 +#: pisi/build.py:927 msgid "Cleaning Build Directory..." msgstr "İnşa dizini siliniyor..." -#: pisi/build.py:894 +#: pisi/build.py:930 msgid "Keeping Build Directory" msgstr "İnşa dizini bırakılıyor" -#: pisi/cli/__init__.py:79 +#: pisi/cli/__init__.py:76 msgid "Warning: " msgstr "Uyarı: " -#: pisi/cli/__init__.py:88 +#: pisi/cli/__init__.py:85 msgid "Error: " msgstr "Hata: " -#: pisi/cli/__init__.py:120 +#: pisi/cli/__init__.py:117 msgid " (yes/no)" msgstr " (evet/hayır)" -#: pisi/cli/__init__.py:141 +#: pisi/cli/__init__.py:138 msgid " [complete]\n" msgstr " [bitti]\n" -#: pisi/cli/__init__.py:151 +#: pisi/cli/__init__.py:148 msgid "Installed %s" msgstr "%s paketi kuruldu" -#: pisi/cli/__init__.py:153 +#: pisi/cli/__init__.py:150 msgid "Removed %s" msgstr "%s paketi kaldırıldı" -#: pisi/cli/__init__.py:155 +#: pisi/cli/__init__.py:152 msgid "Upgraded %s" msgstr "%s paketi yükseltildi" # pisi/actionsapi/autotools.py:75 :85 -#: pisi/cli/__init__.py:157 +#: pisi/cli/__init__.py:154 msgid "Configured %s" msgstr "%s paketi yapılandırıldı" -#: pisi/cli/__init__.py:159 +#: pisi/cli/__init__.py:156 msgid "Extracting the files of %s" msgstr "%s paketinin dosyaları arşivden çıkartılıyor" -#: pisi/cli/commands.py:94 +#: pisi/cli/commands.py:92 msgid "generic help string for any command" msgstr "herhangi bir komut yardımı için yer tutucu" -#: 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 "Tanınmayan komut: %s" -#: pisi/cli/commands.py:145 +#: pisi/cli/commands.py:143 msgid "common options" msgstr "ortak seçenekler" # pisi/build.py:503 :506 -#: pisi/cli/commands.py:148 +#: pisi/cli/commands.py:146 msgid "general options" msgstr "genel seçenekler" -#: pisi/cli/commands.py:151 +#: pisi/cli/commands.py:149 msgid "Change the system root for PiSi commands" msgstr "Pisi komutları için sistem kök dizinini değiştir" -#: pisi/cli/commands.py:153 +#: pisi/cli/commands.py:151 msgid "Assume yes in all yes/no queries" msgstr "Bütün evet/hayır sorularında evet varsay" -#: pisi/cli/commands.py:158 +#: pisi/cli/commands.py:156 msgid "Detailed output" msgstr "Detaylı çıktı" -#: pisi/cli/commands.py:160 +#: pisi/cli/commands.py:158 msgid "Show debugging information" msgstr "Hata ayıklama bilgisini göster" -#: pisi/cli/commands.py:162 +#: pisi/cli/commands.py:160 msgid "Suppresses all coloring of PiSi's output" msgstr "PiSi'nin tüm çıktı renklendirmelerini önler" -#: 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" msgstr "" -#: pisi/cli/commands.py:181 +#: pisi/cli/commands.py:179 msgid "Destination directory %s does not exist. Creating directory.\n" msgstr "%s isimli hedef dizini bulunamadı. Dizin yaratılıyor.\n" -#: pisi/cli/commands.py:203 +#: pisi/cli/commands.py:201 msgid "Password: " msgstr "Parola: " -#: pisi/cli/commands.py:209 +#: pisi/cli/commands.py:207 msgid "initialize PiSi components" msgstr "PiSi bileşenlerini hazırla" -#: pisi/cli/commands.py:217 +#: pisi/cli/commands.py:215 msgid "do cleanup work for PiSi components" msgstr "" -#: pisi/cli/commands.py:231 +#: pisi/cli/commands.py:229 msgid "print help for the command" msgstr "komut için yardım yaz" -#: pisi/cli/commands.py:237 +#: pisi/cli/commands.py:235 msgid "exit program" msgstr "programdan çık" -#: pisi/cli/commands.py:239 +#: pisi/cli/commands.py:237 msgid "Command terminated abnormally." msgstr "Komut anormal biçimde sonlandı." -#: pisi/cli/commands.py:249 +#: pisi/cli/commands.py:247 msgid "Command lacks name" msgstr "Komut adı eksik" -#: pisi/cli/commands.py:253 +#: pisi/cli/commands.py:251 msgid "Duplicate command %s" msgstr "Aynı adlı komut: %s" -#: pisi/cli/commands.py:262 +#: pisi/cli/commands.py:260 msgid "" "Prints help for given commands\n" "\n" @@ -1108,7 +1128,7 @@ msgstr "" "\n" "Eğer parametre verilmezse genel yardımı yazar." -#: pisi/cli/commands.py:296 +#: pisi/cli/commands.py:294 msgid "" "Clean stale locks\n" "\n" @@ -1124,7 +1144,7 @@ msgstr "" "PiSi veritabanı erişimini yönetmek için dosyasistemi kilitlerini kullanır.\n" "Bu komut veritabanı dizinindeki kullanılmayan kilitleri siler." -#: pisi/cli/commands.py:315 +#: pisi/cli/commands.py:313 msgid "" "Delete cache files\n" "\n" @@ -1141,7 +1161,7 @@ msgstr "" "Kaynaklar, paketler ve geçici dosyalar /var dizini altında \n" "saklanır. Bunlar biriktiğinden çok disk alanı kaplayabilirler." -#: pisi/cli/commands.py:336 +#: pisi/cli/commands.py:334 msgid "" "Graph package relations\n" "\n" @@ -1160,47 +1180,47 @@ msgstr "" "Öntanımlı olarak depo paketlerdeki paket ilişkilerini gösterir\n" "ve paketi graphviz biçiminde 'pgraph.dot' dosyasına yazar.\n" -#: pisi/cli/commands.py:353 +#: pisi/cli/commands.py:351 msgid "graph options" msgstr "graph seçenekleri" -#: pisi/cli/commands.py:357 +#: pisi/cli/commands.py:355 msgid "Specify a particular repository" msgstr "Belli bir depoyu belirt" -#: pisi/cli/commands.py:360 +#: pisi/cli/commands.py:358 msgid "Graph of installed packages" msgstr "Kurulu paketlerin çizgesi" -#: pisi/cli/commands.py:363 +#: pisi/cli/commands.py:361 msgid "Do not show installed packages" msgstr "Kurulu paketleri gösterme" -#: pisi/cli/commands.py:366 +#: pisi/cli/commands.py:364 msgid "Dot output file" msgstr "Dot çıktı dosyası" -#: pisi/cli/commands.py:377 +#: pisi/cli/commands.py:375 msgid "Plotting packages in repository %s" msgstr "%s deposundaki paketler çiziliyor" -#: pisi/cli/commands.py:383 +#: pisi/cli/commands.py:381 msgid "Plotting a graph of relations among all repository packages" msgstr "Depolardaki bütün paketlerin arasındaki ilişkiler çiziliyor" -#: pisi/cli/commands.py:390 +#: pisi/cli/commands.py:388 msgid "Plotting a graph of relations among all installed packages" msgstr "Bütün kurulu paketler arasındaki ilişkiler çiziliyor" -#: pisi/cli/commands.py:402 +#: pisi/cli/commands.py:400 msgid "Do not take build no into account." msgstr "İnşa numarasını dikkate alma" -#: pisi/cli/commands.py:407 +#: pisi/cli/commands.py:405 msgid "Do not take dependency information into account" msgstr "Bağımlılık bilgilerini dikkate alma" -#: pisi/cli/commands.py:411 +#: pisi/cli/commands.py:409 msgid "" "Build PiSi packages\n" "\n" @@ -1222,43 +1242,55 @@ msgstr "" "Yahut, kaynaklar içeren bir depodan indirilmesi için \n" "kaynak paketinin adını verebilirsiniz. \n" -#: pisi/cli/commands.py:433 +#: pisi/cli/commands.py:432 msgid "build options" msgstr "inşa seçenekleri" -#: pisi/cli/commands.py:441 +#: pisi/cli/commands.py:440 pisi/cli/commands.py:527 msgid "Output directory for produced packages" msgstr "Üretilecek paketler için çıktı dizini" -#: pisi/cli/commands.py:444 +#: pisi/cli/commands.py:443 msgid "Bypass errors from ActionsAPI" msgstr "ActionsAPI kaynaklı hataları esgeç" -#: 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 "Emniyet mandalını esgeç" -#: pisi/cli/commands.py:448 +#: pisi/cli/commands.py:447 +msgid "Bypass testing step" +msgstr "Test adımını esgeç" + +#: pisi/cli/commands.py:449 msgid "Create a static package with ar files" msgstr "Ar dosyaları içeren bir statik paket yarat" -#: pisi/cli/commands.py:450 +#: pisi/cli/commands.py:451 msgid "Do not install build dependencies, fail if a build dependency is present" msgstr "İnşa bağımlılıklarını kurma, eğer bir inşa bağımlılığı yoksa hatayla çık" -#: pisi/cli/commands.py:452 +#: pisi/cli/commands.py:453 msgid "PiSi binary package formats: '1.0', '1.1' (default)" msgstr "PiSi ikili paket formatları: '1.0', '1.1' (öntanımlı)" #: 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 "inşa adımları" -#: pisi/cli/commands.py:457 +#: pisi/cli/commands.py:462 msgid "Break build after fetching the source archive" msgstr "Kaynak arşivini indirdikten sonra inşa'yı sonlandır" -#: pisi/cli/commands.py:459 +#: pisi/cli/commands.py:464 msgid "" "Break build after unpacking the source archive, checking sha1sum and " "applying patches" @@ -1266,35 +1298,56 @@ msgstr "" "Kaynak arşivini açtıktan, sha1sum kontrolü yaptıktan ve yamaları " "uyguladıktan sonra inşa'yı sonlandır" -#: pisi/cli/commands.py:461 +#: pisi/cli/commands.py:466 msgid "Break build after running configure step" msgstr "Yapılandırma adımından sonra inşa'yı sonlandır" -#: pisi/cli/commands.py:463 +#: pisi/cli/commands.py:468 msgid "Break build after running compile step" msgstr "Derleme adımından sonra inşa'yı sonlandır" -#: pisi/cli/commands.py:465 +#: pisi/cli/commands.py:470 +msgid "Break build after running check step" +msgstr "Test adımından sonra inşa'yı sonlandır" + +#: pisi/cli/commands.py:472 msgid "Break build after running install step" msgstr "Kurulum adımından sonra inşa'yı sonlandır" -#: pisi/cli/commands.py:467 +#: pisi/cli/commands.py:474 msgid "create PiSi package" msgstr "PiSi paketini oluştur" -#: pisi/cli/commands.py:481 +#: pisi/cli/commands.py:488 msgid "package_format must be one of %s " msgstr "package_format, bunlardan birisi olmalı: %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 "Çıktı dizini: %s" -#: pisi/cli/commands.py:486 +#: pisi/cli/commands.py:493 pisi/cli/commands.py:542 msgid "Outputting packages in the working directory." msgstr "Paketler çalışma dizinine yazılıyor." -#: 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 +msgid "delta options" +msgstr "delta seçenekleri" + +#: pisi/cli/commands.py:553 msgid "" "Build and install PiSi source packages from repository\n" "\n" @@ -1314,35 +1367,35 @@ msgstr "" "\n" "Bir bileşen adı da verebilirsiniz.\n" -#: pisi/cli/commands.py:516 +#: pisi/cli/commands.py:572 msgid "emerge options" msgstr "emerge seçenekleri" -#: 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 "Dosya çakışmalarına aldırma" -#: 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 çakışmalarına aldırma" -#: 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 "Çomar yapılandırma aygıtını kullanma" -#: pisi/cli/commands.py:535 +#: pisi/cli/commands.py:591 msgid "Outputting binary packages in the package cache." msgstr "İkili paketler paket önbelleğine yazılıyor." -#: pisi/cli/commands.py:543 +#: 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 "Hiç bir eylem gerçekleştirme, sadece ne yapılacağını göster" -#: pisi/cli/commands.py:567 +#: pisi/cli/commands.py:623 msgid "" "Install PiSi packages\n" "\n" @@ -1363,23 +1416,23 @@ msgstr "" "\n" "Paket adları yerine bileşenler de verebilirsiniz.\n" -#: pisi/cli/commands.py:585 +#: pisi/cli/commands.py:641 msgid "install options" msgstr "install seçenekleri" -#: pisi/cli/commands.py:590 +#: pisi/cli/commands.py:646 msgid "Reinstall already installed packages" msgstr "Halihazırda kurulu paketi yeniden kur" -#: pisi/cli/commands.py:596 +#: pisi/cli/commands.py:652 msgid "Install component's and recursive components' packages" msgstr "Bileşenin ve alt bileşenlerinin paketlerini kur" -#: 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 "Yükseltilecekleri indir ama kurma" -#: pisi/cli/commands.py:621 +#: pisi/cli/commands.py:681 msgid "" "Upgrade PiSi packages\n" "\n" @@ -1407,23 +1460,23 @@ msgstr "" "bir dosyayı yeniden kurmak istiyorsanız install komutunu kullanın. \n" "Paket adları yerine bileşenler de verebilirsiniz.\n" -#: pisi/cli/commands.py:647 +#: pisi/cli/commands.py:707 msgid "upgrade options" msgstr "upgrade seçenekleri" -#: pisi/cli/commands.py:652 +#: pisi/cli/commands.py:712 msgid "Security related package upgrades only" msgstr "Sadece güvenlik ile alakalı güncellemeler" -#: pisi/cli/commands.py:654 +#: pisi/cli/commands.py:714 msgid "Do not update repositories" msgstr "Depoları güncelleme" -#: pisi/cli/commands.py:660 +#: pisi/cli/commands.py:720 msgid "Upgrade component's and recursive components' packages" msgstr "Bileşenin ve alt bileşenlerinin paketlerini güncelle" -#: pisi/cli/commands.py:664 +#: pisi/cli/commands.py:724 msgid "" "When upgrading system, ignore packages and components whose basenames match " "pattern." @@ -1431,7 +1484,7 @@ msgstr "" "Sistemi yükseltirken paket ya da bileşen isimlerinden verilen kalıp ile " "eşleşenleri yok say" -#: 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." @@ -1439,15 +1492,15 @@ msgstr "" "Sistemi yükseltirken paket ya da bileşen isimlerinden dosya içerisinde " "verilen kalıplardan herhangi birisi ile eşleşenleri yok say" -#: pisi/cli/commands.py:706 +#: pisi/cli/commands.py:770 msgid "Updating repositories" msgstr "Depolar güncelleniyor" -#: pisi/cli/commands.py:711 +#: pisi/cli/commands.py:775 msgid "Will not update repositories" msgstr "Depolar güncellenmeyecek" -#: pisi/cli/commands.py:733 +#: pisi/cli/commands.py:800 msgid "" "Remove PiSi packages\n" "\n" @@ -1466,15 +1519,15 @@ msgstr "" "verin.\n" "Paket adları yerine bileşenler de verebilirsiniz.\n" -#: pisi/cli/commands.py:750 +#: pisi/cli/commands.py:817 msgid "remove options" msgstr "remove seçenekler" -#: pisi/cli/commands.py:753 +#: pisi/cli/commands.py:820 msgid "Remove component's and recursive components' packages" msgstr "Bileşenin ve alt bileşenlerinin paketlerini kaldır" -#: pisi/cli/commands.py:775 +#: pisi/cli/commands.py:842 msgid "" "Configure pending packages\n" "\n" @@ -1489,11 +1542,11 @@ msgstr "" "yapılmadıysa, yapılandırmayı bekleyen paketler listesine eklenirler.\n" "Bu komut bekleyen paketleri yapılandırır.\n" -#: pisi/cli/commands.py:791 +#: pisi/cli/commands.py:858 msgid "configure-pending options" msgstr "configure-pending seçenekleri" -#: pisi/cli/commands.py:803 +#: pisi/cli/commands.py:870 msgid "" "Display package information\n" "\n" @@ -1507,63 +1560,63 @@ msgstr "" "\n" " ya bir paket adıdır ya da bir .pisi dosyasıdır.\n" -#: pisi/cli/commands.py:818 +#: pisi/cli/commands.py:885 msgid "info options" msgstr "info seçenekler" -#: pisi/cli/commands.py:825 +#: pisi/cli/commands.py:892 msgid "Show a list of package files." msgstr "Paketteki dosyaların bir listesini göster." -#: pisi/cli/commands.py:827 +#: pisi/cli/commands.py:894 msgid "Info about the given component" msgstr "Verilen bileşen hakkında bilgi" -#: pisi/cli/commands.py:830 +#: pisi/cli/commands.py:897 msgid "Show only paths." msgstr "Sadece yolları göster" -#: pisi/cli/commands.py:832 +#: pisi/cli/commands.py:899 msgid "Do not show details" msgstr "Detayları gösterme" -#: pisi/cli/commands.py:834 +#: pisi/cli/commands.py:901 msgid "Output in xml format" msgstr "Xml biçiminde çıktı" -#: pisi/cli/commands.py:880 +#: pisi/cli/commands.py:947 msgid "Package file: %s" msgstr "Paket dosyası: %s" -#: pisi/cli/commands.py:886 +#: pisi/cli/commands.py:953 msgid "[inst] " msgstr "[yüklü]" -#: pisi/cli/commands.py:888 +#: pisi/cli/commands.py:955 msgid "Installed package:" msgstr "Yüklü paket:" -#: pisi/cli/commands.py:894 +#: pisi/cli/commands.py:961 msgid "[repo] " msgstr "[depo] " -#: pisi/cli/commands.py:896 -msgid "Package found in repository:" -msgstr "Paket depoda bulundu:" +#: pisi/cli/commands.py:963 +msgid "Package found in %s repository:" +msgstr "Paket %s deposunda bulundu:" -#: pisi/cli/commands.py:900 +#: pisi/cli/commands.py:967 msgid "%s is not found in repositories" msgstr "%s depolarda bulunamadı" -#: pisi/cli/commands.py:903 +#: pisi/cli/commands.py:970 msgid "%s is not installed" msgstr "%s kurulu değil" -#: pisi/cli/commands.py:916 +#: pisi/cli/commands.py:981 msgid "Reverse Dependencies:" msgstr "Ters bağımlılıklar:" -#: pisi/cli/commands.py:919 +#: pisi/cli/commands.py:984 msgid "" "\n" "Files:" @@ -1571,11 +1624,11 @@ msgstr "" "\n" "Dosyalar:" -#: pisi/cli/commands.py:927 +#: pisi/cli/commands.py:992 msgid "File information not available" msgstr "Dosya bilgisi bulunamadı" -#: pisi/cli/commands.py:933 +#: pisi/cli/commands.py:998 msgid "" "Verify installation\n" "\n" @@ -1600,15 +1653,23 @@ msgstr "" "bu kontrol toplamlarını kullanır. \n" "Eğer paket belirtilmemiş ise tüm paketler üzerinde doğrulama yapar.\n" -#: pisi/cli/commands.py:957 +#: pisi/cli/commands.py:1018 +msgid "check options" +msgstr "test seçenekleri" + +#: pisi/cli/commands.py:1020 +msgid "Check installed packages under given component" +msgstr "Bileşen altındaki kurulu paketleri kontrol et" + +#: pisi/cli/commands.py:1036 msgid "Checking all installed packages" msgstr "Tüm kurulu paketler denetleniyor" -#: pisi/cli/commands.py:960 +#: pisi/cli/commands.py:1040 msgid "* Checking %s... " msgstr "* %s kontrol ediliyor... " -#: pisi/cli/commands.py:964 +#: pisi/cli/commands.py:1044 msgid "" "\n" "Package %s is corrupt." @@ -1616,11 +1677,11 @@ msgstr "" "\n" "Paket %s bozuk." -#: pisi/cli/commands.py:968 +#: pisi/cli/commands.py:1048 msgid "Package %s not installed" msgstr "Paket %s kurulmamış" -#: pisi/cli/commands.py:973 +#: pisi/cli/commands.py:1053 msgid "" "Index PiSi files in a given directory\n" "\n" @@ -1646,31 +1707,31 @@ msgstr "" "Eğer birden çok dizin verirseniz, komut hala çalışır, ama herşeyi\n" "tek bir indeks dosyasına koyar.\n" -#: pisi/cli/commands.py:994 +#: pisi/cli/commands.py:1074 msgid "index options" msgstr "index seçenekleri" -#: pisi/cli/commands.py:998 +#: pisi/cli/commands.py:1078 msgid "Store absolute links for indexed files." msgstr "İndekslenmiş dosyalar için mutlak bağlar sakla." -#: pisi/cli/commands.py:1001 +#: pisi/cli/commands.py:1081 msgid "Index output file" msgstr "İndeks çıktı dosyası" -#: pisi/cli/commands.py:1004 +#: pisi/cli/commands.py:1084 msgid "Do not index PiSi spec files." msgstr "PiSi spec dosyalarını indeksleme." -#: pisi/cli/commands.py:1007 +#: pisi/cli/commands.py:1087 msgid "Do not sign index." msgstr "İndeksi imzalama." -#: pisi/cli/commands.py:1020 +#: pisi/cli/commands.py:1100 msgid "Indexing current directory." msgstr "Şu andaki dizini indeksliyor." -#: pisi/cli/commands.py:1028 +#: pisi/cli/commands.py:1108 msgid "" "Print the list of all installed packages\n" "\n" @@ -1680,30 +1741,30 @@ msgstr "" "\n" "Kullanım: list-installed\n" -#: pisi/cli/commands.py:1042 +#: pisi/cli/commands.py:1122 msgid "list-installed options" msgstr "list-installed seçenekleri" -#: 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 "Uzun biçimde göster" -#: pisi/cli/commands.py:1047 +#: pisi/cli/commands.py:1127 msgid "List installed packages under given component" msgstr "Bileşen altındaki kurulu paketleri listele" -#: 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 "Detaylı kurulum bilgisi göster" # pisi/cli/commands.py:542 :729 -#: 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 "Paket Adı |Dm| Versiyon| Sürüm| İnşa| Dağıt.| Tarih" -#: pisi/cli/commands.py:1081 +#: pisi/cli/commands.py:1161 msgid "" "Rebuild Databases\n" "\n" @@ -1723,19 +1784,19 @@ msgstr "" "Eğer paket tanımları verildiyse /var/lib/pisi altındaki paket dizinlerinin " "adları olmalılar\n" -#: pisi/cli/commands.py:1099 +#: pisi/cli/commands.py:1179 msgid "rebuild-db options" msgstr "rebuild-db seçenekleri" -#: pisi/cli/commands.py:1102 +#: pisi/cli/commands.py:1182 msgid "Rebuild files database" msgstr "Dosya veritabanını yeniden inşa et" -#: pisi/cli/commands.py:1113 +#: pisi/cli/commands.py:1193 msgid "Rebuild PiSi databases?" msgstr "PiSi veritabanı yeniden inşa edilsin mi?" -#: pisi/cli/commands.py:1120 +#: pisi/cli/commands.py:1200 msgid "" "Update repository databases\n" "\n" @@ -1755,15 +1816,15 @@ msgstr "" "PiSi veritabanlarını depo ile eşzamanlı hale getirir.\n" " Eğer bir depo verilmediyse, bütün depolar güncellenir.\n" -#: pisi/cli/commands.py:1138 +#: pisi/cli/commands.py:1218 msgid "update-repo options" msgstr "update-repo seçenekleri" -#: pisi/cli/commands.py:1142 +#: pisi/cli/commands.py:1222 msgid "Update database in any case" msgstr "Veritabanını her halde güncelle" -#: pisi/cli/commands.py:1160 +#: pisi/cli/commands.py:1240 msgid "" "Add a repository\n" "\n" @@ -1788,23 +1849,23 @@ msgstr "" "Şimdilik sadece yerel dosyalar (örn. /a/b/c) ve http:// veya ftp:// türü \n" "adresler desteklenir\n" -#: pisi/cli/commands.py:1180 +#: pisi/cli/commands.py:1260 msgid "add-repo options" msgstr "add-repo seçenekler" -#: pisi/cli/commands.py:1183 +#: pisi/cli/commands.py:1263 msgid "Add repository at given position (0 is first)" msgstr "Belirtilen pozisyona depo ekler (0 birinci)" -#: pisi/cli/commands.py:1197 +#: pisi/cli/commands.py:1277 msgid "Update PiSi database for repository %s?" msgstr "%s isimli depo için PiSi veritabanı güncellensin mi?" -#: pisi/cli/commands.py:1201 +#: pisi/cli/commands.py:1281 msgid "%s repository could not be reached. Removing %s from system." msgstr "%s deposuna erişilemedi. %s sistemden kaldırılıyor." -#: pisi/cli/commands.py:1210 +#: pisi/cli/commands.py:1290 msgid "" "Remove repositories\n" "\n" @@ -1818,7 +1879,7 @@ msgstr "" "\n" "Sistemden ilgili bütün depo bilgisini kaldır.\n" -#: pisi/cli/commands.py:1236 +#: pisi/cli/commands.py:1316 msgid "" "List repositories\n" "\n" @@ -1832,7 +1893,7 @@ msgstr "" "\n" "Şu anda izlenen bütün depoları gösterir.\n" -#: pisi/cli/commands.py:1259 +#: pisi/cli/commands.py:1339 msgid "" "List available packages in the repositories\n" "\n" @@ -1849,27 +1910,27 @@ msgstr "" "Depoda yayımlanmış olan PiSi bileşenlerinin kısa bir listesini verir.\n" "Eğer bir depo verilmediyse, bütün depolardaki paketleri listeler.\n" -#: pisi/cli/commands.py:1276 +#: pisi/cli/commands.py:1356 msgid "list-available options" msgstr "list-available seçenekleri" -#: pisi/cli/commands.py:1280 +#: pisi/cli/commands.py:1360 msgid "List available packages under given component" msgstr "Bileşen altındaki paketleri listele" -#: pisi/cli/commands.py:1282 +#: pisi/cli/commands.py:1362 msgid "Show uninstalled packages only" msgstr "Sadece kurulu olmayan paketleri göster" -#: pisi/cli/commands.py:1290 +#: pisi/cli/commands.py:1370 msgid "Installed packages are shown in this color" msgstr "Kurulu paketler bu renkle gösterilir" -#: pisi/cli/commands.py:1298 +#: pisi/cli/commands.py:1378 msgid "Repository : %s\n" msgstr "Depo: %s\n" -#: pisi/cli/commands.py:1325 +#: pisi/cli/commands.py:1405 msgid "" "List available components\n" "\n" @@ -1884,11 +1945,11 @@ msgstr "" "\n" "Depoda yayımlanmış olan PiSi bileşenlerinin kısa bir listesini verir.\n" -#: pisi/cli/commands.py:1340 +#: pisi/cli/commands.py:1420 msgid "list-components options" msgstr "list-components seçenekleri" -#: pisi/cli/commands.py:1365 +#: pisi/cli/commands.py:1445 msgid "" "List available sources\n" "\n" @@ -1902,11 +1963,11 @@ msgstr "" "\n" "Depolarda bulunan kaynakların kısa bir listesini verir.\n" -#: pisi/cli/commands.py:1379 +#: pisi/cli/commands.py:1459 msgid "list-sources options" msgstr "list-sources seçenekleri" -#: pisi/cli/commands.py:1404 +#: pisi/cli/commands.py:1484 msgid "" "List packages to be upgraded\n" "\n" @@ -1918,19 +1979,19 @@ msgstr "" "\n" "Kullanım: list-upgrades [ ... depon ]\n" -#: pisi/cli/commands.py:1418 +#: pisi/cli/commands.py:1498 msgid "list-upgrades options" msgstr "list-upgrades seçenekleri" -#: pisi/cli/commands.py:1423 +#: pisi/cli/commands.py:1503 msgid "List upgradable packages under given component" msgstr "Bileşen altındaki güncellenebilir paketleri listele" -#: pisi/cli/commands.py:1440 pisi/operations.py:466 +#: pisi/cli/commands.py:1520 pisi/operations.py:455 msgid "No packages to upgrade." msgstr "Yükseltilecek paket yok." -#: pisi/cli/commands.py:1460 +#: pisi/cli/commands.py:1540 msgid "" "List pending packages\n" "\n" @@ -1940,11 +2001,11 @@ msgstr "" "\n" "Yapılandırmayı bekleyen paketlerin bir listesini verir.\n" -#: pisi/cli/commands.py:1482 +#: pisi/cli/commands.py:1562 msgid "There are no packages waiting to be configured" msgstr "Yapılandırılmayı bekleyen paket yok" -#: pisi/cli/commands.py:1487 +#: pisi/cli/commands.py:1567 msgid "" "Search packages\n" "\n" @@ -1960,23 +2021,19 @@ msgstr "" "Belirtilen arama terimlerini özet, tanım ve paket adı \n" "alanlarında içeren paketleri bulur.\n" -#: pisi/cli/commands.py:1502 +#: pisi/cli/commands.py:1582 msgid "search options" msgstr "search seçenekleri" -#: pisi/cli/commands.py:1505 -msgid "Set search language" -msgstr "Arama dilini seç" - -#: pisi/cli/commands.py:1510 +#: pisi/cli/commands.py:1588 msgid "Show details" msgstr "Detayları göster" -#: pisi/cli/commands.py:1530 +#: pisi/cli/commands.py:1600 msgid "%s packages found" msgstr "%s paket bulundu" -#: pisi/cli/commands.py:1539 +#: pisi/cli/commands.py:1609 msgid "" "Search for a file\n" "\n" @@ -1990,35 +2047,35 @@ msgstr "" "\n" "Belirtilen dosyayı içeren paketi bulur.\n" -#: pisi/cli/commands.py:1553 +#: pisi/cli/commands.py:1623 msgid "search-file options" msgstr "search-file seçenekleri" -#: pisi/cli/commands.py:1557 +#: pisi/cli/commands.py:1627 msgid "Fuzzy search" msgstr "Yaklaşık arama" -#: pisi/cli/commands.py:1559 +#: pisi/cli/commands.py:1629 msgid "Show only package name" msgstr "Sadece paket ismi göster" -#: pisi/cli/commands.py:1580 +#: pisi/cli/commands.py:1650 msgid "Package %s has file %s" msgstr "%s paketi içinde %s dosyası var" -#: pisi/cli/commands.py:1582 +#: pisi/cli/commands.py:1652 msgid "Type: %s, Hash: %s" msgstr "Tip: %s, Hash: %s" -#: pisi/cli/commands.py:1585 +#: pisi/cli/commands.py:1655 msgid "Path '%s' does not belong to an installed package" msgstr "Yol '%s' yerleştirilmiş bir pakete ait değil" -#: pisi/cli/commands.py:1598 +#: pisi/cli/commands.py:1668 msgid "Searching for %s" msgstr "%s'i arıyor" -#: pisi/cli/commands.py:1608 +#: pisi/cli/commands.py:1678 msgid "" "%prog [options] [arguments]\n" "\n" @@ -2030,7 +2087,7 @@ msgstr "" " aşağıdakilerden birisi olabilir:\n" "\n" -#: pisi/cli/commands.py:1614 +#: pisi/cli/commands.py:1684 msgid "" "\n" "Use \"%prog help \" for help on a specific command.\n" @@ -2038,15 +2095,15 @@ msgstr "" "\n" "Belirli bir komut hakkında yardım için \"%prog help \"'u kullanınız.\n" -#: pisi/cli/pisicli.py:56 +#: pisi/cli/pisicli.py:53 msgid "Options must precede non-option arguments" msgstr "Seçenekler seçenek olmayan argümanlardan önce gelmeli" -#: pisi/cli/pisicli.py:97 +#: pisi/cli/pisicli.py:94 msgid "No command given" msgstr "Komut verilmedi" -#: pisi/cli/pisicli.py:100 +#: pisi/cli/pisicli.py:97 msgid "Command line parsing error" msgstr "Komut satırı ayrıştırma hatası" @@ -2107,59 +2164,68 @@ msgstr "Kaldırma öncesi betikleri çağrılıyor" msgid "Unregistering comar scripts" msgstr "comar betikleri siliniyor" -#: pisi/component.py:97 pisi/component.py:103 +#: pisi/component.py:105 pisi/component.py:111 msgid "Component %s not found" msgstr "%s bileşeni bulunamadı" -#: pisi/component.py:199 pisi/component.py:225 +#: pisi/component.py:207 pisi/component.py:233 msgid "Information for component %s not available" msgstr "Bileşen %s için bilgi bulunamadı" -#: pisi/config.py:61 +#: pisi/config.py:60 msgid "Destination directory %s does not exist. Creating it." msgstr "Hedef dizini %s bulunamadı. Yaratılıyor." -#: pisi/configfile.py:105 +#: pisi/configfile.py:112 msgid "No section by name '%s'" msgstr "'%s' diye bir bölüm yok." -#: pisi/conflict.py:39 pisi/dependency.py:40 +#: pisi/conflict.py:26 pisi/replace.py:24 msgid " version >= " msgstr " versiyon >= " -#: pisi/conflict.py:41 pisi/dependency.py:42 +#: pisi/conflict.py:28 pisi/replace.py:26 msgid " version <= " msgstr " versiyon <= " -#: pisi/conflict.py:43 pisi/dependency.py:44 +#: pisi/conflict.py:30 pisi/replace.py:28 msgid " version " msgstr " versiyon " -#: pisi/conflict.py:45 pisi/dependency.py:46 +#: pisi/conflict.py:32 pisi/replace.py:30 msgid " release >= " msgstr " sürüm >= " -#: pisi/conflict.py:47 pisi/dependency.py:48 +#: pisi/conflict.py:34 pisi/replace.py:32 msgid " release <= " msgstr " sürüm <= " -#: pisi/conflict.py:49 pisi/dependency.py:50 +#: pisi/conflict.py:36 pisi/replace.py:34 msgid " release " msgstr " sürüm " -#: pisi/constants.py:30 +#: pisi/constants.py:28 msgid "Can't rebind constant: %s" msgstr "Sabit %s değiştirilemez" -#: pisi/constants.py:36 +#: pisi/constants.py:34 msgid "Can't unbind constant: %s" msgstr "Sabit %s kaldırılamaz" -#: pisi/dependency.py:107 +#: pisi/delta.py:27 +msgid "Cannot create delta for same package!" +msgstr "Aynı paket için delta oluşturulamaz!" + +#: pisi/delta.py:41 +#, fuzzy +msgid "Creating delta PiSi package between %s %s" +msgstr "%s adlı PiSi paketi yaratılıyor." + +#: pisi/dependency.py:55 msgid "%s dependency of package %s is not satisfied" msgstr "%s bağımlılığı %s paketi için sağlanamadı" -#: pisi/dependency.py:120 +#: pisi/dependency.py:68 msgid "Package %s is not present in the package database" msgstr "Paket %s paket veritabanında bulunmamakta." @@ -2185,31 +2251,31 @@ msgstr "" msgid "No such file or no permission to read" msgstr "Öyle bir dosya yok ya da okuma izni yok." -#: pisi/fetcher.py:183 +#: pisi/fetcher.py:182 msgid "Requested range not satisfiable, starting again." msgstr "İstenen aralık sağlanamıyor, yeniden başlatılıyor" -#: pisi/fetcher.py:190 +#: pisi/fetcher.py:189 msgid "Cannot fetch %s; value error: %s" msgstr "%s indirilemiyor, hata: %s" -#: pisi/fetcher.py:192 pisi/fetcher.py:196 +#: pisi/fetcher.py:191 pisi/fetcher.py:195 msgid "Cannot fetch %s; %s" msgstr "%s indirilemiyor; %s" -#: pisi/fetcher.py:194 +#: pisi/fetcher.py:193 msgid "Please check your network connections and try again. (%s)" msgstr "Lütfen ağ bağlantılarınızı kontrol edin ve yeniden deneyin. (%s)" -#: pisi/fetcher.py:198 +#: pisi/fetcher.py:197 msgid "Cannot fetch %s; (%s): %s" msgstr "%s indirilemiyor; (%s): %s" -#: pisi/fetcher.py:244 +#: pisi/fetcher.py:243 msgid "Proxy configuration has been found for '%s' protocol" msgstr "'%s' protokolü için vekil (proxy) yapılandırması bulundu" -#: 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 hatası" @@ -2257,43 +2323,43 @@ msgstr "HATA: gpg --detach-sig %s çalışmadı" msgid "Encountered cycle %s" msgstr "Çember ile karşılaşıldı: %s" -#: pisi/index.py:92 -msgid "Adding %s to package index" -msgstr "%s paket indeksine ekleniyor" - -#: pisi/index.py:95 +#: pisi/index.py:97 msgid "Adding %s to component index" msgstr "%s bileşen indeksine ekleniyor" -#: pisi/index.py:113 +#: pisi/index.py:109 +msgid "Adding %s to package index" +msgstr "%s paket indeksine ekleniyor" + +#: pisi/index.py:123 msgid "Updating package database of %s" msgstr "%s paket veritabanı güncelleniyor" -#: pisi/index.py:141 +#: pisi/index.py:152 msgid "Package %s: metadata corrupt, skipping..." msgstr "Paket %s: metadata bozuk, atlanıyor..." -#: pisi/index.py:169 +#: pisi/index.py:191 msgid "Adding %s to source index" msgstr "%s kaynak indeksine ekleniyor" -#: pisi/installdb.py:58 +#: pisi/installdb.py:51 msgid "installed" msgstr "kurulu" -#: pisi/installdb.py:58 +#: pisi/installdb.py:51 msgid "installed-pending" msgstr "kurulu-beklemede" -#: pisi/installdb.py:59 +#: pisi/installdb.py:52 msgid "purged" msgstr "temizlenmiş" -#: pisi/installdb.py:59 +#: pisi/installdb.py:52 msgid "removed" msgstr "kaldırılmış" -#: pisi/installdb.py:62 +#: pisi/installdb.py:55 msgid "" "State: %s\n" "Version: %s, Release: %s, Build: %s\n" @@ -2301,45 +2367,45 @@ msgstr "" "Durum: %s\n" "Versiyon: %s, Sürüm: %s, İnşa: %s\n" -#: pisi/installdb.py:67 +#: pisi/installdb.py:60 msgid "Distribution: %s, Install Time: %s\n" msgstr "Dağıtım: %s, Yerleştime Zamanı: %s\n" -#: pisi/installdb.py:154 +#: pisi/installdb.py:147 msgid "Already installed" msgstr "Halihazırda yerleştirilmiş." -#: pisi/itembyrepodb.py:120 +#: pisi/itembyrepodb.py:114 msgid "Invalid repository string" msgstr "Geçersiz depo adı" -#: pisi/itembyrepodb.py:142 +#: pisi/itembyrepodb.py:136 msgid "Key %s not found" msgstr "%s anahtarı bulunamadı" -#: pisi/itembyrepodb.py:152 +#: pisi/itembyrepodb.py:146 msgid "Key %s in repo %s not found" msgstr "%s anahtarı %s deposunda bulunamadı" -#: pisi/lockeddbshelve.py:47 +#: pisi/lockeddbshelve.py:46 msgid "Database version for %s insufficient. Please run rebuild-db command." msgstr "Veritabanı versiyonu %s yetersiz. Lütfen rebuild-db komutunu çalıştırınız." -#: pisi/lockeddbshelve.py:51 +#: pisi/lockeddbshelve.py:50 msgid "Database version for %s greater than PiSi version. You need a newer PiSi." msgstr "" "Veritabanı versiyonu %s PiSi versiyonundan büyük. Yeni bir PiSi'ye " "gereksiniminiz var." -#: pisi/lockeddbshelve.py:62 +#: pisi/lockeddbshelve.py:61 msgid "Cannot attain write access to database environment" msgstr "Veritabanı ortamına yazma erişimi sağlanamadı" -#: pisi/lockeddbshelve.py:64 +#: pisi/lockeddbshelve.py:63 msgid "Database version %s not present." msgstr "Veritabanı versiyonu %s bulunamadı." -#: 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." @@ -2347,31 +2413,31 @@ msgstr "" "Sistemde başka bir yerde daha PiSi çalışıyor. Sadece tek bir PiSi'nin " "veritabanını değiştirmesine izin verilir." -#: pisi/lockeddbshelve.py:81 +#: pisi/lockeddbshelve.py:80 msgid "Cannot attain read access to database environment" msgstr "Veritabanı ortamına okuma erişimi sağlanamadı" -#: 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 veritabanına yazma erişimi sağlanamadı. Bu işlem için root olmalısınız." -#: pisi/lockeddbshelve.py:113 +#: pisi/lockeddbshelve.py:112 msgid "Cannot attain read or write access to database %s" msgstr "Veritabanı %s için okuma ya da yazma erişimi sağlanamadı" -#: 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 "" "Bayraklar 'r', 'w', 'c' or 'n'den birisi olmalı ya da bsddb.db.DB_* " "bayraklarını kullanmalı" -#: pisi/metadata.py:58 +#: pisi/metadata.py:74 msgid "Distribution: %s, Dist. Release: %s\n" msgstr "Dağıtım: %s, Dağıtım Sürümü: %s\n" -#: pisi/metadata.py:60 +#: pisi/metadata.py:76 msgid "Architecture: %s, Installed Size: %s" msgstr "Mimari: %s, Yerleşik Boyut: %s" @@ -2379,46 +2445,54 @@ msgstr "Mimari: %s, Yerleşik Boyut: %s" msgid "Mirrors file %s does not exist. Could not resolve mirrors://" msgstr "Yansı dosyası %s bulunamadı. mirrors:// çözümlenemedi." -#: pisi/operations.py:114 +#: pisi/operations.py:106 msgid "Mixing file names and package names not supported yet." msgstr "Dosya ve paket adlarını karıştırmak henüz desteklenmiyor." -#: 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 "Ek bağımlılıkları sağlamak için bu paketler verilen sırada kurulacaktır:\n" -#: pisi/operations.py:159 pisi/operations.py:621 +#: pisi/operations.py:151 pisi/operations.py:618 msgid "Do you want to continue?" msgstr "Devam etmek istiyor musunuz?" -#: pisi/operations.py:160 +#: pisi/operations.py:152 msgid "External dependencies not satisfied" msgstr "Dış bağımlılıklar sağlanamadı" # 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 "Kurulacak paket yok." -#: pisi/operations.py:203 +#: pisi/operations.py:195 msgid "Installation order: " msgstr "Kurulum sırası: " -#: 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 "Çakışmalar var" -#: 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 "Seçili paketler [%s] birbirleriyle çakışıyorlar." -#: pisi/operations.py:273 +#: pisi/operations.py:249 msgid "[%s conflicts with: %s]\n" msgstr "[%s: %s ile çakışıyor]\n" -#: pisi/operations.py:275 +#: pisi/operations.py:251 msgid "" "The following packages have conflicts:\n" "%s" @@ -2426,115 +2500,123 @@ msgstr "" "Aşağıdaki paketlerde çakışmalar bulunuyor:\n" "%s" -#: pisi/operations.py:278 +#: pisi/operations.py:254 msgid "Remove the following conflicting packages?" msgstr "Bu çakışan paketler kaldırılsın mı?" -#: pisi/operations.py:305 +#: pisi/operations.py:282 msgid "Safety switch: Following packages in system.base will be installed: " msgstr "Emniyet mandalı: taban sistem system.base'den bu paketler kurulacak:" -#: pisi/operations.py:311 +#: pisi/operations.py:288 msgid "Safety switch: Following packages in system.base will be upgraded: " msgstr "Emniyet mandalı: taban sistem system.base'den bu paketler yükseltilecek:" -#: 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 "Emniyet mandalı: taban sistem bileşeni system.base bulunamadı" -#: 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 "Aşağıdaki paket(ler) zaten sistemde kurulu ve yeniden kurulmayacak(lar):\n" -#: pisi/operations.py:355 +#: pisi/operations.py:332 msgid "" "Following packages will be installed in the respective order to satisfy " "dependencies:\n" msgstr "Bağımlılıkları sağlamak için bu paketler verilen sırada kurulacaktır:\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 "Paket(ler)in toplam boyu: %.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 "Bağımlılıklar yüzünden ek paketler var. Devam etmek istiyor musunuz?" -#: pisi/operations.py:432 +#: pisi/operations.py:412 msgid "Warning: package *name* ends with '.pisi'" msgstr "Uyarı: paket *adı* '.pisi' ile bitiyor." -#: pisi/operations.py:435 +#: pisi/operations.py:424 msgid "Package %s is not installed." msgstr "Paket %s kurulmamış." -#: pisi/operations.py:441 +#: pisi/operations.py:430 msgid "Package %s is not available in repositories." msgstr "Paket %s depolarda mevcut değil." -#: pisi/operations.py:453 +#: pisi/operations.py:442 msgid "Package %s is already at the latest release %s." msgstr "Paket %s zaten en son sürüm %s'de" -#: pisi/operations.py:459 +#: pisi/operations.py:448 msgid "Package %s is already at the latest build %s." msgstr "Paket %s zaten en son inşa %s'de." -#: pisi/operations.py:486 +#: pisi/operations.py:475 msgid "The following packages will be upgraded: " msgstr "Bu paketler yükseltilecektir: " -#: pisi/operations.py:552 +#: pisi/operations.py:493 +msgid "Downloading %d / %d" +msgstr "İndiriliyor %d / %d" + +#: pisi/operations.py:511 +msgid "Installing %d / %d" +msgstr "Kuruluyor %d / %d" + +#: pisi/operations.py:548 msgid "Dependency %s of %s cannot be satisfied" msgstr "%s bağımlılığı, %s paketi için sağlanamadı" -#: pisi/operations.py:553 +#: pisi/operations.py:549 msgid "Upgrade is not possible." msgstr "Yükseltme mümkün değil." -#: pisi/operations.py:568 +#: pisi/operations.py:565 msgid "Reverse dependency %s of %s cannot be satisfied" msgstr "Ters bağımlılık %s, %s paketi için sağlanamadı" -#: pisi/operations.py:593 +#: pisi/operations.py:590 msgid "Safety switch: cannot remove the following packages in system.base: " msgstr "Emniyet mandalı: taban sistem system.base deki bu paketler kaldırılamıyor: " -#: pisi/operations.py:604 +#: pisi/operations.py:601 msgid "Package %s does not exist. Cannot remove." msgstr "Olmayan paket %s kaldırılamıyor." -#: pisi/operations.py:608 +#: pisi/operations.py:605 msgid "No packages to remove." msgstr "Kaldıracak paket yok." -#: 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 "Bağımlılıkları sağlamak için bu paketler verilen sırada kaldırılacaktır:\n" -#: pisi/operations.py:622 +#: pisi/operations.py:619 msgid "Package removal declined" msgstr "Paket kaldırmaya izin verilmedi." -#: pisi/operations.py:634 +#: pisi/operations.py:631 msgid "Package %s is not installed. Cannot remove." msgstr "Paket %s kurulu değil. Kaldırılamıyor." -#: pisi/operations.py:683 +#: pisi/operations.py:679 msgid "No packages to emerge." msgstr "Derlenip, kurulacak paket yok." -#: 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 "Bağımlılıkları sağlamak için bu paketler verilen sırada kurulacak:\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" @@ -2542,7 +2624,7 @@ msgstr "" "Bağımlılıkları sağlamak için aşağıdaki paketler verilen sırada derlenip, " "kurulacak:\n" -#: pisi/operations.py:743 +#: pisi/operations.py:739 msgid "Cannot find source package: %s" msgstr "Kaynak paket bulunamadı: %s" @@ -2554,33 +2636,33 @@ msgstr "" "'%s' indirilirken bir hata oluştu.\n" "Paket yükseltilmiş olabilir. Lütfen paketi yükseltmeyi deneyin." -#: pisi/package.py:60 pisi/sourcearchive.py:94 +#: pisi/package.py:60 pisi/sourcearchive.py:92 msgid "%s [cached]" msgstr "%s [önbellekte]" -#: pisi/package.py:131 +#: pisi/package.py:136 msgid "MetaData format wrong" msgstr "MetaData biçimi yanlış" -#: pisi/packagedb.py:66 +#: pisi/packagedb.py:65 msgid "Package %s not found" msgstr "Paket %s bulunamadı" -#: pisi/pxml/autoxml.py:77 +#: pisi/pxml/autoxml.py:79 msgid "At least one '%s' tag should have local text" msgstr "En azından bir tane '%s' etiketi yerel metne sahip olmalı" -#: pisi/pxml/autoxml.py:84 +#: pisi/pxml/autoxml.py:86 msgid "'%s' language of tag '%s' is empty" msgstr "'%s' dili metni, etiket %s içerisinde boş" -#: pisi/pxml/autoxml.py:112 +#: pisi/pxml/autoxml.py:114 msgid "LocalText: unable to get either current or default locale" msgstr "" "LocalText: şu andaki ya da ön tanımlı yerelleştirme seçenekleri (locale) " "bulunamıyor" -#: 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" @@ -2588,68 +2670,68 @@ msgstr "" "Etiket en azından şu andaki yerelleştirme seçenekleri (locale) için bir " "girdiye, o olmazsa bir Türkçe ya da İngilizce versiyona sahip olmalı" -#: pisi/pxml/autoxml.py:368 +#: pisi/pxml/autoxml.py:373 msgid "autoxml.check: '%s' errors" msgstr "autoxml.check: '%s' hatalar" -#: 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.read: Dosya '%s' hatalara sahip" -#: 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: Dosya '%s' hatalara sahip" -#: pisi/pxml/autoxml.py:461 +#: pisi/pxml/autoxml.py:466 msgid "autoxml.write: object validation has failed" msgstr "autoxml.write: nesne doğrulaması başarısızlığa uğradı" -#: pisi/pxml/autoxml.py:469 +#: pisi/pxml/autoxml.py:474 msgid "autoxml.write: File encoding '%s' has errors" msgstr "autoxml.write: Dosya biçimlendirmesi '%s' hatalara sahip" -#: pisi/pxml/autoxml.py:519 +#: pisi/pxml/autoxml.py:524 msgid "gen_tag: unrecognized tag type %s in spec" msgstr "gen_tag: tanınmayan im tipi %s" -#: 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 "Gerekli değişken %s bulunamadı" -#: pisi/pxml/autoxml.py:648 +#: pisi/pxml/autoxml.py:653 msgid "Type mismatch: read text cannot be decoded" msgstr "Tip uyumsuzluğu: okunan metin çözülemedi" -#: 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 "Gerekli im %s bulunamadı" -#: pisi/pxml/autoxml.py:666 +#: pisi/pxml/autoxml.py:671 msgid "Type mismatch. Expected %s, got %s" msgstr "Tip uyumsuzluğu. %s beklerken, %s bulundu" # 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 "Tip uyumsuzluğu: DOM okunamıyor" # 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 "Gerekli argüman bulunamadı" # 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 "Nesne kodlanamadı" -#: pisi/pxml/autoxml.py:737 +#: pisi/pxml/autoxml.py:742 msgid "List type must contain only one element" msgstr "List tipi sadece bir eleman içermeli" # 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 "Zorunlu \"%s\" listesi \"%s\" içinde yok." @@ -2657,23 +2739,23 @@ msgstr "Zorunlu \"%s\" listesi \"%s\" içinde yok." msgid "getNodeText: Expected text node, got something else!" msgstr "getNodeText: metin beklenirken başka birşey alındı!" -#: pisi/pxml/xmlfile.py:64 +#: pisi/pxml/xmlfile.py:63 msgid "String '%s' has invalid XML" msgstr "'%s' dosyasının XML sözdizimi geçersiz" -#: 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 "'%s' dosyasının XML sözdizimi geçersiz" -#: pisi/repodb.py:74 +#: pisi/repodb.py:69 msgid "No repository named %s exists" msgstr "%s adında bir depo bulunamadı" -#: pisi/repodb.py:83 +#: pisi/repodb.py:78 msgid "Repository %s already exists" msgstr "Depo %s halihazırda var" -#: pisi/repodb.py:90 +#: pisi/repodb.py:85 msgid "Cannot add repository at position %s" msgstr "%s konumundaki depo eklenemiyor" @@ -2689,55 +2771,55 @@ msgstr "Depo'da %s isimli paket zaten mevcut." msgid "Repo does not have package named %s." msgstr "Depo'da %s isminde bir paket yok." -#: pisi/sourcearchive.py:63 +#: pisi/sourcearchive.py:61 msgid "Trying fallback address: %s" msgstr "Geri düşüm adresi %s deneniyor." -#: pisi/sourcearchive.py:74 +#: pisi/sourcearchive.py:72 msgid "%s mirrors are not defined." msgstr "%s yansıları tanımlı değil." -#: pisi/sourcearchive.py:79 +#: pisi/sourcearchive.py:77 msgid "Fetching source from mirror: %s" msgstr "Kaynak, %s yansısından indiriliyor" -#: pisi/sourcearchive.py:85 +#: pisi/sourcearchive.py:83 msgid "Could not fetch source from %s mirrors." msgstr "Kaynak, %s yansılarından indirilemedi." -#: pisi/sourcearchive.py:103 +#: pisi/sourcearchive.py:101 msgid "unpack: check_file_hash failed" msgstr "unpack: check_file_hash başarısızlığa uğradı" -#: pisi/sourcedb.py:59 pisi/sourcedb.py:65 +#: pisi/sourcedb.py:54 pisi/sourcedb.py:60 msgid "Source package %s not found" msgstr "Kaynak paketi %s bulunamadı." -#: pisi/specfile.py:141 +#: pisi/specfile.py:139 msgid "URI: %s, type: %s, sha1sum: %s" msgstr "URI: %s, tip: %s, sha1sum: %s" -#: pisi/specfile.py:208 +#: pisi/specfile.py:206 msgid "Name: %s, version: %s, release: %s, build %s\n" msgstr "Ad: %s, versiyon %s, sürüm %s, inşa %s\n" -#: pisi/specfile.py:210 +#: pisi/specfile.py:208 msgid "Summary: %s\n" msgstr "Özet: %s\n" -#: pisi/specfile.py:211 +#: pisi/specfile.py:209 msgid "Description: %s\n" msgstr "Açıklama: %s\n" -#: pisi/specfile.py:212 +#: pisi/specfile.py:210 msgid "Component: %s\n" msgstr "Bileşen: %s\n" -#: pisi/specfile.py:213 +#: pisi/specfile.py:211 msgid "Provides: " msgstr "Sağladıkları: " -#: pisi/specfile.py:217 +#: pisi/specfile.py:215 msgid "Dependencies: " msgstr "Bağımlılıklar:" @@ -2753,47 +2835,43 @@ msgstr "Çalışıyor: " msgid "return value for \"%s\" is %s" msgstr "\"%s\" için dönüş değeri %s" -#: pisi/util.py:364 +#: pisi/util.py:361 msgid "Including external link '%s'" msgstr "'%s' harici bağı ekleniyor" -#: pisi/util.py:366 +#: pisi/util.py:363 msgid "Including directory '%s'" msgstr "'%s' dizini içeriliyor" -#: pisi/util.py:440 +#: pisi/util.py:448 msgid "I/O Error: Cannot calculate SHA1 hash of %s" msgstr "Girdi/Çıktı hatası: %s dosyasının SHA1 kontrol toplamı hesaplanamıyor" -#: pisi/util.py:451 +#: pisi/util.py:459 msgid "Cannot calculate SHA1 hash of given data" msgstr "Verinin SHA1 kontrol toplamı hesaplanamıyor" -#: pisi/util.py:488 +#: pisi/util.py:508 msgid "ERROR: patch (%s) failed" msgstr "HATA: Yama (%s) başarısız" -#: pisi/util.py:490 +#: pisi/util.py:510 msgid "ERROR: patch (%s) failed: %s" msgstr "HATA: Yama (%s) başarısız: %s" -#: pisi/util.py:536 +#: pisi/util.py:556 msgid "strip command failed for file '%s'!" msgstr "strip komutu '%s' dosyası için çalışmadı!" -#: pisi/util.py:543 +#: pisi/util.py:563 msgid "objcopy (keep-debug) command failed for file '%s'!" msgstr "objcopy (keep-debug) komutu '%s' dosyası için çalışmadı!" -#: pisi/util.py:549 +#: pisi/util.py:569 msgid "objcopy (add-debuglink) command failed for file '%s'!" msgstr "objcopy (add-debuglink) komutu '%s' dosyası için çalışmadı!" -#: pisi/util.py:610 -msgid "Updating environment..." -msgstr "Çevre güncelleniyor..." - -#: scripts/repostats.py:361 +#: scripts/repostats.py:226 msgid "" "Duplicate binary packages:\n" "%s\n" @@ -2803,11 +2881,7 @@ msgstr "" "%s\n" "%s\n" -#: scripts/repostats.py:366 -msgid "Unknown file type '%s' in package '%s'" -msgstr "Bilinmeyen dosya tipi '%s', '%s' paketi içinde bulundu. " - -#: scripts/repostats.py:422 +#: scripts/repostats.py:301 msgid "" "Duplicate source packages:\n" "%s\n" @@ -2817,15 +2891,11 @@ msgstr "" "%s\n" "%s\n" -#: scripts/repostats.py:442 -msgid "Source package '%s' has wrong date format '%s'" -msgstr "Kaynak paketi '%s' yanlış tarih biçimlendirmesine sahip: '%s'" - -#: 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" @@ -2833,27 +2903,19 @@ msgstr "" "'%s' ayrıştırılamıyor:\n" "'%s'\n" -#: scripts/repostats.py:642 +#: scripts/repostats.py:553 msgid "Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n" msgstr "Kullanım: repostats.py [SEÇENEKLER] source-repo-path [ikili-depo-adresi]\n" -#: scripts/repostats.py:643 +#: scripts/repostats.py:554 msgid "Dont generate the web site.\n" msgstr "Web sayfasını oluşturma.\n" -#: scripts/repostats.py:664 +#: scripts/repostats.py:575 msgid "Scanning source repository...\n" msgstr "Kaynak deposu taranıyor...\n" -#: scripts/repostats.py:668 +#: scripts/repostats.py:579 msgid "Scanning binary packages...\n" msgstr "İkili dosyalar taranıyor...\n" -#: scripts/repostats.py:673 -msgid "Encountered %d errors! Fix them immediately!\n" -msgstr "%d hata ile karşılaşıldı. Lütfen bunları en kısa zamanda düzeltin.\n" - -#: scripts/repostats.py:681 -msgid "These dependencies are not available in repository:\n" -msgstr "Bağımlılığa neden olan bu paketler depoda bulunmuyor:\n" - diff --git a/scripts/buildno b/scripts/buildno index fcc77e15..e33b419d 100755 --- a/scripts/buildno +++ b/scripts/buildno @@ -1,2 +1,9 @@ #!/bin/bash -pisi li -i | grep None + +b=/var/lib/pisi/package + +for d in `ls $b`;do + if ! grep "" $b/$d/metadata.xml &>/dev/null ; then + echo "$d" + fi +done diff --git a/scripts/cleanCache.py b/scripts/cleanCache.py index 647676e7..a03f6ef0 100755 --- a/scripts/cleanCache.py +++ b/scripts/cleanCache.py @@ -60,7 +60,7 @@ def cleanPisis(clean, root = '/var/cache/pisi/packages'): l = findUnneededFiles(list) doit(root, l, clean, ".pisi") -def cleanBuilds(clean, root = '/var/pisi'): +def cleanBuilds(clean, root = '/var/tmp/pisi'): # Build remnant list = [] for f in os.listdir(root): diff --git a/scripts/convert_history.py b/scripts/convert_history.py new file mode 100755 index 00000000..d4a64380 --- /dev/null +++ b/scripts/convert_history.py @@ -0,0 +1,84 @@ +#!/usr/bin/python + +import sys +import os +import codecs +import xml.dom.minidom as mdom + +def find_pspecs(folder): + paks = [] + for root, dirs, files in os.walk(folder): + if "pspec.xml" in files: + paks.append(root) + # dont walk into the versioned stuff + if ".svn" in dirs: + dirs.remove(".svn") + return paks + +def addText(doc, parent, text): + cdata =doc.createTextNode(text) + parent.appendChild(cdata) + +def getTags(parent, childName): + return [x for x in parent.childNodes if x.nodeType == x.ELEMENT_NODE if x.tagName == childName] + +def getNodeText(node, tag, default=None): + try: + c = getTags(node, tag)[0].firstChild.data + except: + c = default + return c + +def newNode(doc, tag, text): + node = doc.createElement(tag) + cdata = doc.createTextNode(text) + node.appendChild(cdata) + return node + +def fixIndent(doc, node): + for x in node.childNodes: + if x.nodeType == x.ELEMENT_NODE: + if x.tagName == "Update": + fixIndent(doc, x) + else: + x.data = "\n" + x.data[5:] + +def fixTags(doc, hist): + for update in hist.childNodes: + if update.nodeType == update.ELEMENT_NODE: + rno = getNodeText(update, "Release") + update.setAttribute("release", rno) + if rno == "1": + comment = newNode(doc, "Comment", "First release.") + paker = getTags(getTags(doc.documentElement, "Source")[0], "Packager")[0] + name = newNode(doc, "Name", getNodeText(paker, "Name")) + email = newNode(doc, "Email", getNodeText(paker, "Email")) + else: + comment = newNode(doc, "Comment", "FIXHISTORY") + name = newNode(doc, "Name", "FIXHISTORY") + email = newNode(doc, "Email", "FIXHISTORY") + update.replaceChild(comment, getTags(update, "Release")[0]) + addText(doc, update, " ") + update.appendChild(name) + addText(doc, update, "\n ") + update.appendChild(email) + addText(doc, update, "\n ") + +def fixPspec(path): + doc = mdom.parse(path) + pisi = doc.documentElement + source = getTags(pisi, "Source")[0] + history = getTags(source, "History")[0] + item = source.removeChild(history) + addText(doc, pisi, "\n ") + fixIndent(doc, item) + fixTags(doc, item) + pisi.appendChild(item) + addText(doc, pisi, "\n") + f = codecs.open(path,'w', "utf-8") + f.write(doc.toxml()) + f.close() + +pakages = find_pspecs(sys.argv[1]) +for pak in pakages: + fixPspec(os.path.join(pak, "pspec.xml")) diff --git a/scripts/newpisipackage b/scripts/newpisipackage index 5bca4cf4..a6aeec8f 100755 --- a/scripts/newpisipackage +++ b/scripts/newpisipackage @@ -14,8 +14,7 @@ import string packagerfile = ".pisipackager" -data = {"date": time.strftime("%Y-%m-%d"), - "year": time.strftime("%Y")} +data = {"date": time.strftime("%Y-%m-%d")} temp_pspec = ''' @@ -28,20 +27,21 @@ temp_pspec = ''' %(packager_email)s GPL-2 - %(package)s app:gui + + - + @@ -51,17 +51,15 @@ temp_pspec = ''' / - + System.Package System.Service - --> @@ -79,7 +77,7 @@ temp_pspec = ''' temp_actions = '''#!/usr/bin/python # -*- coding: utf-8 -*- # -# Copyright %(year)s TUBITAK/UEKAE +# Copyright 2006 TUBITAK/UEKAE # Licensed under the GNU General Public License, version 2. # See the file http://www.gnu.org/copyleft/gpl.txt. @@ -119,13 +117,10 @@ Categories=Application;Game;ArcadeGame ''' temp_service = '''serviceType = "local" -from comar.service import * - -serviceType = "local" +serviceDesc = "%(package_cap)s" serviceDefault = "off" -serviceDesc = _({"en": "%(package_cap)s", - "tr": "%(package_cap)s"}) +from comar.service import * def start(): if 0 == run('/sbin/start-stop-daemon --quiet --start --exec /usr/bin/%(package)s --pidfile /var/run/%(package)s.pid'): diff --git a/scripts/repo-diff.py b/scripts/repo-diff.py new file mode 100755 index 00000000..5ef5ea8b --- /dev/null +++ b/scripts/repo-diff.py @@ -0,0 +1,92 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2005, 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 os +import sys +from pisi.specfile import SpecFile +from pisi.util import join_path + +def findPspec(folder): + pspecList = [] + for root, dirs, files in os.walk(folder): + if "pspec.xml" in files: + pspecList.append(root) + # dont walk into the versioned stuff + if ".svn" in dirs: + dirs.remove(".svn") + return pspecList + +def getVersion(pspecList): + sources = {} + for pspec in pspecList: + specFile = SpecFile(join_path(pspec, "pspec.xml")) + sources[specFile.source.name] = (specFile.source.version, specFile.source.release) + return sources + +def listIntersection(firstRepo, secondRepo): + keys = list(set(firstRepo.keys()).__and__(set(secondRepo.keys()))) + keys.sort() + for i in keys: + if firstRepo[i] != secondRepo[i]: + print " %s: %s (r%s) -> %s (r%s)" % (i, firstRepo[i][0], firstRepo[i][1], secondRepo[i][0], secondRepo[i][1]) + +def listComplement(firstRepo, secondRepo): + keys = list(set(firstRepo.keys()) - set(secondRepo.keys())) + keys.sort() + for i in keys: + print " %s" % i + +def usage(miniMe): + print """Usage: + %s pathToSvn component (ex: %s /home/caglar/svn/pardus/ system/devel) + """ % (miniMe, miniMe) + + sys.exit(1) + +if __name__ == "__main__": + try: + svnRoot = sys.argv[1] + except IndexError: + usage(sys.argv[0]) + + try: + postfix = sys.argv[2] + except IndexError: + postfix = "" + + tag = getVersion(findPspec(join_path(svnRoot, "tags/pardus-1.0/", postfix))) + stable = getVersion(findPspec(join_path(svnRoot,"stable/pardus-1/", postfix))) + devel = getVersion(findPspec(join_path(svnRoot, "devel/", postfix))) + + print "Tag --> Stable" + listIntersection(tag, stable) + print + + print "Tag has, Stable hasn't" + listComplement(tag, stable) + print + + print "Stable has, Tag hasn't" + listComplement(stable, tag) + print + + print "Stable --> Devel" + listIntersection(stable, devel) + print + + print "Stable has, Devel hasn't" + listComplement(stable, devel) + print + + print "Devel has, Stable hasn't" + listComplement(devel, stable) + print diff --git a/scripts/repostats.py b/scripts/repostats.py new file mode 100755 index 00000000..9a65c205 --- /dev/null +++ b/scripts/repostats.py @@ -0,0 +1,598 @@ +#!/usr/bin/python +# -*- 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. +# + +import sys +import os +import codecs +import re +import getopt + +import gettext +__trans = gettext.translation('pisi', fallback=True) +_ = __trans.ugettext + +from svn import core, client + +sys.path.append('.') +import pisi.specfile +import pisi.uri +import pisi.package +import pisi.metadata +import pisi.files +from pisi.cli import printu + +# Main HTML template + +html_header = """ + + %(title)s + + + +
+
+ + + +

%(title)s

+ +
+%(content)s +
+ + +""" + +css_template = """ +body { + margin-left:0; + margin-top:0; + margin-right:0; + background-image:url('http://www.pardus.org.tr/styles/images/HeadTile.png'); + background-repeat:repeat-x; + background-color: #FFF; +} + +#header-bugzilla { + background-image:url('http://www.pardus.org.tr/styles/images/HeadLogo.png'); + background-repeat:no-repeat; + background-position: 0px 0px; + height:119px; + padding-bottom:5px; +} + +a { + color: #F55400; + text-decoration: none; +} + +a:hover { + color: #444; + background-color:#EEE; +} + +.menu { + padding-left: 1em; + padding-top: 3px; + padding-bottom: 3px; + border-bottom: 1px solid #CCC; + border-top: 1px solid #CCC; +} + +.content { + margin: 0.5em; +} +""" + +# default html templates (now obsolete) + +def_repo_sizes_html = u""" +

Boyutlar

+

Toplam kurulu boyut %(total)s

+

Dosya tiplerine göre liste:

+ +%(sizes)s +
+""" + + +def svn_uri(path): + # init + core.apr_initialize() + pool = core.svn_pool_create(None) + core.svn_config_ensure(None, pool) + # get commit date + uri = client.svn_client_url_from_path(path, pool) + # cleanup + core.svn_pool_destroy(pool) + core.apr_terminate() + return uri + + +def find_pspecs(folder): + paks = [] + for root, dirs, files in os.walk(folder): + if "pspec.xml" in files: + paks.append(root) + # dont walk into the versioned stuff + if ".svn" in dirs: + dirs.remove(".svn") + return paks + +def write_html(filename, title, content): + f = codecs.open(filename, "w", "utf-8") + root = "./" + if len(filename.split("/")) > 2: + root = "../" + dict = { + "title": title, + "content": content, + "root": root, + } + f.write(html_header % dict) + f.close() + +def make_table(elements, titles=None): + def make_row(element): + return "%s" % "".join(map(str, element)) + + title_html = "" + if titles: + title_html = """ + %s + """ % "".join(titles) + + html = """ + %s + %s +
+ """ % (title_html, "".join(map(make_row, elements))) + + return html + +def make_url(name, path="./"): + if not path.endswith("/"): + path += "/" + return "%s" % (path, name, name) + +def mangle_email(email): + return re.sub("@", " [at] ", email) + + +class Histogram: + def __init__(self): + self.list = {} + + def add(self, name, value=None): + if value: + self.list[name] = value + else: + self.list[name] = self.list.get(name, 0) + 1 + + def note(self, name): + if not self.list.has_key(name): + self.list[name] = 0 + + def get_list(self, max=0): + items = self.list.items() + items.sort(key=lambda x: x[1], reverse=True) + if max != 0: + return items[:max] + else: + return items + + +# Dictionary of all source packages keyed by the source name +sources = {} + +# Dictionary of all binary packages keyed by the package name +packages = {} + +# Dictionary of all packagers keyed by the packager name +packagers = {} + +# Dictionary of missing depended binary packages keyed by the package name +missing = {} + +# List of all repository problems +errors = [] + + +class Missing: + def __init__(self, name): + missing[name] = self + self.name = name + self.revBuildDeps = [] + self.revRuntimeDeps = [] + + +class Package: + def __init__(self, source, pakspec): + name = pakspec.name + if packages.has_key(name): + errors.append(_("Duplicate binary packages:\n%s\n%s\n") % ( + source.name, packages[name].source.name)) + return + packages[name] = self + self.name = name + self.source = source + self.pakspec = pakspec + self.revBuildDeps = [] + self.revRuntimeDeps = [] + self.installedSize = 0 + + def markDeps(self): + # mark reverse build dependencies + for d in self.source.spec.source.buildDependencies: + p = d.package + if packages.has_key(p): + packages[p].revBuildDeps.append(self.name) + else: + if not missing.has_key(p): + Missing(p) + missing[p].revBuildDeps.append(self.name) + # mark reverse runtime dependencies + for d in self.pakspec.packageDependencies: + p = d.package + if packages.has_key(p): + packages[p].revRuntimeDeps.append(self.name) + else: + if not missing.has_key(p): + Missing(p) + missing[p].revRuntimeDeps.append(self.name) + + def report_html(self): + source = self.source.spec.source + bDeps = map(lambda x: "%s" % (x, x), + (map(lambda x: x.package, source.buildDependencies))) + rDeps = map(lambda x: "%s" % (x, x), + (map(lambda x: x.package, self.pakspec.packageDependencies))) + rbDeps = map(lambda x: "%s" % (x, x), self.revBuildDeps) + rrDeps = map(lambda x: "%s" % (x, x), self.revRuntimeDeps) + + html = """ +

İkili paket: %s

+

Kaynak versiyon %s, depo sürümü %s

+ +

Kaynak paket: %s

+ +

Derlemek için gerekenler:

+

%s

+ +

Çalıştırmak için gerekenler:

+

%s

+ +

Bağımlı paketler (derlenmek için):

+

%s

+ +

Bağımlı paketler (çalışmak için):

+

%s

+ """ % ( + self.name, + self.source.spec.getSourceVersion(), + self.source.spec.getSourceRelease(), + make_url(source.name, "../source/"), + ", ".join(bDeps), + ", ".join(rDeps), + ", ".join(rbDeps), + ", ".join(rrDeps), + ) + + write_html("paksite/binary/%s.html" % self.name, self.name, html) + + +class Source: + def __init__(self, path, spec): + name = spec.source.name + if sources.has_key(name): + errors.append(_("Duplicate source packages:\n%s\n%s\n") % ( + path, sources[name].path)) + return + sources[name] = self + self.spec = spec + self.name = name + self.path = path + self.uri = svn_uri(path) + for p in spec.packages: + Package(self, p) + + def report_html(self): + source = self.spec.source + paks = map(lambda x: "%s" % (x, x), + (map(lambda x: x.name, self.spec.packages))) + histdata = map(lambda x: (x.release, x.date, x.version, make_url(x.name, "../packager/"), x.comment), self.spec.history) + ptch = map(lambda x: "%s" % (self.uri, + x.filename, x.filename), source.patches) + + titles = "Sürüm", "Sürüm Tarihi", "Versiyon", "Güncelleyen", "Açıklama" + hist = make_table(histdata, titles) + + html = """ +

Kaynak paket: %s

+

Kaynak versiyon %s, depo sürümü %s

+

%s

+

Açıklama

+

%s

+

Lisanslar:

+

%s

+

İşlemler:

+

Paket dosyalarına bak

+

Hata kayıtlarına bak

+ +

Bu kaynaktan derlenen ikili paketler:

+

%s

+ +

Tarihçe

+ %s + +

Yamalar

+ %s + """ % ( + self.name, + self.spec.getSourceVersion(), + self.spec.getSourceRelease(), + source.homepage, + source.homepage, + source.summary, + ", ".join(source.license), + self.uri, + self.name, + "
".join(paks), + "".join(hist), + "
".join(ptch), + ) + + write_html("paksite/source/%s.html" % self.name, self.name, html) + + +class Packager: + def __init__(self, spec, update=None): + if update: + name = update.name + email = update.email + else: + name = spec.source.packager.name + email = spec.source.packager.email + if packagers.has_key(name): + if email != packagers[name].email: + e = _("Developer '%s <%s>' has another mail address '%s' in source package '%s'") % ( + name, packagers[name].email, email, spec.source.name) + packagers[name].errors.append(e) + errors.append(e) + if update: + packagers[name].updates.append((spec.source.name, update.release, update.comment)) + else: + packagers[name].sources.append(spec.source.name) + else: + packagers[name] = self + self.name = name + self.email = email + if update: + self.sources = [] + self.updates = [(spec.source.name, update.release, update.comment)] + else: + self.sources = [spec.source.name] + self.updates = [] + self.errors = [] + if not update: + for update in spec.history: + Packager(spec, update) + + def report_html(self): + srcs = map(lambda x: ("%s" % (x, x), ), self.sources) + srcs.sort() + upds = map(lambda x: (u"%s (%s)
%s
" % ( + x[0], x[0], x[1], x[2]), ), self.updates) + + html = """ +

Paketçi: %s (%s)

+ """ % (self.name, mangle_email(self.email)) + + html += """ +
+

Sahip olduğu paketler:

+ %s +

+ """ % make_table(srcs) + + html += """ +
+

Yaptığı güncellemeler:

+ %s +

+ """ % make_table(upds) + + write_html("paksite/packager/%s.html" % self.name, self.name, html) + + +class Repository: + def __init__(self, path): + self.path = path + self.nr_sources = 0 + self.nr_packages = 0 + self.nr_patches = 0 + self.people = Histogram() + self.licenses = Histogram() + self.mostpatched = Histogram() + self.longpy = Histogram() + self.cscripts = Histogram() + self.total_installed_size = 0 + self.installed_sizes = {} + + def processPspec(self, path, spec): + # new classes + Packager(spec) + Source(path, spec) + # update global stats + self.nr_sources += 1 + self.nr_packages += len(spec.packages) + self.nr_patches += len(spec.source.patches) + # update top fives + self.people.add(spec.source.packager.name) + for u in spec.history: + self.people.note(u.name) + for p in spec.packages: + for cs in p.providesComar: + self.cscripts.add(cs.om) + for L in spec.source.license: + self.licenses.add(L) + self.mostpatched.add(spec.source.name, len(spec.source.patches)) + try: + f = file(os.path.join(path, "actions.py")) + L = len(f.readlines()) + self.longpy.add(spec.source.name, L) + f.close() + except: + pass + + def scan(self): + for pak in find_pspecs(self.path): + spec = pisi.specfile.SpecFile() + try: + spec.read(os.path.join(pak, "pspec.xml")) + except Exception, inst: + errors.append(_("Cannot parse '%s':\n%s\n") % (pak, inst.args[0])) + continue + self.processPspec(pak, spec) + for p in packages.values(): + p.markDeps() + + def processPisi(self, path): + p = pisi.package.Package(path) + p.extract_files(["metadata.xml", "files.xml"], ".") + md = pisi.metadata.MetaData() + md.read("metadata.xml") + self.total_installed_size += md.package.installedSize + if packages.has_key(md.package.name): + # FIXME: check version/release match too? + packages[md.package.name].installed_size = md.package.installedSize + else: + printu("Binary package '%s' has no source package in repository %s\n" % (path, self.path)) + fd = pisi.files.Files() + fd.read("files.xml") + for f in fd.list: + if self.installed_sizes.has_key(f.type): + # Emtpy directories and symlinks has None size + if not f.size is None: + self.installed_sizes[f.type] += int(f.size) + else: + self.installed_sizes[f.type] = int(f.size) + + def scan_bins(self, binpath): + for root, dirs, files in os.walk(binpath): + for fn in files: + if fn.endswith(".pisi"): + self.processPisi(os.path.join(root, fn)) + + def report_html(self): + table = ( + ("Kaynak paket sayısı", self.nr_sources), + ("İkili paket sayısı", self.nr_packages), + ("Yama sayısı", self.nr_patches), + ("Paketçi sayısı", len(self.people.list)), + ) + html = make_table(table) + + html += """ +
+

En fazla yamalanmış beş kaynak paket:

+ %s +

+ """ % make_table(map(lambda x: (make_url(x[0], "./source/"), x[1]), self.mostpatched.get_list(5))) + + html += """ +
+

En uzun inşa betikli beş kaynak paket:

+ %s +

+ """ % make_table(map(lambda x: (make_url(x[0], "./source/"), x[1]), self.longpy.get_list(5))) + + write_html("paksite/index.html", "Genel Bilgiler", html) + + titles = ( + "Paketçi", + "Paket sayısı" + ) + + people = self.people.get_list() + people = map(lambda x: ("%s" % (x[0], x[0]), x[1]), people) + write_html("paksite/packagers.html", "Paketçiler (paket sayısına göre)", make_table(people, titles)) + + people.sort(key=lambda x: x[0]) + write_html("paksite/packagers_by_name.html", "Paketçiler (isme göre)", make_table(people, titles)) + + titles = "Paket adı", "Versiyon", "Açıklama" + + srclist = map(lambda x: (make_url(x.name, "source/"), x.spec.getSourceVersion(), x.spec.source.summary), sources.values()) + srclist.sort(key=lambda x: x[0]) + html = make_table(srclist, titles) + write_html("paksite/sources.html", "Kaynak Paketler", html) + + binlist = map(lambda x: (make_url(x.name, "binary/"), x.source.spec.getSourceVersion(), x.source.spec.source.summary), packages.values()) + binlist.sort(key=lambda x: x[0]) + html = make_table(binlist, titles) + write_html("paksite/binaries.html", "İkili Paketler", html) + + +# command line driver + +def usage(): + printu(_("Usage: repostats.py [OPTIONS] source-repo-path [binary-repo-path]\n")) + printu(" -t, --test-only: %s" % _("Dont generate the web site.\n")) + sys.exit(0) + +if __name__ == "__main__": + try: + opts, args = getopt.gnu_getopt(sys.argv[1:], "ht", ["help", "test-only"]) + except: + usage() + + if args == []: + usage() + + do_web = True + + for o, v in opts: + if o in ("-h", "--help"): + usage() + if o in ("-t", "--test-only"): + do_web = False + + repo = Repository(args[0]) + printu(_("Scanning source repository...\n")) + repo.scan() + + if len(args) > 1: + printu(_("Scanning binary packages...\n")) + repo.scan_bins(args[1]) + + if do_web: + if not os.path.exists("paksite/packager"): + os.makedirs("paksite/packager") + if not os.path.exists("paksite/binary"): + os.makedirs("paksite/binary") + if not os.path.exists("paksite/source"): + os.makedirs("paksite/source") + + file("paksite/stil.css", "w").write(css_template) + + repo.report_html() + for p in packagers.values(): + p.report_html() + for p in packages.values(): + p.report_html() + for p in sources.values(): + p.report_html() diff --git a/scripts/unownedfiles.py b/scripts/unownedfiles.py deleted file mode 100755 index 22e38266..00000000 --- a/scripts/unownedfiles.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/python -# -*- 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 os -import sys -import piksemel - - -def findFilesXML(path): - filesXMLs = list() - for root, dirs, files in os.walk(path): - for file in files: - if file == "files.xml": - filesXMLs.append(os.path.join(root, file)) - return filesXMLs - -def parseFilesXML(): - files = set() - for filesXML in findFilesXML("/var/lib/pisi/package/"): - data = open(filesXML).read() - data = piksemel.parseString(data) - for filePath in data.tags("File"): - path = filePath.getTagData("Path") - if filePath.getTag("Hash"): - files.add("/%s" % path) - return files - -if __name__ == "__main__": - try: - sys.argv[1] - except IndexError: - sys.exit("Unsufficient arguments...") - - fileSet = parseFilesXML() - - for root, dirs, files in os.walk(sys.argv[1]): - for file in files: - f = os.path.join(root, file) - if not fileSet.__contains__(f): - print f diff --git a/setup.py b/setup.py index d5b1ac7b..d87e5796 100755 --- a/setup.py +++ b/setup.py @@ -64,6 +64,7 @@ class Install(install): return pisiconf = open(confFile, "w") + klasses = inspect.getmembers(pisi.configfile, inspect.isclass) defaults = [klass for klass in klasses if klass[0].endswith('Defaults')] @@ -76,8 +77,10 @@ class Install(install): and not m[0].endswith('__')] for member in section_members: - pisiconf.write("%s = %s\n" % (member[0], member[1])) - + if member[1] == None or member[1] == "": + pisiconf.write("# %s = %s\n" % (member[0], member[1])) + else: + pisiconf.write("%s = %s\n" % (member[0], member[1])) pisiconf.write('\n') @@ -90,7 +93,7 @@ setup(name="pisi", author_email="pisi@pardus.org.tr", url="http://www.pardus.org.tr/eng/pisi/", package_dir = {'': ''}, - packages = ['pisi', 'pisi.cli', 'pisi.db', 'pisi.actionsapi', 'pisi.pxml', 'pisi.scenarioapi'], + packages = ['pisi', 'pisi.cli', 'pisi.actionsapi', 'pisi.pxml', 'pisi.scenarioapi'], scripts = ['pisi-cli', 'scripts/lspisi', 'scripts/unpisi', 'scripts/check-newconfigs.py', 'scripts/revdep-rebuild'], cmdclass = {'install' : Install} ) diff --git a/tests/dependencytests.py b/tests/dependencytests.py index 8e5d10ba..25452fc2 100644 --- a/tests/dependencytests.py +++ b/tests/dependencytests.py @@ -21,27 +21,27 @@ class DependencyTestCase(unittest.TestCase): gtkmmdep = Dependency() gtkmmdep.versionFrom = '1.9.1' gtkmmdep.package = 'atk' - self.assert_( not gtkmmdep.satisfies('atk', '1.8.0', '1') ) - self.assert_( gtkmmdep.satisfies('atk', '1.9.1', '2') ) - self.assert_( gtkmmdep.satisfies('atk', '1.10.5', '3') ) + self.assert_( not gtkmmdep.satisfies_relation('atk', '1.8.0', '1') ) + self.assert_( gtkmmdep.satisfies_relation('atk', '1.9.1', '2') ) + self.assert_( gtkmmdep.satisfies_relation('atk', '1.10.5', '3') ) def testReleaseFrom(self): # releaseFrom isn't taken into account #2294 dep = Dependency() dep.releaseFrom = '121' dep.package = 'dbus' - self.assert_(not dep.satisfies('dbus', '1.2', '2')) + self.assert_(not dep.satisfies_relation('dbus', '1.2', '2')) def testReleaseTo(self): dep = Dependency() dep.releaseTo = '22' dep.package = 'dbus' - self.assert_(not dep.satisfies('dbus', '1.2', '25')) + self.assert_(not dep.satisfies_relation('dbus', '1.2', '25')) def testReleaseIs(self): dep = Dependency() dep.release = '42' dep.package = 'dbus' - self.assert_(dep.satisfies('dbus', '1.2', '42')) + self.assert_(dep.satisfies_relation('dbus', '1.2', '42')) suite = unittest.makeSuite(DependencyTestCase) diff --git a/tests/filestests.py b/tests/filestests.py index 34f32421..a784d330 100644 --- a/tests/filestests.py +++ b/tests/filestests.py @@ -13,7 +13,7 @@ import os import pisi.context as ctx import pisi.api -import pisi.db.installdb +import pisi.installdb import pisi.files as files from pisi import util diff --git a/tests/installdbtests.py b/tests/installdbtests.py index a2e09a4f..082ff1e4 100644 --- a/tests/installdbtests.py +++ b/tests/installdbtests.py @@ -13,7 +13,7 @@ import os import pisi.context as ctx import pisi.api -import pisi.db.installdb +import pisi.installdb from pisi import util import testcase diff --git a/tests/metadatatests.py b/tests/metadatatests.py index 083c2dd5..d2c6f0a5 100644 --- a/tests/metadatatests.py +++ b/tests/metadatatests.py @@ -13,6 +13,7 @@ import os from pisi import metadata from pisi import util +from pisi import specfile class MetaDataTestCase(unittest.TestCase): @@ -20,13 +21,13 @@ class MetaDataTestCase(unittest.TestCase): md = metadata.MetaData() md.read('tests/popt/metadata.xml') - self.assertEqual(md.package.license, ["As-Is"]) + self.assertEqual(md.package.license, ["as-is"]) self.assertEqual(md.package.version, "1.7") - self.assertEqual(md.package.installedSize, 149691) + self.assertEqual(md.package.installedSize, 15982) return md - + def testWrite(self): md = self.testRead() md.write('/tmp/metadata-test.xml') @@ -36,5 +37,15 @@ class MetaDataTestCase(unittest.TestCase): if md.errors(): self.fail("Couldn't verify!") + def testFromSpec(self): + specmd = metadata.MetaData() + spec = specfile.SpecFile('tests/popt/pspec.xml') + specmd.from_spec(spec.source, spec.packages[0], spec.history) + md = metadata.MetaData() + md.read('tests/popt/metadata.xml') + for key in md.package.__dict__.keys(): + if key not in ('installedSize', 'packageFormat', 'distributionRelease', + 'license', 'architecture', 'distribution', 'partOf'): + self.assertEqual(md.package.__dict__[key], specmd.package.__dict__[key]) suite = unittest.makeSuite(MetaDataTestCase) diff --git a/tests/packagedbtests.py b/tests/packagedbtests.py index 5cab01b3..4c315b7a 100644 --- a/tests/packagedbtests.py +++ b/tests/packagedbtests.py @@ -13,10 +13,9 @@ import os import pisi.context as ctx import pisi.api +from pisi.packagedb import PackageDB from pisi import util from pisi.specfile import SpecFile -import pisi.db.repodb -import pisi.db.packagedb import testcase class PackageDBTestCase(testcase.TestCase): @@ -29,7 +28,7 @@ class PackageDBTestCase(testcase.TestCase): def testAdd(self): if not ctx.repodb.has_repo('test'): - ctx.repodb.add_repo('test', pisi.db.repodb.Repo(pisi.uri.URI('fakerepo.xml')) ) + ctx.repodb.add_repo('test', pisi.repodb.Repo(pisi.uri.URI('fakerepo.xml')) ) ctx.packagedb.add_package(self.spec.packages[1], 'test') self.assert_(ctx.packagedb.has_package('popt-libs')) # close the database and remove lock diff --git a/tests/packagetests.py b/tests/packagetests.py index f3913b60..e6fb0366 100644 --- a/tests/packagetests.py +++ b/tests/packagetests.py @@ -13,7 +13,6 @@ import os from pisi import util import pisi.context as ctx -import pisi.db.packagedb import pisi.package import testcase diff --git a/tests/popt/metadata.xml b/tests/popt/metadata.xml index 286dfe84..995fe8de 100644 --- a/tests/popt/metadata.xml +++ b/tests/popt/metadata.xml @@ -1,87 +1,51 @@ - - - popt - + popt + http://www.rpm.org/ - - Kırmızı kafalar - - - hotmail@redhat.com - + Kırmızı kafalar + hotmail@redhat.com - - popt-libs - - - Command line option parsing library - - - library files for popt - - - As-Is - - - library:util:optparser - - - rpm:archive - + popt + Command line option parsing library + Komut satırı seçenekleri işleme kütüphanesi + library files for popt + app:console + system.base + as-is - - gettext - + gettext - - /usr/lib - - - /usr/share/doc - - - /usr/share/man - - - /usr/share/locale - - - /usr/include/popt.h - + /usr/lib + /usr/share/doc + /usr/share/man + /usr/share/locale + /usr/include/popt.h - + 2005-06-14 1.7 - - - 2005-06-10 - 1.7 - - - 2005-05-05 - 1.7 + First release. + Kırmızı kafalar + hotmail@redhat.com - - 0 - - - Pardus - - - 0.1 - - - Any - - - 149691 - + Pardus + 2007 + Any + 15982 + 1.1 + + popt + http://www.rpm.org/ + + Kırmızı kafalar + hotmail@redhat.com + + - + \ No newline at end of file diff --git a/tests/repodbtests.py b/tests/repodbtests.py index 7053972b..463f7b3d 100644 --- a/tests/repodbtests.py +++ b/tests/repodbtests.py @@ -13,7 +13,7 @@ import os import pisi.context as ctx import pisi.api -import pisi.db.installdb +import pisi.installdb from pisi import util import testcase @@ -24,7 +24,7 @@ class RepoDBTestCase(testcase.TestCase): for i in range(2): print '\nTest %d\n' % (i) - pisi.api.add_repository("foo","bar") - pisi.api.remove_repository("foo") + pisi.api.add_repo("foo","bar") + pisi.api.remove_repo("foo") suite = unittest.makeSuite(RepoDBTestCase) diff --git a/tests/sourcedbtests.py b/tests/sourcedbtests.py index b0e723d2..3f273ad0 100644 --- a/tests/sourcedbtests.py +++ b/tests/sourcedbtests.py @@ -13,7 +13,7 @@ import os import pisi.context as ctx import pisi.api -import pisi.db.sourcedb as sourcedb +import pisi.sourcedb from pisi import util from pisi.specfile import SpecFile @@ -23,11 +23,11 @@ class SourceDBTestCase(testcase.TestCase): def setUp(self): testcase.TestCase.setUp(self) - self.sourcedb = sourcedb.init() + self.sourcedb = pisi.sourcedb.init() self.spec = SpecFile() self.spec.read("tests/popt/pspec.xml") if not ctx.repodb.has_repo('test'): - ctx.repodb.add_repo('test', pisi.db.repodb.Repo(pisi.uri.URI('fakerepo.xml')) ) + ctx.repodb.add_repo('test', pisi.repodb.Repo(pisi.uri.URI('fakerepo.xml')) ) def testAddRemove(self): self.sourcedb.add_spec(self.spec, 'test') diff --git a/tests/utiltests.py b/tests/utiltests.py index 484e9454..5ff3cdc0 100644 --- a/tests/utiltests.py +++ b/tests/utiltests.py @@ -29,10 +29,10 @@ def get_svn_paths(path): return svn_paths def move_svn_paths(paths): - [shutil.move(d, '/tmp/' + os.path.dirname(d).replace('/', '_')) for d in paths] + [shutil.move(d, 'tmp/' + os.path.dirname(d).replace('/', '_')) for d in paths] def restore_svn_paths(paths): - [shutil.move('/tmp/' + os.path.dirname(d).replace('/', '_'), d) for d in paths] + [shutil.move('tmp/' + os.path.dirname(d).replace('/', '_'), d) for d in paths] class UtilTestCase(testcase.TestCase): @@ -69,7 +69,7 @@ class UtilTestCase(testcase.TestCase): self.assertEqual(dir_size('tests/utilfiles/linktonowhere'), 23) self.assertEqual(dir_size('tests/utilfiles/directory'), 74536) self.assertEqual(dir_size('tests/utilfiles/linktoarfile'), 22) - self.assertEqual(dir_size('tests/utilfiles/'), 149117) + self.assertEqual(dir_size('tests/utilfiles/'), 149072) restore_svn_paths(svn_paths) def testGetFileHashes(self): diff --git a/tools/svndist.py b/tools/svndist.py index dfc3896c..9b62b430 100755 --- a/tools/svndist.py +++ b/tools/svndist.py @@ -23,7 +23,7 @@ if os.path.exists('svndist/pisi-%s' % ver): shutil.rmtree('svndist/pisi-%s' % ver) print 'Exporting svn directory' -run('svn export http://svn.uludag.org.tr/uludag/trunk/pisi svndist/pisi-%s' % ver) +run('svn export http://svn.uludag.org.tr/uludag/branches/pisi-1.1 svndist/pisi-%s' % ver) os.chdir('svndist') run('tar cjvf pisi-%s.tar.bz2 pisi-%s' % (ver, ver))