diff options
Diffstat (limited to 'src')
49 files changed, 2763 insertions, 14046 deletions
diff --git a/src/pacman/.gitignore b/src/pacman/.gitignore index f8247c5e..3b2600fd 100644 --- a/src/pacman/.gitignore +++ b/src/pacman/.gitignore @@ -1,6 +1,4 @@  .deps  .libs -Makefile -Makefile.in  pacman  pacman.static diff --git a/src/pacman/Makefile.am b/src/pacman/Makefile.am index 82ec4d6b..0395432e 100644 --- a/src/pacman/Makefile.am +++ b/src/pacman/Makefile.am @@ -1,36 +1,42 @@ -SUBDIRS = po +# paths set at make time +conffile  = ${sysconfdir}/pacman.conf +dbpath    = ${localstatedir}/lib/pacman/ +cachedir  = ${localstatedir}/cache/pacman/pkg/ +logfile   = ${localstatedir}/log/pacman.log  bin_PROGRAMS = pacman -if LINKSTATIC +if INCLUDE_PACMAN_STATIC  bin_PROGRAMS += pacman.static  endif -localedir = $(datadir)/locale -DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ +DEFS = -DLOCALEDIR=\"@localedir@\" \ +       -DCONFFILE=\"$(conffile)\" \ +       -DROOTDIR=\"$(ROOTDIR)\" \ +       -DDBPATH=\"$(dbpath)\" \ +       -DCACHEDIR=\"$(cachedir)\" \ +       -DLOGFILE=\"$(logfile)\" \ +       @DEFS@  INCLUDES = -I$(top_srcdir)/lib/libalpm -AM_CFLAGS = -D_GNU_SOURCE +AM_CFLAGS = -pedantic -D_GNU_SOURCE  pacman_SOURCES = \ -	add.h add.c \ +	add.c \  	conf.h conf.c \ -	deptest.h deptest.c \ -	downloadprog.h downloadprog.c \ -	log.h log.c \ +	deptest.c \  	package.h package.c \ -	pacman.c \ -	query.h query.c \ -	remove.h remove.c \ -	sync.h sync.c \ -	trans.h trans.c \ -	upgrade.h upgrade.c \ +	pacman.h pacman.c \ +	query.c \ +	remove.c \ +	sync.c \ +	callback.h callback.c \  	util.h util.c -pacman_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la \ -			   -ldownload +pacman_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la  pacman_static_SOURCES = $(pacman_SOURCES)  pacman_static_LDFLAGS = $(LDFLAGS) -all-static -pacman_static_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la \ -					  -ldownload +pacman_static_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la + +# vim:set ts=2 sw=2 noet: diff --git a/src/pacman/add.c b/src/pacman/add.c index 2adf8681..e04707f2 100644 --- a/src/pacman/add.c +++ b/src/pacman/add.c @@ -1,8 +1,8 @@  /*   *  add.c - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + * + *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org> + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ @@ -24,33 +24,65 @@  #include <stdlib.h>  #include <stdio.h>  #include <string.h> -#include <libintl.h>  #include <alpm.h>  #include <alpm_list.h>  /* pacman */ -#include "add.h" -#include "log.h" -#include "downloadprog.h" -#include "trans.h" +#include "pacman.h" +#include "callback.h"  #include "conf.h"  #include "util.h" -extern config_t *config; +/* Free the current transaction and print an error if unsuccessful */ +static int add_cleanup(void) +{ +	int ret = alpm_trans_release(); +	if(ret != 0) { +		pm_printf(PM_LOG_ERROR, _("failed to release transaction (%s)\n"), +		        alpm_strerrorlast()); +		ret = 1; +	} +	return(ret); +} + +/** + * @brief Upgrade a specified list of packages. + * + * @param targets a list of packages (as strings) to upgrade + * + * @return 0 on success, 1 on failure + */ +int pacman_upgrade(alpm_list_t *targets) +{ +	/* this is basically just a remove-then-add process. pacman_add() will */ +	/* handle it */ +	config->upgrade = 1; +	return(pacman_add(targets)); +} + +/** + * @brief Add a specified list of packages which cannot already be installed. + * + * @param targets a list of packages (as strings) to add + * + * @return 0 on success, 1 on failure + */  int pacman_add(alpm_list_t *targets)  { -	alpm_list_t *i = targets, *data = NULL; +	alpm_list_t *i, *data = NULL; +	pmtranstype_t transtype = PM_TRANS_TYPE_ADD;  	int retval = 0;  	if(targets == NULL) { -		return(0); +		pm_printf(PM_LOG_ERROR, _("no targets specified (use -h for help)\n")); +		return(1);  	}  	/* Check for URL targets and process them  	 */ -	while(i) { +	for(i = targets; i; i = alpm_list_next(i)) {  		if(strstr(i->data, "://")) {  			char *str = alpm_fetch_pkgurl(i->data);  			if(str == NULL) { @@ -60,126 +92,103 @@ int pacman_add(alpm_list_t *targets)  				i->data = str;  			}  		} -		i = i->next;  	} -	/* Step 1: create a new transaction -	 */ -	if(alpm_trans_init((config->upgrade == 0) ? PM_TRANS_TYPE_ADD : PM_TRANS_TYPE_UPGRADE, -	                   config->flags, cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) { -		ERR(NL, "%s\n", alpm_strerror(pm_errno)); +	/* Step 1: create a new transaction */ +	if(config->upgrade == 1) { +		/* if upgrade flag was set, change this to an upgrade transaction */ +		transtype = PM_TRANS_TYPE_UPGRADE; +	} + +	if(alpm_trans_init(transtype, config->flags, cb_trans_evt, +	   cb_trans_conv, cb_trans_progress) == -1) { +		/* TODO: error messages should be in the front end, not the back */ +		fprintf(stderr, _("error: %s\n"), alpm_strerrorlast());  		if(pm_errno == PM_ERR_HANDLE_LOCK) { -			MSG(NL, _("       if you're sure a package manager is not already running,\n" -						    "       you can remove %s%s\n"), alpm_option_get_root(), PM_LOCK); +			/* TODO this and the 2 other places should probably be on stderr */ +			printf(_("  if you're sure a package manager is not already\n" +			         "  running, you can remove %s.\n"), alpm_option_get_lockfile());  		}  		return(1);  	} -	/* and add targets to it */ -	MSG(NL, _("loading package data... ")); -	for(i = targets; i; i = i->next) { -		if(alpm_trans_addtarget(i->data) == -1) { -			MSG(NL, "\n"); -			ERR(NL, _("failed to add target '%s' (%s)"), (char *)i->data, alpm_strerror(pm_errno)); -			retval = 1; -			goto cleanup; +	/* add targets to the created transaction */ +	printf(_("loading package data... ")); +	for(i = targets; i; i = alpm_list_next(i)) { +		char *targ = alpm_list_getdata(i); +		if(alpm_trans_addtarget(targ) == -1) { +			fprintf(stderr, _("error: failed to add target '%s' (%s)"), targ, +			        alpm_strerrorlast()); +			add_cleanup(); +			return(1);  		}  	} -	MSG(CL, _("done.\n")); +	printf(_("done.\n")); -	/* Step 2: "compute" the transaction based on targets and flags -	 */ +	/* Step 2: "compute" the transaction based on targets and flags */ +	/* TODO: No, compute nothing. This is stupid. */  	if(alpm_trans_prepare(&data) == -1) { -		long long *pkgsize, *freespace; - -		ERR(NL, _("failed to prepare transaction (%s)\n"), alpm_strerror(pm_errno)); +		fprintf(stderr, _("error: failed to prepare transaction (%s)\n"), +		        alpm_strerrorlast());  		switch(pm_errno) {  			case PM_ERR_UNSATISFIED_DEPS:  				for(i = data; i; i = alpm_list_next(i)) {  					pmdepmissing_t *miss = alpm_list_getdata(i); -				 +					pmdepend_t *dep = alpm_miss_get_dep(miss); +					char *depstring = alpm_dep_get_string(dep); +  					/* TODO indicate if the error was a virtual package or not:  					 *		:: %s: requires %s, provided by %s  					 */ -					MSG(NL, _(":: %s: requires %s"), alpm_dep_get_target(miss), -					                              alpm_dep_get_name(miss)); -					switch(alpm_dep_get_mod(miss)) { -						case PM_DEP_MOD_ANY: -							break; -						case PM_DEP_MOD_EQ: -							MSG(CL, "=%s", alpm_dep_get_version(miss)); -							break; -						case PM_DEP_MOD_GE: -							MSG(CL, ">=%s", alpm_dep_get_version(miss)); -							break; -						case PM_DEP_MOD_LE: -							MSG(CL, "<=%s", alpm_dep_get_version(miss)); -							break; -					} -					MSG(CL, "\n"); +					printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss), +							depstring); +					free(depstring);  				} -			break; +				break;  			case PM_ERR_CONFLICTING_DEPS:  				for(i = data; i; i = alpm_list_next(i)) { -					pmdepmissing_t *miss = alpm_list_getdata(i); -					MSG(NL, _(":: %s: conflicts with %s"), -						alpm_dep_get_target(miss), alpm_dep_get_name(miss)); +					pmconflict_t *conflict = alpm_list_getdata(i); +					printf(_(":: %s: conflicts with %s"), +						alpm_conflict_get_package1(conflict), alpm_conflict_get_package2(conflict));  				} -			break; +				break;  			case PM_ERR_FILE_CONFLICTS:  				for(i = data; i; i = alpm_list_next(i)) { -					pmconflict_t *conflict = alpm_list_getdata(i); -					switch(alpm_conflict_get_type(conflict)) { -						case PM_CONFLICT_TYPE_TARGET: -							MSG(NL, _("%s exists in both '%s' and '%s'\n"), -							        alpm_conflict_get_file(conflict), -							        alpm_conflict_get_target(conflict), -							        alpm_conflict_get_ctarget(conflict)); +					pmfileconflict_t *conflict = alpm_list_getdata(i); +					switch(alpm_fileconflict_get_type(conflict)) { +						case PM_FILECONFLICT_TARGET: +							printf(_("%s exists in both '%s' and '%s'\n"), +							        alpm_fileconflict_get_file(conflict), +							        alpm_fileconflict_get_target(conflict), +							        alpm_fileconflict_get_ctarget(conflict));  						break; -						case PM_CONFLICT_TYPE_FILE: -							MSG(NL, _("%s: %s exists in filesystem\n"), -							        alpm_conflict_get_target(conflict), -							        alpm_conflict_get_file(conflict)); +						case PM_FILECONFLICT_FILESYSTEM: +							printf(_("%s: %s exists in filesystem\n"), +							        alpm_fileconflict_get_target(conflict), +							        alpm_fileconflict_get_file(conflict));  						break;  					}  				} -				MSG(NL, _("\nerrors occurred, no packages were upgraded.\n")); -			break; -			/* TODO This is gross... we should not return these values in the same list we -			 * would get conflicts and such with... it's just silly -			 */ -			case PM_ERR_DISK_FULL: -				i = data; -				pkgsize = alpm_list_getdata(i); -				i = alpm_list_next(i); -				freespace = alpm_list_getdata(i); -					MSG(NL, _(":: %.1f MB required, have %.1f MB"), -						(double)(*pkgsize / (1024.0*1024.0)), (double)(*freespace / (1024.0*1024.0))); -			break; +				printf(_("\nerrors occurred, no packages were upgraded.\n")); +				break;  			default: -			break; +				break;  		} -		retval=1; -		goto cleanup; +		add_cleanup(); +		alpm_list_free_inner(data, free); +		alpm_list_free(data); +		return(1);  	} +	alpm_list_free(data); -	/* Step 3: actually perform the installation -	 */ +	/* Step 3: perform the installation */  	if(alpm_trans_commit(NULL) == -1) { -		ERR(NL, _("failed to commit transaction (%s)\n"), alpm_strerror(pm_errno)); -		retval=1; -		goto cleanup; -	} - -cleanup: -	if(data) { -		alpm_list_free(data); -	} -	if(alpm_trans_release() == -1) { -		ERR(NL, _("failed to release transaction (%s)\n"), alpm_strerror(pm_errno)); -		retval=1; +		fprintf(stderr, _("error: failed to commit transaction (%s)\n"), alpm_strerrorlast()); +		add_cleanup(); +		return(1);  	} +	retval = add_cleanup();  	return(retval);  } diff --git a/src/pacman/add.h b/src/pacman/add.h deleted file mode 100644 index 61a956c5..00000000 --- a/src/pacman/add.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - *  add.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ -#ifndef _PM_ADD_H -#define _PM_ADD_H - -#include <alpm_list.h> - -int pacman_add(alpm_list_t *targets); - -#endif /* _PM_ADD_H */ - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/callback.c b/src/pacman/callback.c new file mode 100644 index 00000000..6129d8d7 --- /dev/null +++ b/src/pacman/callback.c @@ -0,0 +1,552 @@ +/* + *  callback.c + * + *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org> + * + *  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. + * + *  This program is distributed in the hope that it will be useful, + *  but WITHOUT ANY WARRANTY; without even the implied warranty of + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *  GNU General Public License for more details. + * + *  You should have received a copy of the GNU General Public License + *  along with this program; if not, write to the Free Software + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + *  USA. + */ + +#include "config.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/time.h> +#include <unistd.h> +#include <dirent.h> +#include <wchar.h> + +#include <alpm.h> + +/* pacman */ +#include "callback.h" +#include "util.h" +#include "conf.h" + +/* TODO this should not have to be defined twice- trans.c & log.c */ +#define LOG_STR_LEN 256 +#define FILENAME_TRIM_LEN 23 + +/* download progress bar */ +static float rate_last; +static int xfered_last; +static struct timeval initial_time; + +/* transaction progress bar ? */ +static int prevpercent=0; /* for less progressbar output */ + +/* Silly little helper function, determines if the caller needs a visual update + * since the last time this function was called. + * This is made for the two progress bar functions, to prevent flicker + * + * first_call indicates if this is the first time it is called, for + * initialization purposes */ +static float get_update_timediff(int first_call) +{ +	float retval = 0.0; +	static struct timeval last_time = {0, 0}; + +	/* on first call, simply set the last time and return */ +	if(first_call) { +		gettimeofday(&last_time, NULL); +	} else { +		struct timeval this_time; +		float diff_sec, diff_usec; + +		gettimeofday(&this_time, NULL); +		diff_sec = this_time.tv_sec - last_time.tv_sec; +		diff_usec = this_time.tv_usec - last_time.tv_usec; + +		retval = diff_sec + (diff_usec / 1000000.0); + +		/* return 0 and do not update last_time if interval was too short */ +		if(retval < UPDATE_SPEED_SEC) { +			retval = 0.0; +		} else { +			last_time = this_time; +			/* printf("\nupdate retval: %f\n", retval); DEBUG*/ +		} +	} + +	return(retval); +} + +/* refactored from cb_trans_progress */ +static void fill_progress(const int graph_percent, const int display_percent, +		const int proglen) +{ +	const unsigned int hashlen = proglen - 8; +	const unsigned int hash = graph_percent * hashlen / 100; +	static unsigned int lasthash = 0, mouth = 0; +	unsigned int i; + +	/* printf("\ndebug: proglen: %i\n", proglen); DEBUG*/ + +	if(graph_percent == 0) { +		lasthash = 0; +		mouth = 0; +	} + +	/* magic numbers, how I loathe thee */ +	if(proglen > 8) { +		printf(" ["); +		for(i = hashlen; i > 1; --i) { +			/* if special progress bar enabled */ +			if(config->chomp) { +				if(i > hashlen - hash) { +					printf("-"); +				} else if(i == hashlen - hash) { +					if(lasthash == hash) { +						if(mouth) { +							printf("\033[1;33mC\033[m"); +						} else { +							printf("\033[1;33mc\033[m"); +						} +					} else { +						lasthash = hash; +						mouth = mouth == 1 ? 0 : 1; +						if(mouth) { +							printf("\033[1;33mC\033[m"); +						} else { +							printf("\033[1;33mc\033[m"); +						} +					} +				} else if(i%3 == 0) { +					printf("\033[0;37mo\033[m"); +				} else { +					printf("\033[0;37m \033[m"); +				} +			} /* else regular progress bar */ +			else if(i > hashlen - hash) { +				printf("#"); +			} else { +				printf("-"); +			} +		} +		printf("]"); +	} +	/* print percent after progress bar */ +	if(proglen > 5) { +		printf(" %3d%%", display_percent); +	} + +	if(graph_percent == 100) { +		printf("\n"); +	} else { +		printf("\r"); +	} +	fflush(stdout); +} + + + +/* callback to handle messages/notifications from libalpm transactions */ +void cb_trans_evt(pmtransevt_t event, void *data1, void *data2) +{ +	char str[LOG_STR_LEN] = ""; + +	switch(event) { +		case PM_TRANS_EVT_CHECKDEPS_START: +		  printf(_("checking dependencies...\n")); +			break; +		case PM_TRANS_EVT_FILECONFLICTS_START: +			if(config->noprogressbar) { +			printf(_("checking for file conflicts...\n")); +			} +			break; +		case PM_TRANS_EVT_RESOLVEDEPS_START: +			printf(_("resolving dependencies...\n")); +			break; +		case PM_TRANS_EVT_INTERCONFLICTS_START: +			printf(_("looking for inter-conflicts...\n")); +			break; +		case PM_TRANS_EVT_ADD_START: +			if(config->noprogressbar) { +				printf(_("installing %s...\n"), alpm_pkg_get_name(data1)); +			} +			break; +		case PM_TRANS_EVT_ADD_DONE: +			snprintf(str, LOG_STR_LEN, "installed %s (%s)\n", +			         alpm_pkg_get_name(data1), +			         alpm_pkg_get_version(data1)); +			alpm_logaction(str); +			break; +		case PM_TRANS_EVT_REMOVE_START: +			if(config->noprogressbar) { +			printf(_("removing %s...\n"), alpm_pkg_get_name(data1)); +			} +			break; +		case PM_TRANS_EVT_REMOVE_DONE: +			snprintf(str, LOG_STR_LEN, "removed %s (%s)\n", +			         alpm_pkg_get_name(data1), +			         alpm_pkg_get_version(data1)); +			alpm_logaction(str); +			break; +		case PM_TRANS_EVT_UPGRADE_START: +			if(config->noprogressbar) { +				printf(_("upgrading %s...\n"), alpm_pkg_get_name(data1)); +			} +			break; +		case PM_TRANS_EVT_UPGRADE_DONE: +			snprintf(str, LOG_STR_LEN, "upgraded %s (%s -> %s)\n", +			         (char *)alpm_pkg_get_name(data1), +			         (char *)alpm_pkg_get_version(data2), +			         (char *)alpm_pkg_get_version(data1)); +			alpm_logaction(str); +			break; +		case PM_TRANS_EVT_INTEGRITY_START: +			printf(_("checking package integrity...\n")); +			break; +		case PM_TRANS_EVT_DELTA_INTEGRITY_START: +			printf(_("checking delta integrity...\n")); +			break; +		case PM_TRANS_EVT_DELTA_PATCHES_START: +			printf(_("applying deltas...\n")); +			break; +		case PM_TRANS_EVT_DELTA_PATCH_START: +			printf(_("generating %s with %s... "), (char *)data1, (char *)data2); +			break; +		case PM_TRANS_EVT_DELTA_PATCH_DONE: +			printf(_("success!\n")); +			break; +		case PM_TRANS_EVT_DELTA_PATCH_FAILED: +			printf(_("failed.\n")); +			break; +		case PM_TRANS_EVT_SCRIPTLET_INFO: +			printf("%s", (char*)data1); +			break; +		case PM_TRANS_EVT_PRINTURI: +			printf("%s/%s\n", (char*)data1, (char*)data2); +			break; +		case PM_TRANS_EVT_RETRIEVE_START: +			printf(_(":: Retrieving packages from %s...\n"), (char*)data1); +			break; +		/* all the simple done events, with fallthrough for each */ +		case PM_TRANS_EVT_FILECONFLICTS_DONE: +		case PM_TRANS_EVT_EXTRACT_DONE: +		case PM_TRANS_EVT_CHECKDEPS_DONE: +		case PM_TRANS_EVT_RESOLVEDEPS_DONE: +		case PM_TRANS_EVT_INTERCONFLICTS_DONE: +		case PM_TRANS_EVT_INTEGRITY_DONE: +		case PM_TRANS_EVT_DELTA_INTEGRITY_DONE: +		case PM_TRANS_EVT_DELTA_PATCHES_DONE: +			/* nothing */ +			break; +	} +	fflush(stdout); +} + +/* callback to handle questions from libalpm transactions (yes/no) */ +/* TODO this is one of the worst ever functions written. void *data ? wtf */ +void cb_trans_conv(pmtransconv_t event, void *data1, void *data2, +                   void *data3, int *response) +{ +	char str[LOG_STR_LEN] = ""; + +	switch(event) { +		case PM_TRANS_CONV_INSTALL_IGNOREPKG: +			if(data2) { +				/* TODO we take this route based on data2 being not null? WTF */ +				snprintf(str, LOG_STR_LEN, _(":: %s requires installing %s from IgnorePkg/IgnoreGroup. Install anyway? [Y/n] "), +						alpm_pkg_get_name(data1), +						alpm_pkg_get_name(data2)); +				*response = yesno(str); +			} else { +				snprintf(str, LOG_STR_LEN, _(":: %s is in IgnorePkg/IgnoreGroup. Install anyway? [Y/n] "), +						alpm_pkg_get_name(data1)); +				*response = yesno(str); +			} +			break; +		case PM_TRANS_CONV_REMOVE_HOLDPKG: +			snprintf(str, LOG_STR_LEN, _(":: %s is designated as a HoldPkg. Remove anyway? [Y/n] "), +					alpm_pkg_get_name(data1)); +			*response = yesno(str); +			break; +		case PM_TRANS_CONV_REPLACE_PKG: +			snprintf(str, LOG_STR_LEN, _(":: Replace %s with %s/%s? [Y/n] "), +					alpm_pkg_get_name(data1), +					(char *)data3, +					alpm_pkg_get_name(data2)); +			*response = yesno(str); +			break; +		case PM_TRANS_CONV_CONFLICT_PKG: +			snprintf(str, LOG_STR_LEN, _(":: %s conflicts with %s. Remove %s? [Y/n] "), +					(char *)data1, +					(char *)data2, +					(char *)data2); +			*response = yesno(str); +			break; +		case PM_TRANS_CONV_LOCAL_NEWER: +			if(!config->op_s_downloadonly) { +				snprintf(str, LOG_STR_LEN, _(":: %s-%s: local version is newer. Upgrade anyway? [Y/n] "), +						alpm_pkg_get_name(data1), +						alpm_pkg_get_version(data1)); +				*response = yesno(str); +			} else { +				*response = 1; +			} +			break; +		case PM_TRANS_CONV_CORRUPTED_PKG: +			if(!config->noconfirm) { +				snprintf(str, LOG_STR_LEN, _(":: File %s is corrupted. Do you want to delete it? [Y/n] "), +						(char *)data1); +				*response = yesno(str); +			} else { +				*response = 1; +			} +			break; +	} +} + +/* callback to handle display of transaction progress */ +void cb_trans_progress(pmtransprog_t event, const char *pkgname, int percent, +                       int howmany, int remain) +{ +	float timediff; + +	/* size of line to allocate for text printing (e.g. not progressbar) */ +	const int infolen = 50; +	int tmp, digits, oprlen, textlen, pkglen; +	char *opr = NULL; +	wchar_t *wcopr = NULL; + +	if(config->noprogressbar) { +		return; +	} + +	if(percent == 0) { +		timediff = get_update_timediff(1); +	} else { +		timediff = get_update_timediff(0); +	} + +	if(percent > 0 && percent < 100 && !timediff) { +		/* only update the progress bar when +		 * a) we first start +		 * b) we end the progress +		 * c) it has been long enough since the last call +		 */ +		return; +	} + +	/* if no pkgname, percent is too high or unchanged, then return */ +	if(!pkgname || percent == prevpercent) { +		return; +	} + +	prevpercent=percent; +	/* set text of message to display */ +	switch (event) { +		case PM_TRANS_PROGRESS_ADD_START: +			opr = _("installing"); +			break; +		case PM_TRANS_PROGRESS_UPGRADE_START: +			opr = _("upgrading"); +			break; +		case PM_TRANS_PROGRESS_REMOVE_START: +			opr = _("removing"); +			break; +		case PM_TRANS_PROGRESS_CONFLICTS_START: +			opr = _("checking for file conflicts"); +			break; +	} +	/* convert above strings to wide chars */ +	oprlen = strlen(opr); +	wcopr = calloc(oprlen, sizeof(wchar_t)); +	if(!wcopr) { +		fprintf(stderr, "malloc failure: could not allocate %zd bytes\n", +		        strlen(opr) * sizeof(wchar_t)); +		return; +	} +	oprlen = mbstowcs(wcopr, opr, oprlen); + +	/* find # of digits in package counts to scale output */ +	digits = 1; +	tmp = howmany; +	while((tmp /= 10)) { +		++digits; +	} + +	/* determine room left for non-digits text [not ( 1/12) part] */ +	textlen = infolen - 3 - (2 * digits); +	/* room left for package name */ +	pkglen = textlen - oprlen - 1; + +	switch (event) { +		case PM_TRANS_PROGRESS_ADD_START: +		case PM_TRANS_PROGRESS_UPGRADE_START: +		case PM_TRANS_PROGRESS_REMOVE_START: +			/* old way of doing it, but ISO C does not recognize it +			printf("(%2$*1$d/%3$*1$d) %4$s %6$-*5$.*5$s", digits, remain, howmany, +			       opr, pkglen, pkgname);*/ +			printf("(%*d/%*d) %s %-*.*s", digits, remain, digits, howmany, +			       opr, pkglen, pkglen, pkgname); +			break; +		case PM_TRANS_PROGRESS_CONFLICTS_START: +			/* old way of doing it, but ISO C does not recognize it +			printf("(%2$*1$d/%3$*1$d) %5$-*4$s", digits, remain, howmany, +			       textlen, opr);*/ +			printf("(%*d/%*d) %-*s", digits, remain, digits, howmany, +			       textlen, opr); +			break; +	} + +	free(wcopr); + +	/* call refactored fill progress function */ +	fill_progress(percent, percent, getcols() - infolen); +} + +/* callback to handle display of download progress */ +void cb_dl_progress(const char *filename, int file_xfered, int file_total, +		int list_xfered, int list_total) +{ +	const int infolen = 50; +	char *fname, *p; + +	float rate = 0.0, timediff = 0.0, f_xfered = 0.0; +	unsigned int eta_h = 0, eta_m = 0, eta_s = 0; +	int graph_percent = 0, display_percent = 0; +	char rate_size = 'K', xfered_size = 'K'; +	int xfered = 0, total = 0; + +	/* Need this variable when TotalDownload is set to know if we should +	 * reset xfered_last and rate_last. */ +	static int has_init = 0; + +	if(config->noprogressbar) { +		return; +	} + +	/* Choose how to display the amount downloaded, rate, ETA, and +	 * percentage depending on the TotalDownload option. */ +	if (config->totaldownload && list_total > 0) { +		xfered = list_xfered; +		total = list_total; +	} else { +		xfered = file_xfered; +		total = file_total; +	} + +	/* this is basically a switch on file_xferred: 0, file_total, and +	 * anything else */ +	if(file_xfered == 0) { +		/* set default starting values, but only once for TotalDownload */ +		if (!(config->totaldownload && list_total > 0) || +				(config->totaldownload && list_total > 0 && !has_init)) { +			gettimeofday(&initial_time, NULL); +			timediff = get_update_timediff(1); +			xfered_last = 0; +			rate_last = 0.0; +			has_init = 1; +		} +		rate = 0.0; +		eta_s = 0; +	} else if(file_xfered == file_total) { +		/* compute final values */ +		struct timeval current_time; +		float diff_sec, diff_usec; + +		gettimeofday(¤t_time, NULL); +		diff_sec = current_time.tv_sec - initial_time.tv_sec; +		diff_usec = current_time.tv_usec - initial_time.tv_usec; +		timediff = diff_sec + (diff_usec / 1000000.0); +		rate = xfered / (timediff * 1024.0); + +		/* round elapsed time to the nearest second */ +		eta_s = (int)(timediff + 0.5); +	} else { +		/* compute current average values */ +		timediff = get_update_timediff(0); + +		if(timediff < UPDATE_SPEED_SEC) { +			/* return if the calling interval was too short */ +			return; +		} +		rate = (xfered - xfered_last) / (timediff * 1024.0); +		/* average rate to reduce jumpiness */ +		rate = (rate + 2*rate_last) / 3; +		eta_s = (total - xfered) / (rate * 1024.0); +		rate_last = rate; +		xfered_last = xfered; +	} + +	/* fix up time for display */ +	eta_h = eta_s / 3600; +	eta_s -= eta_h * 3600; +	eta_m = eta_s / 60; +	eta_s -= eta_m * 60; + +	fname = strdup(filename); +	/* strip package or DB extension for cleaner look */ +	if((p = strstr(fname, PKGEXT)) || (p = strstr(fname, DBEXT))) { +			*p = '\0'; +	} +	if(strlen(fname) > FILENAME_TRIM_LEN) { +		strcpy(fname + FILENAME_TRIM_LEN -3,"..."); +	} + +	/* Awesome formatting for progress bar.  We need a mess of Kb->Mb->Gb stuff +	 * here. We'll use limit of 2048 for each until we get some empirical */ +	/* rate_size = 'K'; was set above */ +	if(rate > 2048.0) { +		rate /= 1024.0; +		rate_size = 'M'; +		if(rate > 2048.0) { +			rate /= 1024.0; +			rate_size = 'G'; +			/* we should not go higher than this for a few years (9999.9 Gb/s?)*/ +		} +	} + +	f_xfered = xfered / 1024.0; /* convert to K by default */ +	/* xfered_size = 'K'; was set above */ +	if(f_xfered > 2048.0) { +		f_xfered /= 1024.0; +		xfered_size = 'M'; +		if(f_xfered > 2048.0) { +			f_xfered /= 1024.0; +			xfered_size = 'G'; +			/* I should seriously hope that archlinux packages never break +			 * the 9999.9GB mark... we'd have more serious problems than the progress +			 * bar in pacman */ +		} +	} + +	printf(" %-*s %6.1f%c %#6.1f%c/s %02u:%02u:%02u", FILENAME_TRIM_LEN, fname, +				 f_xfered, xfered_size, rate, rate_size, eta_h, eta_m, eta_s); + +	free(fname); + +	/* The progress bar is based on the file percent regardless of the +	 * TotalDownload option. */ +	graph_percent = (int)((float)file_xfered) / ((float)file_total) * 100; +	display_percent = (int)((float)xfered) / ((float)total) * 100; +	fill_progress(graph_percent, display_percent, getcols() - infolen); +	return; +} + +/* Callback to handle notifications from the library */ +void cb_log(pmloglevel_t level, char *fmt, va_list args) +{ +	if(!strlen(fmt)) { +		return; +	} + +	pm_vfprintf(stdout, level, fmt, args); +} + +/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/trans.h b/src/pacman/callback.h index 0c0f9e01..59d8a45b 100644 --- a/src/pacman/trans.h +++ b/src/pacman/callback.h @@ -1,8 +1,8 @@  /* - *  trans.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *  callback.h + * + *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org> + *   *  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 @@ -15,25 +15,32 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ -#ifndef _PM_TRANS_H -#define _PM_TRANS_H +#ifndef _PM_CALLBACK_H +#define _PM_CALLBACK_H  #include <alpm.h> -/* callback to handle messages/notifications from pacman transactions */ +/* callback to handle messages/notifications from libalpm transactions */  void cb_trans_evt(pmtransevt_t event, void *data1, void *data2); -/* callback to handle questions from pacman transactions (yes/no) */ +/* callback to handle questions from libalpm transactions (yes/no) */  void cb_trans_conv(pmtransconv_t event, void *data1, void *data2,                     void *data3, int *response); -/* callback to handle display of the progress bar for transactions */ +/* callback to handle display of transaction progress */  void cb_trans_progress(pmtransprog_t event, const char *pkgname, int percent,                     int howmany, int remain); -#endif /* _PM_TRANS_H */ +/* callback to handle display of download progress */ +void cb_dl_progress(const char *filename, int file_xfered, int file_total, +		int list_xfered, int list_total); + +/* callback to handle messages/notifications from pacman library */ +void cb_log(pmloglevel_t level, char *fmt, va_list args); + +#endif /* _PM_CALLBACK_H */  /* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/conf.c b/src/pacman/conf.c index a770fd47..743f8330 100644 --- a/src/pacman/conf.c +++ b/src/pacman/conf.c @@ -1,8 +1,8 @@  /*   *  conf.c - *  + *   *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ @@ -23,38 +23,46 @@  #include <stdlib.h>  #include <stdio.h> -#include <string.h> -#include <limits.h> -#include <libintl.h> - -#include <alpm.h> +#include <string.h> /* strdup */  /* pacman */  #include "conf.h" -#include "util.h" -#include "log.h" -#include "sync.h" -#include "downloadprog.h" -config_t *config_new() -{ -	config_t *config; +/* global config variable */ +config_t *config = NULL; -	MALLOC(config, sizeof(config_t)); - -	memset(config, 0, sizeof(config_t)); +config_t *config_new(void) +{ +	config_t *newconfig = calloc(1, sizeof(config_t)); +	if(!newconfig) { +			fprintf(stderr, "malloc failure: could not allocate %zd bytes\n", +			        sizeof(config_t)); +			return(NULL); +	} +	/* defaults which may get overridden later */ +	newconfig->op = PM_OP_MAIN; +	newconfig->logmask = PM_LOG_ERROR | PM_LOG_WARNING; +	/* CONFFILE is defined at compile-time */ +	newconfig->configfile = strdup(CONFFILE); +	newconfig->rootdir = NULL; +	newconfig->dbpath = NULL; +	newconfig->logfile = NULL; -	return(config); +	return(newconfig);  } -int config_free(config_t *config) +int config_free(config_t *oldconfig)  { -	if(config == NULL) { +	if(oldconfig == NULL) {  		return(-1);  	} -	FREE(config->configfile); -	free(config); +	free(oldconfig->configfile); +	free(oldconfig->rootdir); +	free(oldconfig->dbpath); +	free(oldconfig->logfile); +	free(oldconfig); +	oldconfig = NULL;  	return(0);  } diff --git a/src/pacman/conf.h b/src/pacman/conf.h index 05ef0b4c..989fa2c8 100644 --- a/src/pacman/conf.h +++ b/src/pacman/conf.h @@ -1,8 +1,8 @@  /*   *  conf.h - *  + *   *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */  #ifndef _PM_CONF_H @@ -24,25 +24,36 @@  #include <alpm.h>  typedef struct __config_t { -	/* command line options */ -	char *configfile;  	unsigned short op; +	unsigned short quiet;  	unsigned short verbose;  	unsigned short version;  	unsigned short help;  	unsigned short upgrade;  	unsigned short noconfirm;  	unsigned short noprogressbar; -	unsigned short op_d_resolve; +	unsigned short logmask; +	/* unfortunately, we have to keep track of paths both here and in the library +	 * because they can come from both the command line or config file, and we +	 * need to ensure we get the order of preference right. */ +	char *configfile; +	char *rootdir; +	char *dbpath; +	char *logfile; +	/* TODO how to handle cachedirs? */ +  	unsigned short op_q_isfile;  	unsigned short op_q_info;  	unsigned short op_q_list;  	unsigned short op_q_foreign;  	unsigned short op_q_orphans; +	unsigned short op_q_deps; +	unsigned short op_q_explicit;  	unsigned short op_q_owns;  	unsigned short op_q_search;  	unsigned short op_q_changelog;  	unsigned short op_q_upgrade; +  	unsigned short op_s_clean;  	unsigned short op_s_dependsonly;  	unsigned short op_s_downloadonly; @@ -50,16 +61,35 @@ typedef struct __config_t {  	unsigned short op_s_sync;  	unsigned short op_s_search;  	unsigned short op_s_upgrade; +  	unsigned short group;  	pmtransflag_t flags; -	unsigned short noask; -	unsigned int ask; + +	/* conf file options */ +	unsigned short chomp; /* I Love Candy! */ +	unsigned short usecolor; /* enable colorful output */ +	unsigned short showsize; /* show individual package sizes */ +	unsigned short totaldownload; /* When downloading, display the amount +	                                 downloaded, rate, ETA, and percent +	                                 downloaded of the total download list */  } config_t; -#define FREECONF(p) do { if(p) { config_free(p); p = NULL; } } while(0) +/* Operations */ +enum { +	PM_OP_MAIN = 1, +	PM_OP_ADD, +	PM_OP_REMOVE, +	PM_OP_UPGRADE, +	PM_OP_QUERY, +	PM_OP_SYNC, +	PM_OP_DEPTEST +}; + +/* global config variable */ +extern config_t *config;  config_t *config_new(void); -int config_free(config_t *config); +int config_free(config_t *oldconfig);  #endif /* _PM_CONF_H */ diff --git a/src/pacman/deptest.c b/src/pacman/deptest.c index 1ae7ceb5..32fb3d08 100644 --- a/src/pacman/deptest.c +++ b/src/pacman/deptest.c @@ -1,8 +1,8 @@  /*   *  deptest.c - *  + *   *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ @@ -24,20 +24,16 @@  #include <stdlib.h>  #include <stdio.h>  #include <string.h> -#include <libintl.h>  #include <alpm.h>  #include <alpm_list.h>  /* pacman */ -#include "deptest.h" +#include "pacman.h"  #include "util.h"  #include "conf.h" -#include "log.h" -#include "sync.h" - -extern config_t *config; +/* TODO: This should use _alpm_checkdeps() */  int pacman_deptest(alpm_list_t *targets)  {  	int retval = 0; @@ -46,7 +42,7 @@ int pacman_deptest(alpm_list_t *targets)  	if(targets == NULL) {  		return(0);  	} -	 +  	for(i = targets; i; i = alpm_list_next(i)) {  		int found = 0;  		pmpkg_t *pkg; @@ -55,20 +51,16 @@ int pacman_deptest(alpm_list_t *targets)  		alpm_list_t *j, *provides;  		target = alpm_list_getdata(i); - -		/* splitdep modifies the string... we'll compensate for now */ -		char *saved_target = NULL; -		saved_target = calloc(strlen(target)+1, sizeof(char)); -		strncpy(saved_target, target, strlen(target)); -  		dep = alpm_splitdep(target); -		pkg = alpm_db_get_pkg(alpm_option_get_localdb(), target); +		pkg = alpm_db_get_pkg(alpm_option_get_localdb(), +				alpm_dep_get_name(dep));  		if(pkg && alpm_depcmp(pkg, dep)) {  			found = 1;  		} else {  			/* not found, can we find anything that provides this in the local DB? */ -			provides = alpm_db_whatprovides(alpm_option_get_localdb(), target); +			provides = alpm_db_whatprovides(alpm_option_get_localdb(), +					alpm_dep_get_name(dep));  			for(j = provides; j; j = alpm_list_next(j)) {  				pmpkg_t *pkg;  				pkg = alpm_list_getdata(j); @@ -78,13 +70,14 @@ int pacman_deptest(alpm_list_t *targets)  					break;  				}  			} +			alpm_list_free(provides);  		}  		if(!found) { -			MSG(NL, "%s", saved_target); -			retval = 1; +			printf("%s\n", target); +			retval = 127;  		} -		free(saved_target); +		free(dep);  	}  	return(retval);  } diff --git a/src/pacman/deptest.h b/src/pacman/deptest.h deleted file mode 100644 index ee30e437..00000000 --- a/src/pacman/deptest.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - *  deptest.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ -#ifndef _PM_DEPTEST_H -#define _PM_DEPTEST_H - -#include <alpm_list.h> - -int pacman_deptest(alpm_list_t *targets); - -#endif /* _PM_DEPTEST_H */ - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/downloadprog.c b/src/pacman/downloadprog.c deleted file mode 100644 index 6ce8e2f5..00000000 --- a/src/pacman/downloadprog.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - *  downloadprog.c - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ - -#include "config.h" - -#include <limits.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/stat.h> -#include <unistd.h> -#include <time.h> -#include <sys/time.h> -#include <libintl.h> -#include <math.h> - -#include <alpm.h> - -/* pacman */ -#include "downloadprog.h" -#include "util.h" -#include "log.h" -#include "conf.h" - -/* progress bar */ -static float rate_last; -static int xfered_last; -static struct timeval initial_time; - -/* pacman options */ -extern config_t *config; - -#define FILENAME_TRIM_LEN 23 - -void log_progress(const char *filename, int xfered, int total) -{ -	const int infolen = 50; -	char *fname, *p;  - -	float rate = 0.0, timediff = 0.0, f_xfered = 0.0; -	unsigned int eta_h = 0, eta_m = 0, eta_s = 0; -	int percent; -	char rate_size = 'K', xfered_size = 'K'; - -	if(config->noprogressbar) { -		return; -	} - -	/* XXX: big fat hack: due to the fact that we switch out printf/pm_fprintf, -	 * not everything honors our 'neednl' newline hackery.  This forces a newline -	 * if we need one before drawing the progress bar */ -	MSG(NL,NULL); - -	/* this is basically a switch on xferred: 0, total, and anything else */ -	if(xfered == 0) { -		/* set default starting values */ -		gettimeofday(&initial_time, NULL); -		xfered_last = 0; -		rate_last = 0.0; -		timediff = get_update_timediff(1); -		rate = 0.0; -		eta_s = 0; -		set_output_padding(1); /* we need padding from pm_fprintf output */ -	} else if(xfered == total) { -		/* compute final values */ -		struct timeval current_time; -		float diff_sec, diff_usec; -		 -		gettimeofday(¤t_time, NULL); -		diff_sec = current_time.tv_sec - initial_time.tv_sec; -		diff_usec = current_time.tv_usec - initial_time.tv_usec; -		timediff = diff_sec + (diff_usec / 1000000.0); -		rate = (float)total / (timediff * 1024.0); - -		/* round elapsed time to the nearest second */ -		eta_s = (int)floorf(timediff + 0.5); - -		set_output_padding(0); /* shut off padding */ -	} else { -		/* compute current average values */ -		timediff = get_update_timediff(0); - -		if(timediff < UPDATE_SPEED_SEC) { -			/* return if the calling interval was too short */ -			return; -		} -		rate = (float)(xfered - xfered_last) / (timediff * 1024.0); -		/* average rate to reduce jumpiness */ -		rate = (float)(rate + 2*rate_last) / 3; -		eta_s = (unsigned int)(total - xfered) / (rate * 1024.0); -		rate_last = rate; -		xfered_last = xfered; -	} - -	percent = (int)((float)xfered) / ((float)total) * 100; - -	/* fix up time for display */ -	eta_h = eta_s / 3600; -	eta_s -= eta_h * 3600; -	eta_m = eta_s / 60; -	eta_s -= eta_m * 60; - -	fname = strdup(filename); -	/* strip extension if it's there -	 * NOTE: in the case of package files, only the pkgname is sent now */ -	if((p = strstr(fname, PM_EXT_PKG)) || (p = strstr(fname, PM_EXT_DB))) { -			*p = '\0'; -	} -	if(strlen(fname) > FILENAME_TRIM_LEN) { -		strcpy(fname + FILENAME_TRIM_LEN -3,"..."); -	} - -	/* Awesome formatting for progress bar.  We need a mess of Kb->Mb->Gb stuff -	 * here. We'll use limit of 2048 for each until we get some empirical */ -	/* rate_size = 'K'; was set above */ -	if(rate > 2048.0) { -		rate /= 1024.0; -		rate_size = 'M'; -		if(rate > 2048.0) { -			rate /= 1024.0; -			rate_size = 'G'; -			/* we should not go higher than this for a few years (9999.9 Gb/s?)*/ -		} -	} - -	f_xfered = (float) xfered / 1024.0; /* convert to K by default */ -	/* xfered_size = 'K'; was set above */ -	if(f_xfered > 2048.0) { -		f_xfered /= 1024.0; -		xfered_size = 'M'; -		if(f_xfered > 2048.0) { -			f_xfered /= 1024.0; -			xfered_size = 'G'; -			/* I should seriously hope that archlinux packages never break -			 * the 9999.9GB mark... we'd have more serious problems than the progress -			 * bar in pacman */  -		} -	} - -	printf(" %-*s %6.1f%c %#6.1f%c/s %02u:%02u:%02u", FILENAME_TRIM_LEN, fname,  -				 f_xfered, xfered_size, rate, rate_size, eta_h, eta_m, eta_s); - -	free(fname); -	 -	fill_progress(percent, getcols() - infolen); -	return; -} - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/downloadprog.h b/src/pacman/downloadprog.h deleted file mode 100644 index e79fcc51..00000000 --- a/src/pacman/downloadprog.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - *  downloadprog.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ -#ifndef _PM_DOWNLOADPROG_H -#define _PM_DOWNLOADPROG_H - -void log_progress(const char *filename, int xfered, int total); - -#endif /* _PM_DOWNLOADPROG_H */ - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/log.c b/src/pacman/log.c deleted file mode 100644 index ca83df0b..00000000 --- a/src/pacman/log.c +++ /dev/null @@ -1,201 +0,0 @@ -/* - *  log.c - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ - -#include "config.h" - -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <ctype.h> -#include <time.h> -#include <libintl.h> - -#include <alpm.h> - -/* pacman */ -#include "log.h" -#include "conf.h" -#include "util.h" - -#define LOG_STR_LEN 256 - -extern config_t *config; - -static int neednl = 0; /* for cleaner message output */ -static int needpad = 0; /* pad blanks to terminal width */ - -/* simple helper for needpad */ -void set_output_padding(int on) -{ -	needpad = on; -} - -/* Callback to handle notifications from the library - */ -void cb_log(unsigned short level, char *msg) -{ -	char str[LOG_STR_LEN] = ""; - -	if(!strlen(msg)) { -		return; -	} - -	switch(level) { -		case PM_LOG_DEBUG: -			sprintf(str, _("debug")); -		break; -		case PM_LOG_ERROR: -			sprintf(str, _("error")); -		break; -		case PM_LOG_WARNING: -			sprintf(str, _("warning")); -		break; -		case PM_LOG_FUNCTION: -		  /* TODO we should increase the indent level when this occurs so we can see -			 * program flow easier.  It'll be fun -			 */ -			sprintf(str, _("function")); -		break; -		default: -			sprintf(str, "???"); -		break; -	} - -#ifdef PACMAN_DEBUG -	/* If debug is on, we'll timestamp the output */ -  if(alpm_option_get_logmask() & PM_LOG_DEBUG) { -		time_t t; -		struct tm *tmp; -		char timestr[10] = {0}; - -		t = time(NULL); -		tmp = localtime(&t); -		strftime(timestr, 9, "%H:%M:%S", tmp); -		timestr[8] = '\0'; - -		MSG(NL, "[%s] %s: %s", timestr, str, msg); -	} else { -    MSG(NL, "%s: %s", str, msg); -	} -#else -	MSG(NL, "%s: %s", str, msg); -#endif -} - -/* Wrapper to fprintf() that allows to choose if we want the output - * to be appended on the current line, or written to a new one - */ -void pm_fprintf(FILE *file, unsigned short line, char *fmt, ...) -{ -	va_list args; - -	char str[LOG_STR_LEN]; -	int len = 0; - -	if(neednl == 1 && line == NL) { -		fprintf(file, "\n"); -		neednl = 0; -	} - -	if(!fmt) { -		return; -	} - -	va_start(args, fmt); -	vsnprintf(str, LOG_STR_LEN, fmt, args); -	va_end(args); - -	len = strlen(str); - -  if(needpad == 1 && str[len-1] == '\n') { -		/* we want this removed so we can pad */ -		str[len-1] = ' '; -		neednl = 1; -	} - -	fprintf(file, str); - -	if(needpad == 1) { -		int i, cols = getcols(); -		for(i=len; i < cols; ++i) { -			fprintf(file, " "); -		} -		if(neednl == 1 && line == NL) { -			fprintf(file, "\n"); -			neednl = 0; -		} -	} -	fflush(file); -	neednl = (str[strlen(str)-1] == '\n') ? 0 : 1; -} - -/* Check verbosity option and, if set, print the - * string to stdout - */ -void vprint(char *fmt, ...) -{ -	va_list args; - -	char str[LOG_STR_LEN]; - -	if(config->verbose > 0) { -		va_start(args, fmt); -		vsnprintf(str, LOG_STR_LEN, fmt, args); -		va_end(args); -		pm_fprintf(stdout, NL, str); -	} -} - -/* presents a prompt and gets a Y/N answer - */ -int yesno(char *fmt, ...) -{ -	char str[LOG_STR_LEN]; -	char response[32]; -	va_list args; - -	if(config->noconfirm) { -		return(1); -	} - -	va_start(args, fmt); -	vsnprintf(str, LOG_STR_LEN, fmt, args); -	va_end(args); - -	/* Use stderr so questions are always displayed when redirecting output */ -	pm_fprintf(stderr, NL, str); \ - -	if(fgets(response, 32, stdin)) { -		if(strlen(response) != 0) { -			strtrim(response); -		} - -		/* User hits 'enter', forcing a newline here */ -		neednl = 0; - -		if(!strcasecmp(response, _("Y")) || !strcasecmp(response, _("YES")) || strlen(response) == 0) { -			return(1); -		} -	} -	return(0); -} - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/log.h b/src/pacman/log.h deleted file mode 100644 index 1205e8e6..00000000 --- a/src/pacman/log.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - *  log.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ -#ifndef _PM_LOG_H -#define _PM_LOG_H - -#include <stdio.h> - -/* TODO these are illegal in ISO C, thus the reason -pedantic was never used - * as a compile flag for the pacman side of things (named variadic macros) */ -#define MSG(line, fmt, args...) pm_fprintf(stdout, line, fmt, ##args) -#define ERR(line, fmt, args...) do { \ -	pm_fprintf(stderr, line, _("error: ")); \ -	pm_fprintf(stderr, CL, fmt, ##args); \ -} while(0) -#define WARN(line, fmt, args...) do { \ -	pm_fprintf(stderr, line, _("warning: ")); \ -	pm_fprintf(stderr, CL, fmt, ##args); \ -} while(0) - -enum { -	NL, /* new line */ -	CL  /* current line */ -}; - -void set_output_padding(int on); - -/* callback to handle messages/notifications from pacman library */ -void cb_log(unsigned short level, char *msg); - -void pm_fprintf(FILE *file, unsigned short line, char *fmt, ...); -void vprint(char *fmt, ...); - -int yesno(char *fmt, ...); - -#endif /* _PM_LOG_H */ - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/package.c b/src/pacman/package.c index 5c27b665..ac3f8207 100644 --- a/src/pacman/package.c +++ b/src/pacman/package.c @@ -1,8 +1,8 @@  /*   *  package.c - *  + *   *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ @@ -26,25 +26,28 @@  #include <string.h>  #include <limits.h>  #include <sys/stat.h> -#include <libintl.h>  #include <alpm.h>  #include <alpm_list.h>  /* pacman */  #include "package.h" -#include "log.h"  #include "util.h" -/* Display the content of an installed package +/* Display the content of a package   * - * level: <1 - omits N/A info for file query (-Qp) - *         1 - normal level - *        >1 - extra information (backup files) + * level: <0 - sync package [-Si] + *        =0 - file query [-Qip] + *         1 - localdb query, normal level [-Qi] + *        >1 - localdb query, extra information (backup files) [-Qii]   */  void dump_pkg_full(pmpkg_t *pkg, int level)  { -	const char *bdate, *type, *idate, *reason, *descheader; +	const char *reason, *descheader; +	time_t bdate, idate; +	char bdatestr[50] = "", idatestr[50] = ""; +	const alpm_list_t *i; +	alpm_list_t *requiredby = NULL, *depstrings = NULL;  	if(pkg == NULL) {  		return; @@ -52,8 +55,13 @@ void dump_pkg_full(pmpkg_t *pkg, int level)  	/* set variables here, do all output below */  	bdate = alpm_pkg_get_builddate(pkg); -	type = alpm_pkg_get_buildtype(pkg); +	if(bdate) { +		strftime(bdatestr, 50, "%c", localtime(&bdate)); +	}  	idate = alpm_pkg_get_installdate(pkg); +	if(idate) { +		strftime(idatestr, 50, "%c", localtime(&idate)); +	}  	switch((long)alpm_pkg_get_reason(pkg)) {  		case PM_PKG_REASON_EXPLICIT: @@ -67,86 +75,89 @@ void dump_pkg_full(pmpkg_t *pkg, int level)  			break;  	} +	/* turn depends list into a text list */ +	for(i = alpm_pkg_get_depends(pkg); i; i = alpm_list_next(i)) { +		pmdepend_t *dep = (pmdepend_t*)alpm_list_getdata(i); +		depstrings = alpm_list_add(depstrings, alpm_dep_get_string(dep)); +	} + +	if(level>0) { +		/* compute this here so we don't get a puase in the middle of output */ +		requiredby = alpm_pkg_compute_requiredby(pkg); +	} +  	descheader = _("Description    : ");  	/* actual output */ -	printf(_("Name           : %s\n"), (char *)alpm_pkg_get_name(pkg)); -	printf(_("Version        : %s\n"), (char *)alpm_pkg_get_version(pkg)); -	printf(_("URL            : %s\n"), (char *)alpm_pkg_get_url(pkg)); -	list_display(_("License        :"), alpm_pkg_get_licenses(pkg)); +	if(level == 0) { +		string_display(_("Filename       :"), alpm_pkg_get_filename(pkg)); +	} +	string_display(_("Name           :"), alpm_pkg_get_name(pkg)); +	string_display(_("Version        :"), alpm_pkg_get_version(pkg)); +	string_display(_("URL            :"), alpm_pkg_get_url(pkg)); +	list_display(_("Licenses       :"), alpm_pkg_get_licenses(pkg));  	list_display(_("Groups         :"), alpm_pkg_get_groups(pkg));  	list_display(_("Provides       :"), alpm_pkg_get_provides(pkg)); -	list_display(_("Depends On     :"), alpm_pkg_get_depends(pkg)); -	list_display(_("Removes        :"), alpm_pkg_get_removes(pkg)); +	list_display(_("Depends On     :"), depstrings); +	list_display(_("Optional Deps  :"), alpm_pkg_get_optdepends(pkg));  	/* Only applicable if installed */  	if(level > 0) { -		list_display(_("Required By    :"), alpm_pkg_get_requiredby(pkg)); +		list_display(_("Required By    :"), requiredby); +		FREELIST(requiredby);  	}  	list_display(_("Conflicts With :"), alpm_pkg_get_conflicts(pkg)); -	printf(_("Installed Size : %6.2f K\n"), (float)alpm_pkg_get_size(pkg) / 1024.0); -	printf(_("Packager       : %s\n"), (char *)alpm_pkg_get_packager(pkg)); -	printf(_("Architecture   : %s\n"), (char *)alpm_pkg_get_arch(pkg)); -	printf(_("Build Date     : %s %s\n"), bdate, strlen(bdate) ? "UTC" : ""); -	printf(_("Build Type     : %s\n"), strlen(type) ? type : _("Unknown")); +	list_display(_("Replaces       :"), alpm_pkg_get_replaces(pkg)); +	if(level < 0) { +		printf(_("Download Size  : %6.2f K\n"), +			(float)alpm_pkg_get_size(pkg) / 1024.0); +	} +	if(level == 0) { +		printf(_("Compressed Size: %6.2f K\n"), +			(float)alpm_pkg_get_size(pkg) / 1024.0); +	} + +	printf(_("Installed Size : %6.2f K\n"), +			(float)alpm_pkg_get_isize(pkg) / 1024.0); +	string_display(_("Packager       :"), alpm_pkg_get_packager(pkg)); +	string_display(_("Architecture   :"), alpm_pkg_get_arch(pkg)); +	string_display(_("Build Date     :"), bdatestr);  	if(level > 0) { -		printf(_("Install Date   : %s %s\n"), idate, strlen(idate) ? "UTC" : ""); -		printf(_("Install Reason : %s\n"), reason); +		string_display(_("Install Date   :"), idatestr); +		string_display(_("Install Reason :"), reason); +	} +	if(level >= 0) { +		string_display(_("Install Script :"), +				alpm_pkg_has_scriptlet(pkg) ?  _("Yes") : _("No")); +	} + +	/* MD5 Sum for sync package */ +	if(level < 0) { +		string_display(_("MD5 Sum        :"), alpm_pkg_get_md5sum(pkg));  	} -	printf(_("Install Script : %s\n"), -	         alpm_pkg_has_scriptlet(pkg) ?  _("Yes") : _("No"));  	/* printed using a variable to make i18n safe */  	printf("%s", descheader);  	indentprint(alpm_pkg_get_desc(pkg), mbstowcs(NULL, descheader, 0)); -	printf("\n"); +	printf("\n\n");  	/* Print additional package info if info flag passed more than once */  	if(level > 1) { -		/* call new backup function */ -		printf("\n");  		dump_pkg_backups(pkg); +		printf("\n");  	} -	printf("\n"); + +	FREELIST(depstrings);  }  /* Display the content of a sync package   */  void dump_pkg_sync(pmpkg_t *pkg, const char *treename)  { -	char *descheader, *md5sum, *sha1sum;  	if(pkg == NULL) {  		return;  	} - -	descheader = _("Description    : "); - -	md5sum = (char *)alpm_pkg_get_md5sum(pkg); -	sha1sum = (char *)alpm_pkg_get_sha1sum(pkg); -	 -	printf(_("Repository     : %s\n"), treename); -	printf(_("Name           : %s\n"), (char *)alpm_pkg_get_name(pkg)); -	printf(_("Version        : %s\n"), (char *)alpm_pkg_get_version(pkg)); -	list_display(_("Groups         :"), alpm_pkg_get_groups(pkg)); -	list_display(_("Provides       :"), alpm_pkg_get_provides(pkg)); -	list_display(_("Depends On     :"), alpm_pkg_get_depends(pkg)); -	list_display(_("Removes        :"), alpm_pkg_get_removes(pkg)); -	list_display(_("Conflicts With :"), alpm_pkg_get_conflicts(pkg)); -	list_display(_("Replaces       :"), alpm_pkg_get_replaces(pkg)); -	printf(_("Download Size  : %6.2f K\n"), (float)alpm_pkg_get_size(pkg) / 1024.0); -	printf(_("Installed Size : %6.2f K\n"), (float)alpm_pkg_get_isize(pkg) / 1024.0); -	 -	/* printed using a variable to make i18n safe */ -	printf("%s", descheader); -	indentprint(alpm_pkg_get_desc(pkg), mbstowcs(NULL, descheader, 0)); -	printf("\n"); -	 -	if (md5sum != NULL && md5sum[0] != '\0') { -		printf(_("MD5 Sum        : %s"), md5sum); -	} -	if (sha1sum != NULL && sha1sum[0] != '\0') { -		printf(_("SHA1 Sum       : %s"), sha1sum); -	} -	printf("\n"); +	string_display(_("Repository     :"), treename); +	dump_pkg_full(pkg, -1);  }  /* Display list of backup files and their modification states @@ -164,7 +175,7 @@ void dump_pkg_backups(pmpkg_t *pkg)  			char *str = strdup(alpm_list_getdata(i));  			char *ptr = index(str, '\t');  			if(ptr == NULL) { -				FREE(str); +				free(str);  				continue;  			}  			*ptr = '\0'; @@ -172,48 +183,39 @@ void dump_pkg_backups(pmpkg_t *pkg)  			snprintf(path, PATH_MAX-1, "%s%s", root, str);  			/* if we find the file, calculate checksums, otherwise it is missing */  			if(!stat(path, &buf)) { -				char *sum;  				char *md5sum = alpm_get_md5sum(path); -				char *sha1sum = alpm_get_sha1sum(path); -				if(md5sum == NULL || sha1sum == NULL) { -					ERR(NL, _("error calculating checksums for %s\n"), path); -					FREE(str); +				if(md5sum == NULL) { +					fprintf(stderr, _("error: could not calculate checksums for %s\n"), +							path); +					free(str);  					continue;  				} -				/* TODO Is this a good way to check type of backup stored? -				 * We aren't storing it anywhere in the database. */ -				if (strlen(ptr) == 32) { -					sum = md5sum; -				} else { /*if (strlen(ptr) == 40) */ -					sum = sha1sum; -				} +  				/* if checksums don't match, file has been modified */ -				if (strcmp(sum, ptr)) { +				if (strcmp(md5sum, ptr)) {  					printf(_("MODIFIED\t%s\n"), path);  				} else {  					printf(_("Not Modified\t%s\n"), path);  				} -				FREE(md5sum); -				FREE(sha1sum); +				free(md5sum);  			} else {  				printf(_("MISSING\t\t%s\n"), path);  			} -			FREE(str); +			free(str);  		}  	} else {  		/* package had no backup files */  		printf(_("(none)\n"));  	}  } -	 +  /* List all files contained in a package   */  void dump_pkg_files(pmpkg_t *pkg)  {  	const char *pkgname, *root, *filestr;  	alpm_list_t *i, *pkgfiles; -	struct stat buf;  	char path[PATH_MAX];  	pkgname = alpm_pkg_get_name(pkg); @@ -224,11 +226,7 @@ void dump_pkg_files(pmpkg_t *pkg)  		filestr = (char*)alpm_list_getdata(i);  		/* build a path so we can stat the filename */  		snprintf(path, PATH_MAX-1, "%s%s", root, filestr); -		if(!stat(path, &buf) && S_ISDIR(buf.st_mode)) { -			/* if we stat it and it is a dir, don't print */ -		} else { -			fprintf(stdout, "%s %s\n", pkgname, path); -		} +		fprintf(stdout, "%s %s\n", pkgname, path);  	}  	fflush(stdout); @@ -243,7 +241,7 @@ void dump_pkg_changelog(char *clfile, const char *pkgname)  	if((fp = fopen(clfile, "r")) == NULL)  	{ -		ERR(NL, _("No changelog available for '%s'.\n"), pkgname); +		fprintf(stderr, _("error: no changelog available for '%s'.\n"), pkgname);  		return;  	}  	else diff --git a/src/pacman/package.h b/src/pacman/package.h index 965ecee5..0e4bb0fa 100644 --- a/src/pacman/package.h +++ b/src/pacman/package.h @@ -1,8 +1,8 @@  /*   *  package.h - *  + *   *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */  #ifndef _PM_PACKAGE_H @@ -30,8 +30,6 @@ void dump_pkg_backups(pmpkg_t *pkg);  void dump_pkg_files(pmpkg_t *pkg);  void dump_pkg_changelog(char *clfile, const char *pkgname); -#define FREEPKG(p) { alpm_pkg_free(p); p = NULL; } -  #endif /* _PM_PACKAGE_H */  /* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 5adafb14..77527531 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -1,8 +1,8 @@  /*   *  pacman.c - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + * + *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org> + *   *  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 @@ -15,127 +15,108 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */  #include "config.h" -#include <stdlib.h> +#include <stdlib.h> /* atoi */  #include <stdio.h>  #include <limits.h>  #include <getopt.h>  #include <string.h>  #include <signal.h> -#include <sys/types.h> -#include <sys/stat.h>  #include <unistd.h> -#include <libintl.h> -#include <locale.h> -#if defined(__APPLE__) -#include <malloc/malloc.h> -#elif defined(__OpenBSD__) || defined(__APPLE__) -#include <sys/malloc.h> -#elif defined(CYGWIN) -#include <libgen.h> /* basename */ -#else -#include <mcheck.h> /* debug */ +#include <sys/types.h> +#include <sys/utsname.h> /* uname */ +#include <locale.h> /* setlocale */ +#include <time.h> /* time_t */ +#if defined(PACMAN_DEBUG) && defined(HAVE_MCHECK_H) +#include <mcheck.h> /* debug tracing (mtrace) */  #endif -#include <time.h> +/* alpm */  #include <alpm.h>  #include <alpm_list.h>  /* pacman */ +#include "pacman.h"  #include "util.h" -#include "log.h" -#include "downloadprog.h" +#include "callback.h"  #include "conf.h"  #include "package.h" -#include "add.h" -#include "remove.h" -#include "upgrade.h" -#include "query.h" -#include "sync.h" -#include "deptest.h" - -#if defined(__OpenBSD__) || defined(__APPLE__) -#define BSD -#endif - -/* Operations */ -enum { -	PM_OP_MAIN = 1, -	PM_OP_ADD, -	PM_OP_REMOVE, -	PM_OP_UPGRADE, -	PM_OP_QUERY, -	PM_OP_SYNC, -	PM_OP_DEPTEST -}; - -config_t *config;  pmdb_t *db_local;  /* list of targets specified on command line */  static alpm_list_t *pm_targets; -/* Display usage/syntax for the specified operation. - *     op:     the operation code requested - *     myname: basename(argv[0]) +/** Display usage/syntax for the specified operation. + * @param op     the operation code requested + * @param myname basename(argv[0])   */ -static void usage(int op, char *myname) +static void usage(int op, const char * const myname)  { +	/* prefetch some strings for usage below, which moves a lot of calls +	 * out of gettext. */ +	char const * const str_opt = _("options"); +	char const * const str_file = _("file"); +	char const * const str_pkg = _("package"); +	char const * const str_usg = _("usage"); +	char const * const str_opr = _("operation"); +  	if(op == PM_OP_MAIN) { -		printf(_("usage:  %s {-h --help}\n"), myname); -		printf(_("        %s {-V --version}\n"), myname); -		printf(_("        %s {-A --add}     [options] <file>\n"), myname); -		printf(_("        %s {-F --freshen} [options] <file>\n"), myname); -		printf(_("        %s {-Q --query}   [options] [package]\n"), myname); -		printf(_("        %s {-R --remove}  [options] <package>\n"), myname); -		printf(_("        %s {-S --sync}    [options] [package]\n"), myname); -		printf(_("        %s {-U --upgrade} [options] <file>\n"), myname); +		printf("%s:  %s <%s> [...]\n", str_usg, myname, str_opr); +		printf("%s:\n", str_opt); +		printf("    %s {-h --help}\n", myname); +		printf("    %s {-V --version}\n", myname); +		printf("    %s {-A --add}     [%s] <%s>\n", myname, str_opt, str_file); +		printf("    %s {-Q --query}   [%s] [%s]\n", myname, str_opt, str_pkg); +		printf("    %s {-R --remove}  [%s] <%s>\n", myname, str_opt, str_pkg); +		printf("    %s {-S --sync}    [%s] [%s]\n", myname, str_opt, str_pkg); +		printf("    %s {-U --upgrade} [%s] <%s>\n", myname, str_opt, str_file);  		printf(_("\nuse '%s --help' with other options for more syntax\n"), myname);  	} else {  		if(op == PM_OP_ADD) { -			printf(_("usage:  %s {-A --add} [options] <file>\n"), myname); -			printf(_("options:\n")); +			printf("%s:  %s {-A --add} [%s] <%s>\n", str_usg, myname, str_opt, str_file); +			printf("%s:\n", str_opt); +			printf(_("      --asdeps         install packages as non-explicitly installed\n"));  			printf(_("  -d, --nodeps         skip dependency checks\n"));  			printf(_("  -f, --force          force install, overwrite conflicting files\n"));  		} else if(op == PM_OP_REMOVE) { -			printf(_("usage:  %s {-R --remove} [options] <package>\n"), myname); -			printf(_("options:\n")); +			printf("%s:  %s {-R --remove} [%s] <%s>\n", str_usg, myname, str_opt, str_pkg); +			printf("%s:\n", str_opt);  			printf(_("  -c, --cascade        remove packages and all packages that depend on them\n"));  			printf(_("  -d, --nodeps         skip dependency checks\n"));  			printf(_("  -k, --dbonly         only remove database entry, do not remove files\n"));  			printf(_("  -n, --nosave         remove configuration files as well\n"));  			printf(_("  -s, --recursive      remove dependencies also (that won't break packages)\n"));  		} else if(op == PM_OP_UPGRADE) { -			if(config->flags & PM_TRANS_FLAG_FRESHEN) { -				printf(_("usage:  %s {-F --freshen} [options] <file>\n"), myname); -			} else { -				printf(_("usage:  %s {-U --upgrade} [options] <file>\n"), myname); -			} -			printf(_("options:\n")); +			printf("%s:  %s {-U --upgrade} [%s] <%s>\n", str_usg, myname, str_opt, str_file); +			printf("%s:\n", str_opt); +			printf(_("      --asdeps         install packages as non-explicitly installed\n"));  			printf(_("  -d, --nodeps         skip dependency checks\n"));  			printf(_("  -f, --force          force install, overwrite conflicting files\n"));  		} else if(op == PM_OP_QUERY) { -			printf(_("usage:  %s {-Q --query} [options] [package]\n"), myname); -			printf(_("options:\n")); +			printf("%s:  %s {-Q --query} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg); +			printf("%s:\n", str_opt);  			printf(_("  -c, --changelog      view the changelog of a package\n")); -			printf(_("  -e, --orphans        list all packages installed as dependencies but no longer\n")); -			printf(_("                       required by any package\n")); +			printf(_("  -d, --deps           list all packages installed as dependencies\n")); +			printf(_("  -e, --explicit       list all packages explicitly installed\n"));  			printf(_("  -g, --groups         view all members of a package group\n")); -			printf(_("  -i, --info           view package information\n")); +			printf(_("  -i, --info           view package information (-ii for backup files)\n"));  			printf(_("  -l, --list           list the contents of the queried package\n"));  			printf(_("  -m, --foreign        list installed packages not found in sync db(s)\n"));  			printf(_("  -o, --owns <file>    query the package that owns <file>\n"));  			printf(_("  -p, --file <package> query a package file instead of the database\n"));  			printf(_("  -s, --search <regex> search locally-installed packages for matching strings\n")); +			printf(_("  -t, --orphans        list all packages not required by any package\n"));  			printf(_("  -u, --upgrades       list all packages that can be upgraded\n")); +			printf(_("  -q  --quiet          show less information for query and search\n"));  		} else if(op == PM_OP_SYNC) { -			printf(_("usage:  %s {-S --sync} [options] [package]\n"), myname); -			printf(_("options:\n")); +			printf("%s:  %s {-S --sync} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg); +			printf("%s:\n", str_opt); +			printf(_("      --asdeps         install packages as non-explicitly installed\n"));  			printf(_("  -c, --clean          remove old packages from cache directory (-cc for all)\n"));  			printf(_("  -d, --nodeps         skip dependency checks\n"));  			printf(_("  -e, --dependsonly    install dependencies only\n")); @@ -148,13 +129,17 @@ static void usage(int op, char *myname)  			printf(_("  -u, --sysupgrade     upgrade all packages that are out of date\n"));  			printf(_("  -w, --downloadonly   download packages but do not install/upgrade anything\n"));  			printf(_("  -y, --refresh        download fresh package databases from the server\n")); +			printf(_("      --needed         only install outdated or not yet installed packages\n"));  			printf(_("      --ignore <pkg>   ignore a package upgrade (can be used more than once)\n")); +			printf(_("      --ignoregroup <grp>\n" +			         "                       ignore a group upgrade (can be used more than once)\n")); +			printf(_("  -q  --quiet          show less information for query and search\n"));  		}  		printf(_("      --config <path>  set an alternate configuration file\n")); +		printf(_("      --logfile <path> set an alternate log file\n"));  		printf(_("      --noconfirm      do not ask for any confirmation\n")); -		printf(_("      --ask <number>   pre-specify answers for questions (see manpage)\n"));  		printf(_("      --noprogressbar  do not show a progress bar when downloading files\n")); -		printf(_("      --noscriptlet    do not execute the install scriptlet if there is any\n")); +		printf(_("      --noscriptlet    do not execute the install scriptlet if one exists\n"));  		printf(_("  -v, --verbose        be verbose\n"));  		printf(_("  -r, --root <path>    set an alternate installation root\n"));  		printf(_("  -b, --dbpath <path>  set an alternate database location\n")); @@ -162,56 +147,148 @@ static void usage(int op, char *myname)  	}  } -/* Version +/** Output pacman version and copyright.   */ -static void version() +static void version(void)  {  	printf("\n");  	printf(" .--.                  Pacman v%s - libalpm v%s\n", PACKAGE_VERSION, LIB_VERSION);  	printf("/ _.-' .-.  .-.  .-.   Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>\n");  	printf("\\  '-. '-'  '-'  '-'\n"); -	printf(" '--'                  \n"); -	printf(_("                       This program may be freely redistributed under\n")); -	printf(_("                       the terms of the GNU General Public License\n")); +	printf(" '--'\n"); +	printf(_("                       This program may be freely redistributed under\n" +	         "                       the terms of the GNU General Public License\n"));  	printf("\n");  } +/** Sets up gettext localization. Safe to call multiple times. + */ +/* Inspired by the monotone function localize_monotone. */ +#if defined(ENABLE_NLS) +static void localize(void) +{ +	static int init = 0; +	if (!init) { +		setlocale(LC_ALL, ""); +		bindtextdomain(PACKAGE, LOCALEDIR); +		textdomain(PACKAGE); +		init = 1; +	} +} +#endif + +/** Set user agent environment variable. + */ +static void setuseragent(void) +{ +	const char *pacman = "Pacman/" PACKAGE_VERSION; +	const char *libalpm = "libalpm/" LIB_VERSION; +	char agent[101]; +	struct utsname un; + +	uname(&un); +	snprintf(agent, 100, "%s (%s %s %s; %s) %s", pacman, un.sysname, +	         un.machine, un.release, setlocale(LC_MESSAGES, NULL), libalpm); +	setenv("HTTP_USER_AGENT", agent, 0); +} + +/** Catches thrown signals. Performs necessary cleanup to ensure database is + * in a consistant state. + * @param signum the thrown signal + */  static void cleanup(int signum)  {  	if(signum==SIGSEGV)  	{ -		fprintf(stderr, "Internal pacman error: Segmentation fault\n" -			"Please submit a full bug report, with the given package if appropriate.\n"); +		/* write a log message and write to stderr */ +		pm_printf(PM_LOG_ERROR, "segmentation fault\n"); +		pm_fprintf(stderr, PM_LOG_ERROR, "Internal pacman error: Segmentation fault.\n" +		        "Please submit a full bug report with --debug if appropriate.\n");  		exit(signum); -	} else if((signum == SIGINT) && (alpm_trans_release() == -1) -						&& (pm_errno == PM_ERR_TRANS_COMMITING)) { -		return; -	} -	if(signum != 0) { -		/* TODO why is this here? */ -		fprintf(stderr, "\n"); +	} else if((signum == SIGINT)) { +		if(alpm_trans_interrupt() == 0) { +			/* a transaction is being interrupted, don't exit pacman yet. */ +			return; +		} else { +			/* no commiting transaction, we can release it now and then exit pacman */ +			alpm_trans_release(); +		}  	}  	/* free alpm library resources */  	if(alpm_release() == -1) { -		ERR(NL, "%s\n", alpm_strerror(pm_errno)); +		pm_printf(PM_LOG_ERROR, alpm_strerrorlast());  	}  	/* free memory */  	FREELIST(pm_targets); -	FREECONF(config); - -	/* This fixes up any missing newlines (neednl) */ -	MSG(NL, ""); +	if(config) { +		config_free(config); +		config = NULL; +	}  	exit(signum);  } -/* Parse command-line arguments for each operation - *     argc: argc - *     argv: argv - *      - * Returns: 0 on success, 1 on error +/** Sets all libalpm required paths in one go. Called after the command line and + * inital config file parsing. Once this is complete, we can see if any paths were + * defined. If a rootdir was defined and nothing else, we want all of our paths to + * live under the rootdir that was specified. Safe to call multiple times (will only + * do anything the first time). + */ +static void setlibpaths(void) +{ +	static int init = 0; +	if (!init) { +		int ret = 0; + +		pm_printf(PM_LOG_DEBUG, "setlibpaths() called\n"); +		if(config->rootdir) { +			char path[PATH_MAX]; +			ret = alpm_option_set_root(config->rootdir); +			if(ret != 0) { +				pm_printf(PM_LOG_ERROR, _("problem setting rootdir '%s' (%s)\n"), +						config->rootdir, alpm_strerrorlast()); +				cleanup(ret); +			} +			if(!config->dbpath) { +				snprintf(path, PATH_MAX, "%s%s", alpm_option_get_root(), DBPATH); +				config->dbpath = strdup(path); +			} +			if(!config->logfile) { +				snprintf(path, PATH_MAX, "%s%s", alpm_option_get_root(), LOGFILE); +				ret = alpm_option_set_dbpath(path); +				config->logfile = strdup(path); +			} +		} +		if(config->dbpath) { +			ret = alpm_option_set_dbpath(config->dbpath); +			if(ret != 0) { +				pm_printf(PM_LOG_ERROR, _("problem setting dbpath '%s' (%s)\n"), +						config->dbpath, alpm_strerrorlast()); +				cleanup(ret); +			} +		} +		if(config->logfile) { +			ret = alpm_option_set_logfile(config->logfile); +			if(ret != 0) { +				pm_printf(PM_LOG_ERROR, _("problem setting logfile '%s' (%s)\n"), +						config->logfile, alpm_strerrorlast()); +				cleanup(ret); +			} +		} + +		/* add a default cachedir if one wasn't specified */ +		if(alpm_option_get_cachedirs() == NULL) { +			alpm_option_add_cachedir(CACHEDIR); +		} +	} +} + +/** Parse command-line arguments for each operation. + * @param argc argc + * @param argv argv + * @return 0 on success, 1 on error   */  static int parseargs(int argc, char *argv[])  { @@ -220,7 +297,6 @@ static int parseargs(int argc, char *argv[])  	static struct option opts[] =  	{  		{"add",        no_argument,       0, 'A'}, -		{"freshen",    no_argument,       0, 'F'},  		{"query",      no_argument,       0, 'Q'},  		{"remove",     no_argument,       0, 'R'},  		{"sync",       no_argument,       0, 'S'}, @@ -232,22 +308,25 @@ static int parseargs(int argc, char *argv[])  		{"changelog",  no_argument,       0, 'c'},  		{"clean",      no_argument,       0, 'c'},  		{"nodeps",     no_argument,       0, 'd'}, +		{"deps",       no_argument,       0, 'd'},  		{"dependsonly",no_argument,       0, 'e'}, -		{"orphans",    no_argument,       0, 'e'}, +		{"explicit",   no_argument,       0, 'e'},  		{"force",      no_argument,       0, 'f'},  		{"groups",     no_argument,       0, 'g'},  		{"help",       no_argument,       0, 'h'},  		{"info",       no_argument,       0, 'i'},  		{"dbonly",     no_argument,       0, 'k'},  		{"list",       no_argument,       0, 'l'}, -		{"nosave",     no_argument,       0, 'n'},  		{"foreign",    no_argument,       0, 'm'}, +		{"nosave",     no_argument,       0, 'n'},  		{"owns",       no_argument,       0, 'o'},  		{"file",       no_argument,       0, 'p'},  		{"print-uris", no_argument,       0, 'p'}, +		{"quiet",      no_argument,       0, 'q'},  		{"root",       required_argument, 0, 'r'},  		{"recursive",  no_argument,       0, 's'},  		{"search",     no_argument,       0, 's'}, +		{"orphans",    no_argument,       0, 't'},  		{"upgrades",   no_argument,       0, 'u'},  		{"sysupgrade", no_argument,       0, 'u'},  		{"verbose",    no_argument,       0, 'v'}, @@ -257,16 +336,19 @@ static int parseargs(int argc, char *argv[])  		{"config",     required_argument, 0, 1001},  		{"ignore",     required_argument, 0, 1002},  		{"debug",      optional_argument, 0, 1003}, -		{"noprogressbar",  no_argument,   0, 1004}, +		{"noprogressbar", no_argument,    0, 1004},  		{"noscriptlet", no_argument,      0, 1005}, -		{"ask",        required_argument, 0, 1006},  		{"cachedir",   required_argument, 0, 1007}, +		{"asdeps",     no_argument,       0, 1008}, +		{"logfile",    required_argument, 0, 1009}, +		{"ignoregroup", required_argument, 0, 1010}, +		{"needed",     no_argument,       0, 1011},  		{0, 0, 0, 0}  	}; -	struct stat st; -	unsigned short logmask; -	while((opt = getopt_long(argc, argv, "ARUFQSTr:b:vkhscVfmnoldepiuwyg", opts, &option_index))) { +	while((opt = getopt_long(argc, argv, "ARUFQSTr:b:vkhscVfmnoldepqituwygz", opts, &option_index))) { +		alpm_list_t *list = NULL, *item = NULL; /* lists for splitting strings */ +  		if(opt < 0) {  			break;  		} @@ -277,51 +359,62 @@ static int parseargs(int argc, char *argv[])  				if(config->configfile) {  					free(config->configfile);  				} -				#if defined(__OpenBSD__) || defined(__APPLE__) -				config->configfile = strdup(optarg); -				#else  				config->configfile = strndup(optarg, PATH_MAX); -				#endif  				break; -			case 1002: alpm_option_add_ignorepkg(strdup(optarg)); break; +			case 1002: +				list = strsplit(optarg, ','); +				for(item = list; item; item = alpm_list_next(item)) { +					alpm_option_add_ignorepkg((char *)alpm_list_getdata(item)); +				} +				FREELIST(list); +				break;  			case 1003:  				/* debug levels are made more 'human readable' than using a raw logmask -				 * here, we will ALWAYS set error and warning for now, though perhaps a +				 * here, error and warning are set in config_new, though perhaps a  				 * --quiet option will remove these later */ -				logmask = PM_LOG_ERROR | PM_LOG_WARNING; -  				if(optarg) {  					unsigned short debug = atoi(optarg);  					switch(debug) { -						case 3: logmask |= PM_LOG_FUNCTION; /* fall through */ -						case 2: logmask |= PM_LOG_DOWNLOAD; /*fall through */ -						case 1: logmask |= PM_LOG_DEBUG; break; +						case 2: +							config->logmask |= PM_LOG_FUNCTION; /* fall through */ +						case 1: +							config->logmask |= PM_LOG_DEBUG; +							break;  						default: -						  ERR(NL, _("'%s' is not a valid debug level"), optarg); +						  pm_printf(PM_LOG_ERROR, _("'%s' is not a valid debug level\n"), +									optarg);  							return(1);  					}  				} else { -					logmask |= PM_LOG_DEBUG; +					config->logmask |= PM_LOG_DEBUG;  				}  				/* progress bars get wonky with debug on, shut them off */  				config->noprogressbar = 1; -				alpm_option_set_logmask(logmask);  				break;  			case 1004: config->noprogressbar = 1; break;  			case 1005: config->flags |= PM_TRANS_FLAG_NOSCRIPTLET; break; -			case 1006: config->noask = 1; config->ask = atoi(optarg); break;  			case 1007: -				if(stat(optarg, &st) == -1 || !S_ISDIR(st.st_mode)) { -					ERR(NL, _("'%s' is not a valid cache directory\n"), optarg); +				if(alpm_option_add_cachedir(optarg) != 0) { +					pm_printf(PM_LOG_ERROR, _("problem adding cachedir '%s' (%s)\n"), +							optarg, alpm_strerrorlast());  					return(1);  				} -				alpm_option_set_cachedir(optarg);  				break; -			case 'A': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_ADD); break; -			case 'F': -				config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_UPGRADE); -				config->flags |= PM_TRANS_FLAG_FRESHEN; +			case 1008: +				config->flags |= PM_TRANS_FLAG_ALLDEPS; +				break; +			case 1009: +				config->logfile = strdup(optarg);  				break; +			case 1010: +				list = strsplit(optarg, ','); +				for(item = list; item; item = alpm_list_next(item)) { +					alpm_option_add_ignoregrp((char *)alpm_list_getdata(item)); +				} +				FREELIST(list); +				break; +			case 1011: config->flags |= PM_TRANS_FLAG_NEEDED; break; +			case 'A': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_ADD); break;  			case 'Q': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_QUERY); break;  			case 'R': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_REMOVE); break;  			case 'S': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_SYNC); break; @@ -329,20 +422,19 @@ static int parseargs(int argc, char *argv[])  			case 'U': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_UPGRADE); break;  			case 'V': config->version = 1; break;  			case 'b': -				if(stat(optarg, &st) == -1 || !S_ISDIR(st.st_mode)) { -					ERR(NL, _("'%s' is not a valid db path\n"), optarg); -					return(1); -				} -				alpm_option_set_dbpath(optarg); +				config->dbpath = strdup(optarg);  				break;  			case 'c':  				(config->op_s_clean)++;  				config->flags |= PM_TRANS_FLAG_CASCADE;  				config->op_q_changelog = 1;  				break; -			case 'd': config->flags |= PM_TRANS_FLAG_NODEPS; break; +			case 'd': +				config->op_q_deps = 1; +				config->flags |= PM_TRANS_FLAG_NODEPS; +				break;  			case 'e': -				config->op_q_orphans = 1; +				config->op_q_explicit = 1;  				config->flags |= PM_TRANS_FLAG_DEPENDSONLY;  				break;  			case 'f': config->flags |= PM_TRANS_FLAG_FORCE; break; @@ -358,18 +450,20 @@ static int parseargs(int argc, char *argv[])  				config->op_q_isfile = 1;  				config->flags |= PM_TRANS_FLAG_PRINTURIS;  				break; +			case 'q': +				config->quiet = 1; +				break;  			case 'r': -				if(stat(optarg, &st) == -1 || !S_ISDIR(st.st_mode)) { -					ERR(NL, _("'%s' is not a valid root path\n"), optarg); -					return(1); -				} -				alpm_option_set_root(optarg); +				config->rootdir = strdup(optarg);  				break;  			case 's':  				config->op_s_search = 1;  				config->op_q_search = 1;  				config->flags |= PM_TRANS_FLAG_RECURSE;  				break; +			case 't': +				config->op_q_orphans = 1; +				break;  			case 'u':  				config->op_s_upgrade = 1;  				config->op_q_upgrade = 1; @@ -387,12 +481,12 @@ static int parseargs(int argc, char *argv[])  	}  	if(config->op == 0) { -		ERR(NL, _("only one operation may be used at a time\n")); +		pm_printf(PM_LOG_ERROR, _("only one operation may be used at a time\n"));  		return(1);  	}  	if(config->help) { -		usage(config->op, basename(argv[0])); +		usage(config->op, mbasename(argv[0]));  		return(2);  	}  	if(config->version) { @@ -409,143 +503,380 @@ static int parseargs(int argc, char *argv[])  	return(0);  } +/** Add repeating options such as NoExtract, NoUpgrade, etc to libalpm + * settings. Refactored out of the parseconfig code since all of them did + * the exact same thing and duplicated code. + * @param ptr a pointer to the start of the multiple options + * @param option the string (friendly) name of the option, used for messages + * @param optionfunc a function pointer to an alpm_option_add_* function + */ +static void setrepeatingoption(const char *ptr, const char *option, +		void (*optionfunc)(const char*)) +{ +	char *p = (char*)ptr; +	char *q; + +	while((q = strchr(p, ' '))) { +		*q = '\0'; +		(*optionfunc)(p); +		pm_printf(PM_LOG_DEBUG, "config: %s: %s\n", option, p); +		p = q; +		p++; +	} +	(*optionfunc)(p); +	pm_printf(PM_LOG_DEBUG, "config: %s: %s\n", option, p); +} + +/* The real parseconfig. Called with a null section argument by the publicly + * visible parseconfig so we can recall from within ourself on an include */ +static int _parseconfig(const char *file, const char *givensection, +                        pmdb_t * const givendb) +{ +	FILE *fp = NULL; +	char line[PATH_MAX+1]; +	int linenum = 0; +	char *ptr, *section = NULL; +	pmdb_t *db = NULL; + +	pm_printf(PM_LOG_DEBUG, "config: attempting to read file %s\n", file); +	fp = fopen(file, "r"); +	if(fp == NULL) { +		pm_printf(PM_LOG_ERROR, _("config file %s could not be read.\n"), file); +		return(1); +	} + +	/* if we are passed a section, use it as our starting point */ +	if(givensection != NULL) { +		section = strdup(givensection); +	} +	/* if we are passed a db, use it as our starting point */ +	if(givendb != NULL) { +		db = givendb; +	} + +	while(fgets(line, PATH_MAX, fp)) { +		linenum++; +		strtrim(line); + +		/* ignore whole line and end of line comments */ +		if(strlen(line) == 0 || line[0] == '#') { +			continue; +		} +		if((ptr = strchr(line, '#'))) { +			*ptr = '\0'; +		} + +		if(line[0] == '[' && line[strlen(line)-1] == ']') { +			/* new config section, skip the '[' */ +			ptr = line; +			ptr++; +			if(section) { +				free(section); +			} +			section = strdup(ptr); +			section[strlen(section)-1] = '\0'; +			pm_printf(PM_LOG_DEBUG, "config: new section '%s'\n", section); +			if(!strlen(section)) { +				pm_printf(PM_LOG_ERROR, _("config file %s, line %d: bad section name.\n"), +						file, linenum); +				return(1); +			} +			/* if we are not looking at the options section, register a db and also +			 * ensure we have set all of our library paths as the library is too stupid +			 * at the moment to do lazy opening of the databases */ +			if(strcmp(section, "options") != 0) { +				setlibpaths(); +				db = alpm_db_register_sync(section); +			} +		} else { +			/* directive */ +			char *key, *upperkey; +			/* strsep modifies the 'line' string: 'key \0 ptr' */ +			key = line; +			ptr = line; +			strsep(&ptr, "="); +			strtrim(key); +			strtrim(ptr); + +			if(key == NULL) { +				pm_printf(PM_LOG_ERROR, _("config file %s, line %d: syntax error in config file- missing key.\n"), +						file, linenum); +				return(1); +			} +			/* For each directive, compare to the uppercase and camelcase string. +			 * This prevents issues with certain locales where characters don't +			 * follow the toupper() rules we may expect, e.g. tr_TR where i != I. +			 */ +			upperkey = strtoupper(strdup(key)); +			if(section == NULL && (strcmp(key, "Include") == 0 || strcmp(upperkey, "INCLUDE") == 0)) { +				pm_printf(PM_LOG_ERROR, _("config file %s, line %d: 'Include' directive must belong to a section.\n"), +						file, linenum); +				return(1); +			} +			if(ptr == NULL && strcmp(section, "options") == 0) { +				/* directives without settings, all in [options] */ +				if(strcmp(key, "NoPassiveFTP") == 0 || strcmp(upperkey, "NOPASSIVEFTP") == 0) { +					alpm_option_set_nopassiveftp(1); +					pm_printf(PM_LOG_DEBUG, "config: nopassiveftp\n"); +				} else if(strcmp(key, "UseSyslog") == 0 || strcmp(upperkey, "USESYSLOG") == 0) { +					alpm_option_set_usesyslog(1); +					pm_printf(PM_LOG_DEBUG, "config: usesyslog\n"); +				} else if(strcmp(key, "ILoveCandy") == 0 || strcmp(upperkey, "ILOVECANDY") == 0) { +					config->chomp = 1; +					pm_printf(PM_LOG_DEBUG, "config: chomp\n"); +				} else if(strcmp(key, "UseColor") == 0 || strcmp(upperkey, "USECOLOR") == 0) { +					config->usecolor = 1; +					pm_printf(PM_LOG_DEBUG, "config: usecolor\n"); +				} else if(strcmp(key, "ShowSize") == 0 || strcmp(upperkey, "SHOWSIZE") == 0) { +					config->showsize = 1; +					pm_printf(PM_LOG_DEBUG, "config: showsize\n"); +				} else if(strcmp(key, "UseDelta") == 0 || strcmp(upperkey, "USEDELTA") == 0) { +					alpm_option_set_usedelta(1); +					pm_printf(PM_LOG_DEBUG, "config: usedelta\n"); +				} else if(strcmp(key, "TotalDownload") == 0 || strcmp(upperkey, "TOTALDOWNLOAD") == 0) { +					config->totaldownload = 1; +					pm_printf(PM_LOG_DEBUG, "config: totaldownload\n"); +				} else { +					pm_printf(PM_LOG_ERROR, _("config file %s, line %d: directive '%s' not recognized.\n"), +							file, linenum, key); +					return(1); +				} +			} else { +				/* directives with settings */ +				if(strcmp(key, "Include") == 0 || strcmp(upperkey, "INCLUDE") == 0) { +					int ret; +					pm_printf(PM_LOG_DEBUG, "config: including %s\n", ptr); +					ret = _parseconfig(ptr, section, db); +					if(ret != 0) { +						return(ret); +					} +				} else if(strcmp(section, "options") == 0) { +					if(strcmp(key, "NoUpgrade") == 0 +							|| strcmp(upperkey, "NOUPGRADE") == 0) { +						setrepeatingoption(ptr, "NoUpgrade", alpm_option_add_noupgrade); +					} else if(strcmp(key, "NoExtract") == 0 +							|| strcmp(upperkey, "NOEXTRACT") == 0) { +						setrepeatingoption(ptr, "NoExtract", alpm_option_add_noextract); +					} else if(strcmp(key, "IgnorePkg") == 0 +							|| strcmp(upperkey, "IGNOREPKG") == 0) { +						setrepeatingoption(ptr, "IgnorePkg", alpm_option_add_ignorepkg); +					} else if(strcmp(key, "IgnoreGroup") == 0 +							|| strcmp(upperkey, "IGNOREGROUP") == 0) { +						setrepeatingoption(ptr, "IgnoreGroup", alpm_option_add_ignoregrp); +					} else if(strcmp(key, "HoldPkg") == 0 +							|| strcmp(upperkey, "HOLDPKG") == 0) { +						setrepeatingoption(ptr, "HoldPkg", alpm_option_add_holdpkg); +					} else if(strcmp(key, "DBPath") == 0 || strcmp(upperkey, "DBPATH") == 0) { +						/* don't overwrite a path specified on the command line */ +						if(!config->dbpath) { +							config->dbpath = strdup(ptr); +							pm_printf(PM_LOG_DEBUG, "config: dbpath: %s\n", ptr); +						} +					} else if(strcmp(key, "CacheDir") == 0 || strcmp(upperkey, "CACHEDIR") == 0) { +						if(alpm_option_add_cachedir(ptr) != 0) { +							pm_printf(PM_LOG_ERROR, _("problem adding cachedir '%s' (%s)\n"), +									ptr, alpm_strerrorlast()); +							return(1); +						} +						pm_printf(PM_LOG_DEBUG, "config: cachedir: %s\n", ptr); +					} else if(strcmp(key, "RootDir") == 0 || strcmp(upperkey, "ROOTDIR") == 0) { +						/* don't overwrite a path specified on the command line */ +						if(!config->rootdir) { +							config->rootdir = strdup(ptr); +							pm_printf(PM_LOG_DEBUG, "config: rootdir: %s\n", ptr); +						} +					} else if (strcmp(key, "LogFile") == 0 || strcmp(upperkey, "LOGFILE") == 0) { +						if(!config->logfile) { +							config->logfile = strdup(ptr); +							pm_printf(PM_LOG_DEBUG, "config: logfile: %s\n", ptr); +						} +					} else if (strcmp(key, "XferCommand") == 0 || strcmp(upperkey, "XFERCOMMAND") == 0) { +						alpm_option_set_xfercommand(ptr); +						pm_printf(PM_LOG_DEBUG, "config: xfercommand: %s\n", ptr); +					} else if (strcmp(key, "UpgradeDelay") == 0 || strcmp(upperkey, "UPGRADEDELAY") == 0) { +						/* The config value is in days, we use seconds */ +						time_t ud = atol(ptr) * 60 * 60 *24; +						alpm_option_set_upgradedelay(ud); +						pm_printf(PM_LOG_DEBUG, "config: upgradedelay: %d\n", (int)ud); +					} else { +						pm_printf(PM_LOG_ERROR, _("config file %s, line %d: directive '%s' not recognized.\n"), +								file, linenum, key); +						return(1); +					} +				} else if(strcmp(key, "Server") == 0 || strcmp(upperkey, "SERVER") == 0) { +					/* let's attempt a replacement for the current repo */ +					char *server = strreplace(ptr, "$repo", section); + +					if(alpm_db_setserver(db, server) != 0) { +						/* pm_errno is set by alpm_db_setserver */ +						return(1); +					} + +					free(server); +				} else { +					pm_printf(PM_LOG_ERROR, _("config file %s, line %d: directive '%s' not recognized.\n"), +							file, linenum, key); +					return(1); +				} +			} +			free(upperkey); +		} +	} +	fclose(fp); +	if(section){ +		free(section); +	} + +	/* call setlibpaths here to ensure we have called it at least once */ +	setlibpaths(); +	pm_printf(PM_LOG_DEBUG, "config: finished parsing %s\n", file); +	return(0); +} + +/** Parse a configuration file. + * @param file path to the config file. + * @return 0 on success, non-zero on error + */ +int parseconfig(const char *file) +{ +	/* call the real parseconfig function with a null section & db argument */ +	return(_parseconfig(file, NULL, NULL)); +} + +/** Main function. + * @param argc argc + * @param argv argv + * @return A return code indicating success, failure, etc. + */  int main(int argc, char *argv[])  {  	int ret = 0; -	char *lang = NULL; -#ifndef CYGWIN -	uid_t myuid; +#if defined(HAVE_GETEUID) +	/* geteuid undefined in CYGWIN */ +	uid_t myuid = geteuid();  #endif -#if defined(PACMAN_DEBUG) && !defined(CYGWIN) && !defined(BSD) +#if defined(PACMAN_DEBUG) && defined(HAVE_MCHECK_H)  	/*setenv("MALLOC_TRACE","pacman.mtrace", 0);*/  	mtrace();  #endif +  	/* set signal handlers */  	signal(SIGINT, cleanup);  	signal(SIGTERM, cleanup);  	signal(SIGSEGV, cleanup);  	/* i18n init */ -	lang = setlocale(LC_ALL, ""); -	/* if setlocale returns null, the locale was invalid- override it */ -	if (lang == NULL) { -		lang = "C"; -		setlocale(LC_ALL, "C"); -		setenv("LC_ALL", lang, 1); -		MSG(NL, _("warning: current locale is invalid; using default \"C\" locale")); -	} +#if defined(ENABLE_NLS) +	localize(); +#endif -	/* workaround for tr_TR */ -	if(lang && !strcmp(lang, "tr_TR")) { -		setlocale(LC_CTYPE, "C"); -	} -	bindtextdomain("pacman", "/usr/share/locale"); -	textdomain("pacman"); +	/* set user agent for downloading */ +	setuseragent();  	/* init config data */  	config = config_new(); -	config->op = PM_OP_MAIN; +  	/* disable progressbar if the output is redirected */  	if(!isatty(1)) {  		config->noprogressbar = 1;  	} -	/* initialize pm library */ +	/* initialize library */  	if(alpm_initialize() == -1) { -		ERR(NL, _("failed to initialize alpm library (%s)\n"), alpm_strerror(pm_errno)); -		cleanup(1); +		pm_printf(PM_LOG_ERROR, _("failed to initialize alpm library (%s)\n"), +		        alpm_strerrorlast()); +		cleanup(EXIT_FAILURE);  	} +	/* Setup logging as soon as possible, to print out maximum debugging info */ +	alpm_option_set_logcb(cb_log); +	alpm_option_set_dlcb(cb_dl_progress); +	/* define paths to reasonable defaults */ +	alpm_option_set_root(ROOTDIR); +	alpm_option_set_dbpath(DBPATH); +	alpm_option_set_logfile(LOGFILE); + +	/* Priority of options: +	 * 1. command line +	 * 2. config file +	 * 3. compiled-in defaults +	 * However, we have to parse the command line first because a config file +	 * location can be specified here, so we need to make sure we prefer these +	 * options over the config file coming second. +	 */ +  	/* parse the command line */  	ret = parseargs(argc, argv);  	if(ret != 0) { -		config_free(config); -		exit(ret); +		cleanup(ret);  	} -#ifndef CYGWIN -	/* see if we're root or not */ -	myuid = geteuid(); -#ifndef FAKEROOT -	if(!myuid && getenv("FAKEROOTKEY")) { -		/* fakeroot doesn't count, we're non-root */ -		myuid = 99; +	/* parse the config file */ +	ret = parseconfig(config->configfile); +	if(ret != 0) { +		cleanup(ret);  	} -#endif +#if defined(HAVE_GETEUID)  	/* check if we have sufficient permission for the requested operation */ -	if(myuid > 0) { -		if(config->op != PM_OP_MAIN && config->op != PM_OP_QUERY && config->op != PM_OP_DEPTEST) { -			if((config->op == PM_OP_SYNC && !config->op_s_sync && -					(config->op_s_search || config->group || config->op_q_list || config->op_q_info -					 || config->flags & PM_TRANS_FLAG_PRINTURIS)) -				 || (config->op == PM_OP_DEPTEST && config->op_d_resolve) -				 || (strcmp(alpm_option_get_root(), PM_ROOT) != 0)) { -				/* special case: PM_OP_SYNC can be used w/ config->op_s_search by any user */ -				/* special case: ignore root user check if -r is specified, fall back on -				 * normal FS checking */ -			} else { -				ERR(NL, _("you cannot perform this operation unless you are root.\n")); -				config_free(config); -				exit(EXIT_FAILURE); -			} -		} +	if(myuid > 0 && needs_transaction()) { +		pm_printf(PM_LOG_ERROR, _("you cannot perform this operation unless you are root.\n")); +		cleanup(EXIT_FAILURE);  	}  #endif -	/* Setup logging as soon as possible, to print out maximum debugging info */ -	alpm_option_set_logcb(cb_log); - -	if(config->configfile == NULL) { -		config->configfile = strdup(PACCONF); -	} - -	if(alpm_parse_config(config->configfile, NULL, "") != 0) { -		ERR(NL, _("failed to parse config (%s)\n"), alpm_strerror(pm_errno)); -		cleanup(1); -	} - -	/* set library parameters */ -	alpm_option_set_dlcb(log_progress); -  	if(config->verbose > 0) { -		printf("Root     : %s\n", alpm_option_get_root()); -		printf("DBPath   : %s\n", alpm_option_get_dbpath()); -		printf("CacheDir : %s\n", alpm_option_get_cachedir()); -		list_display(_("Targets  :"), pm_targets); +		alpm_list_t *i; +		printf("Root      : %s\n", alpm_option_get_root()); +		printf("Conf File : %s\n", config->configfile); +		printf("DB Path   : %s\n", alpm_option_get_dbpath()); +		printf("Cache Dirs: "); +		for(i = alpm_option_get_cachedirs(); i; i = alpm_list_next(i)) { +			printf("%s  ", (char*)alpm_list_getdata(i)); +		} +		printf("\n"); +		printf("Lock File : %s\n", alpm_option_get_lockfile()); +		printf("Log File  : %s\n", alpm_option_get_logfile()); +		list_display("Targets   :", pm_targets);  	}  	/* Opening local database */ -	db_local = alpm_db_register("local"); +	db_local = alpm_db_register_local();  	if(db_local == NULL) { -		ERR(NL, _("could not register 'local' database (%s)\n"), alpm_strerror(pm_errno)); -		cleanup(1); -	} - -	if(alpm_list_count(pm_targets) == 0 && !(config->op == PM_OP_QUERY || (config->op == PM_OP_SYNC -	   && (config->op_s_sync || config->op_s_upgrade || config->op_s_clean || config->group  -	   || config->op_q_list)))) { -		ERR(NL, _("no targets specified (use -h for help)\n")); -		cleanup(1); +		pm_printf(PM_LOG_ERROR, _("could not register 'local' database (%s)\n"), +		        alpm_strerrorlast()); +		cleanup(EXIT_FAILURE);  	}  	/* start the requested operation */  	switch(config->op) { -		case PM_OP_ADD:     ret = pacman_add(pm_targets);     break; -		case PM_OP_REMOVE:  ret = pacman_remove(pm_targets);  break; -		case PM_OP_UPGRADE: ret = pacman_upgrade(pm_targets); break; -		case PM_OP_QUERY:   ret = pacman_query(pm_targets);   break; -		case PM_OP_SYNC:    ret = pacman_sync(pm_targets);    break; -		case PM_OP_DEPTEST: ret = pacman_deptest(pm_targets); break; +		case PM_OP_ADD: +			ret = pacman_add(pm_targets); +			break; +		case PM_OP_REMOVE: +			ret = pacman_remove(pm_targets); +			break; +		case PM_OP_UPGRADE: +			ret = pacman_upgrade(pm_targets); +			break; +		case PM_OP_QUERY: +			ret = pacman_query(pm_targets); +			break; +		case PM_OP_SYNC: +			ret = pacman_sync(pm_targets); +			break; +		case PM_OP_DEPTEST: +			ret = pacman_deptest(pm_targets); +			break;  		default: -			ERR(NL, _("no operation specified (use -h for help)\n")); -			ret = 1; +			pm_printf(PM_LOG_ERROR, _("no operation specified (use -h for help)\n")); +			ret = EXIT_FAILURE;  	}  	cleanup(ret);  	/* not reached */ -	return(0); +	return(EXIT_SUCCESS);  }  /* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/upgrade.h b/src/pacman/pacman.h index d26930f0..fbd419d7 100644 --- a/src/pacman/upgrade.h +++ b/src/pacman/pacman.h @@ -1,8 +1,8 @@  /* - *  upgrade.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *  pacman.h + * + *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org> + *   *  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 @@ -15,16 +15,27 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ -#ifndef _PM_UPGRADE_H -#define _PM_UPGRADE_H +#ifndef _PM_PACMAN_H +#define _PM_PACMAN_H  #include <alpm_list.h> +/* add.c, this should merge with upgrade.c */ +int pacman_add(alpm_list_t *targets);  int pacman_upgrade(alpm_list_t *targets); +/* sync.c */ +int pacman_sync(alpm_list_t *targets); +/* query.c */ +int pacman_query(alpm_list_t *targets); +/* remove.c */ +int pacman_remove(alpm_list_t *targets); + +/* deptest.c */ +int pacman_deptest(alpm_list_t *targets); -#endif /* _PM_UPGRADE_H */ +#endif /* _PM_PACMAN_H */  /* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/po/.gitignore b/src/pacman/po/.gitignore deleted file mode 100644 index 50a7b2a4..00000000 --- a/src/pacman/po/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -Makefile -Makefile.in -*.gmo -POTFILES -stamp-po -remove-potcdate.sed diff --git a/src/pacman/po/LINGUAS b/src/pacman/po/LINGUAS deleted file mode 100644 index 8c249f79..00000000 --- a/src/pacman/po/LINGUAS +++ /dev/null @@ -1,10 +0,0 @@ -# Set of available languages. -de -en_GB -es -fr -hu -it -pl_PL -pt_BR -ru_RU diff --git a/src/pacman/po/Makefile.in.in b/src/pacman/po/Makefile.in.in deleted file mode 100644 index 6f2e2e94..00000000 --- a/src/pacman/po/Makefile.in.in +++ /dev/null @@ -1,355 +0,0 @@ -# Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper <drepper@gnu.ai.mit.edu> -# -# This file can be copied and used freely without restrictions.  It can -# be used in projects which are not available under the GNU General Public -# License but which still want to provide support for the GNU gettext -# functionality. -# Please note that the actual code of GNU gettext is covered by the GNU -# General Public License and is *not* in the public domain. -# -# Origin: gettext-0.13 - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datadir = @datadir@ -datarootdir = @datarootdir@ -localedir = $(datadir)/locale -gettextsrcdir = $(datadir)/gettext/po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -mkinstalldirs = @INSTALL@ -d - -GMSGFMT = @GMSGFMT@ -MSGFMT = @MSGFMT@ -XGETTEXT = @XGETTEXT@ -MSGMERGE = msgmerge -MSGMERGE_UPDATE = @MSGMERGE@ --update -MSGINIT = msginit -MSGCONV = msgconv -MSGFILTER = msgfilter - -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -UPDATEPOFILES = @UPDATEPOFILES@ -DUMMYPOFILES = @DUMMYPOFILES@ -DISTFILES.common = Makefile.in.in remove-potcdate.sin \ -$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \ -$(POFILES) $(GMOFILES) \ -$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) - -POTFILES = \ - -CATALOGS = @CATALOGS@ - -# Makevars gets inserted here. (Don't remove this line!) - -.SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update - -.po.mo: -	@echo "$(MSGFMT) -c -o $@ $<"; \ -	$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ - -.po.gmo: -	@lang=`echo $* | sed -e 's,.*/,,'`; \ -	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ -	echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ -	cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo - -.sin.sed: -	sed -e '/^#/d' $< > t-$@ -	mv t-$@ $@ - - -all: all-@USE_NLS@ - -all-yes: stamp-po -all-no: - -# stamp-po is a timestamp denoting the last time at which the CATALOGS have -# been loosely updated. Its purpose is that when a developer or translator -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent -# invocations of "make" will do nothing. This timestamp would not be necessary -# if updating the $(CATALOGS) would always touch them; however, the rule for -# $(POFILES) has been designed to not touch files that don't need to be -# changed. -stamp-po: $(srcdir)/$(DOMAIN).pot -	test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) -	@echo "touch stamp-po" -	@echo timestamp > stamp-poT -	@mv stamp-poT stamp-po - -# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', -# otherwise packages like GCC can not be built if only parts of the source -# have been downloaded. - -# This target rebuilds $(DOMAIN).pot; it is an expensive operation. -# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed -	$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ -	  --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ -	  --files-from=$(srcdir)/POTFILES.in \ -	  --copyright-holder='$(COPYRIGHT_HOLDER)' \ -	  --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)' -	test ! -f $(DOMAIN).po || { \ -	  if test -f $(srcdir)/$(DOMAIN).pot; then \ -	    sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ -	    sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ -	    if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ -	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ -	    else \ -	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ -	      mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ -	    fi; \ -	  else \ -	    mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ -	  fi; \ -	} - -# This rule has no dependencies: we don't need to update $(DOMAIN).pot at -# every "make" invocation, only create it when it is missing. -# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. -$(srcdir)/$(DOMAIN).pot: -	$(MAKE) $(DOMAIN).pot-update - -# This target rebuilds a PO file if $(DOMAIN).pot has changed. -# Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(srcdir)/$(DOMAIN).pot -	@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ -	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ -	echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ -	cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ -	if test "$(PACKAGE)" = "gettext-tools"; then \ -	  $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ -	  for file in $(DISTFILES.common) Makevars.template; do \ -	    $(INSTALL_DATA) $(srcdir)/$$file \ -			    $(DESTDIR)$(gettextsrcdir)/$$file; \ -	  done; \ -	  for file in Makevars; do \ -	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ -	  done; \ -	else \ -	  : ; \ -	fi -install-data-no: all -install-data-yes: all -	$(mkinstalldirs) $(DESTDIR)$(datadir) -	@catalogs='$(CATALOGS)'; \ -	for cat in $$catalogs; do \ -	  cat=`basename $$cat`; \ -	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ -	  dir=$(localedir)/$$lang/LC_MESSAGES; \ -	  $(mkinstalldirs) $(DESTDIR)$$dir; \ -	  if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ -	  $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ -	  echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ -	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ -	    if test -n "$$lc"; then \ -	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ -	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ -	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ -	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ -	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ -	         for file in *; do \ -	           if test -f $$file; then \ -	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ -	           fi; \ -	         done); \ -	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ -	      else \ -	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ -	          :; \ -	        else \ -	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ -	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ -	        fi; \ -	      fi; \ -	      rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ -	      ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ -	      ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ -	      cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ -	      echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ -	    fi; \ -	  done; \ -	done - -install-strip: install - -installdirs: installdirs-exec installdirs-data -installdirs-exec: -installdirs-data: installdirs-data-@USE_NLS@ -	if test "$(PACKAGE)" = "gettext-tools"; then \ -	  $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ -	else \ -	  : ; \ -	fi -installdirs-data-no: -installdirs-data-yes: -	$(mkinstalldirs) $(DESTDIR)$(datadir) -	@catalogs='$(CATALOGS)'; \ -	for cat in $$catalogs; do \ -	  cat=`basename $$cat`; \ -	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ -	  dir=$(localedir)/$$lang/LC_MESSAGES; \ -	  $(mkinstalldirs) $(DESTDIR)$$dir; \ -	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ -	    if test -n "$$lc"; then \ -	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ -	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ -	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ -	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ -	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ -	         for file in *; do \ -	           if test -f $$file; then \ -	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ -	           fi; \ -	         done); \ -	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ -	      else \ -	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ -	          :; \ -	        else \ -	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ -	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ -	        fi; \ -	      fi; \ -	    fi; \ -	  done; \ -	done - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: uninstall-exec uninstall-data -uninstall-exec: -uninstall-data: uninstall-data-@USE_NLS@ -	if test "$(PACKAGE)" = "gettext-tools"; then \ -	  for file in $(DISTFILES.common) Makevars.template; do \ -	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ -	  done; \ -	else \ -	  : ; \ -	fi -uninstall-data-no: -uninstall-data-yes: -	catalogs='$(CATALOGS)'; \ -	for cat in $$catalogs; do \ -	  cat=`basename $$cat`; \ -	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ -	  for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ -	    rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ -	  done; \ -	done - -check: all - -info dvi ps pdf html tags TAGS ctags CTAGS ID: - -mostlyclean: -	rm -f remove-potcdate.sed -	rm -f stamp-poT -	rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po -	rm -fr *.o - -clean: mostlyclean - -distclean: clean -	rm -f Makefile Makefile.in POTFILES *.mo - -maintainer-clean: distclean -	@echo "This command is intended for maintainers to use;" -	@echo "it deletes files that may require special tools to rebuild." -	rm -f stamp-po $(GMOFILES) - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: -	$(MAKE) update-po -	@$(MAKE) dist2 -# This is a separate target because 'update-po' must be executed before. -dist2: $(DISTFILES) -	dists="$(DISTFILES)"; \ -	if test "$(PACKAGE)" = "gettext-tools"; then \ -	  dists="$$dists Makevars.template"; \ -	fi; \ -	if test -f $(srcdir)/ChangeLog; then \ -	  dists="$$dists ChangeLog"; \ -	fi; \ -	for i in 0 1 2 3 4 5 6 7 8 9; do \ -	  if test -f $(srcdir)/ChangeLog.$$i; then \ -	    dists="$$dists ChangeLog.$$i"; \ -	  fi; \ -	done; \ -	if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ -	for file in $$dists; do \ -	  if test -f $$file; then \ -	    cp -p $$file $(distdir); \ -	  else \ -	    cp -p $(srcdir)/$$file $(distdir); \ -	  fi; \ -	done - -update-po: Makefile -	$(MAKE) $(DOMAIN).pot-update -	test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) -	$(MAKE) update-gmo - -# General rule for updating PO files. - -.nop.po-update: -	@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ -	if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ -	tmpdir=`pwd`; \ -	echo "$$lang:"; \ -	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ -	echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ -	cd $(srcdir); \ -	if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ -	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ -	    rm -f $$tmpdir/$$lang.new.po; \ -	  else \ -	    if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ -	      :; \ -	    else \ -	      echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ -	      exit 1; \ -	    fi; \ -	  fi; \ -	else \ -	  echo "msgmerge for $$lang.po failed!" 1>&2; \ -	  rm -f $$tmpdir/$$lang.new.po; \ -	fi - -$(DUMMYPOFILES): - -update-gmo: Makefile $(GMOFILES) -	@: - -Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@ -	cd $(top_builddir) \ -	  && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ -	       $(SHELL) ./config.status - -force: - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/pacman/po/Makevars b/src/pacman/po/Makevars deleted file mode 100644 index dd4e84b4..00000000 --- a/src/pacman/po/Makevars +++ /dev/null @@ -1,25 +0,0 @@ -# Makefile variables for PO directory in any package using GNU gettext. - -# Usually the message domain is the same as the package name. -DOMAIN = pacman - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = ../../../ - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = \ -  --keyword=_ --flag=_:1:pass-c-format \ -  --keyword=N_ --flag=N_:1:pass-c-format - -# This is the copyright holder that gets inserted into the header of the -# $(DOMAIN).pot file. -COPYRIGHT_HOLDER = Judd Vinet <jvinet@zeroflux.org> - -# This is the email address or URL to which the translators shall report -# bugs in the untranslated strings. -MSGID_BUGS_ADDRESS = pacman-dev@archlinux.org - -# This is the list of locale categories, beyond LC_MESSAGES, for which the -# message catalogs shall be used.  It is usually empty. -EXTRA_LOCALE_CATEGORIES = diff --git a/src/pacman/po/POTFILES.in b/src/pacman/po/POTFILES.in deleted file mode 100644 index fb86a51e..00000000 --- a/src/pacman/po/POTFILES.in +++ /dev/null @@ -1,16 +0,0 @@ -# List of source files with translatable strings - -src/pacman/add.c -src/pacman/conf.c -src/pacman/deptest.c -src/pacman/downloadprog.c -src/pacman/log.c -src/pacman/log.h -src/pacman/package.c -src/pacman/pacman.c -src/pacman/query.c -src/pacman/remove.c -src/pacman/sync.c -src/pacman/trans.c -src/pacman/upgrade.c -src/pacman/util.c diff --git a/src/pacman/po/de.po b/src/pacman/po/de.po deleted file mode 100644 index 1ac7f934..00000000 --- a/src/pacman/po/de.po +++ /dev/null @@ -1,1084 +0,0 @@ -# translation of de.po to German -# German translations for pacman package. -# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package manager package. -# -# Marcus Habermehl <bmh1980@frugalware.org>, 2006. -# Pierre Schmitz <pierre@archlinux.de>, 2007. -msgid "" -msgstr "" -"Project-Id-Version: de\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2007-05-09 17:38+0200\n" -"Last-Translator: Pierre Schmitz <pierre@archlinux.de>\n" -"Language-Team: German <archlinux.de>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);X-Generator: KBabel 1.11.4\n" -"X-Generator: KBabel 1.11.4\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"       Wenn Sie sicher sind, dass nicht bereits ein Paketmanager\n" -"       gestartet ist, können Sie %s%s entfernen\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "Lade Paketdaten ... " - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "Konnte Paket '%s' nicht hinzufügen (%s)" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "Fertig.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "Konnte Vorgang nicht vorbereiten (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: Benötigt %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: Steht im Konflikt mit %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s existiert in '%s' und '%s'\n" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s existiert im Dateisystem\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" -"\n" -"Fehler aufgetreten, keine Pakete wurden aktualisiert.\n" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr ":: %.1f MB werden benötigt, %.1f MB stehen zur Verfügung" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "Konnte den Vorgang (%s) nicht durchführen\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "Konnte den Vorgang (%s) nicht freigeben\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "Fehlersuche" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "Fehler" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "Warnung" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "Funktion" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "J" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "JA" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "Fehler: " - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "Warnung: " - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "Ausdrücklich installiert" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "Installiert als Abhängigkeit für ein anderes Paket" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "Unbekannt" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "Beschreibung         : " - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "Name                 : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "Version              : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL                  : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Lizenz               :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Gruppen              :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "Stellt bereit        :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "Hängt ab von         :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "Entfernt             :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "Benötigt von         :" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Konflikt mit         :" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Installationsgröße   : %6.2f K\n" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "Packer               : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Architektur          : %s\n" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Erstellt am          : %s %s\n" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Bauart               : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Installiert am       : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Installationsgrund   : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Installations-Skript : %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Ja" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "Nein" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Repositorium         : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "Ersetzt              :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "Download-Größe       : %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "MD5-Summe            : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "SHA1-Summe           : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "Sicherungs-Dateien:\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "Fehler beim Berechnen der Prüfsummen für %s\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "MODIFIZIERT\t%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "Nicht modifiziert\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "FEHLEND\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(Nichts)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "Kein Änderungsprotokoll für '%s' verfügbar.\n" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "Verwendung:  %s {-h --help}\n" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "        %s {-V --version}\n" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "        %s {-A --add}     [Optionen] <Datei>\n" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "        %s {-F --freshen} [Optionen] <Datei>\n" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "        %s {-Q --query}   [Optionen] [Paket]\n" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "        %s {-R --remove}  [Optionen] <Paket>\n" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "        %s {-S --sync}    [Optionen] [Paket]\n" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "        %s {-U --upgrade} [Optionen] <Datei>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"Benutzen Sie '%s --help' mit anderen Optionen für mehr Informationen\n" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "Verwendung:  %s {-A -add} [Optionen] <Datei>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "Optionen:\n" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps         Überspringt die Abhängigkeitsprüfung\n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" -"  -f, --force          Installation erzwingen, Dateikonflikte überschreiben\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "Verwendung:  %s {-R --remove} [Optionen] <Paket>\n" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "" -"  -c, --cascade        Entfernt Pakete und alle, die von ihnen abhängen\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly         Nur Datenbankeintrag entfernen, keine Dateien " -"entfernen\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "  -n, --nosave         Auch Konfigurationsdateien entfernen\n" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive      Auch Abhängigkeiten entfernen (beschädigt keine " -"Pakete)\n" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "Verwendung:  %s {-F --freshen} [Optionen] <Datei>\n" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "Verwendung:  %s {-U --upgrade} [Optionen] <Datei>\n" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "Verwendung:  %s {-Q --query} [Optionen] [Pakete]\n" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog      Das Änderungsprotokoll des Paketes anzeigen\n" - -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" -"  -e, --orphans        Zeigt alle Pakete, die als Abhängigkeiten " -"installiert\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "                       wurden, aber nicht mehr benötigt werden\n" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "  -g, --groups         Zeigt alle Mitglieder einer Paket-Gruppe an\n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "  -i, --info           Zeigt Paketinformationen an\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "  -l, --list           Zeigt den Inhalt des abgefragten Paketes an\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign        Zeigt alle Pakete an, die nicht in den Sync-db(s)\n" -"                       gefunden wurden\n" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "  -o, --owns <Datei>   Fragt das Paket ab, dass <Datei> enthält\n" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" -"  -p, --file <Paket>   Fragt die Paketdatei <Paket> anstatt der Datenbank " -"ab\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" -"  -s, --search <regex> Durchsucht lokal installierte Pakete nach einem Wort\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "  -u, --upgrades       Zeigt alle aktualisierbaren Pakete an\n" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "Benutzung:  %s {-S --sync} [Optionen] [Paket]\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean          Entfernt alte Pakete aus dem Paketpuffer(-cc für " -"alle)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly    Nur Abhängigkeiten installieren\n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "" -"  -l, --list <repo>    Zeigt eine Liste aller Pakete eines Repositoriums an\n" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris     URIs der angegebenen Pakete und deren Abhängigkeiten\n" -"                       ausgeben\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" -"  -s, --search <regex> Durchsucht entfernte Repositorien nach einem Wort\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "  -u, --sysupgrade     Aktualisiert alle veralteten Pakete\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" -"  -w, --downloadonly   Lädt Pakete herunter, ohne etwas zu installieren " -"oder\n" -"                       aktualisieren\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "  -y, --refresh        Lädt frische Paketdatenbank vom Server\n" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" -"      --ignore <pkg>   Ignoriert ein neues Paket (kann mehrfach genutzt\n" -"                       werden)\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "      --config <Pfad>  Setzt eine alternative Konfigurationsdatei\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "      --noconfirm      Niemals nach einer Bestätigung fragen\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask <Nummer>   Antworten für Fragen vorherbestimmen (Siehe manpage)\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "" -"      --noprogressbar  Keine Fortschrittsanzeige anzeigen, wenn Dateien\n" -"                       heruntergeladen werden\n" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" -"      --noscriptlet    Installationskript nicht ausführen, falls vorhanden\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose        Sei gesprächig\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "" -"  -r, --root <Pfad>    Setzt ein alternatives Wurzelverzeichnis zur\n" -"                       Installation\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "  -b, --dbpath <Pfad>  Setzt einen anderen Ort für die Datenbank\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "  -b, --dbpath <Pfad>  Setzt einen anderen Ort für den Paketpuffer\n" - -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "                       Dieses Programm ist frei verfügbar unter\n" - -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "                      den Bedingungen der GNU General Public License\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "'%s' ist kein gültiger Debug-Level" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "'%s' ist kein gültiges Paketpuffer-Verzeichnis\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "'%s' ist kein gültiger db-Pfad\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "'%s' ist kein gültiger root-Pfad\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "Es ist nur eine Operation zur selben Zeit erlaubt\n" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "" -"Warnung: Die Standard-Ortseinstellung ist ungültig; verwende Standard-\"C\"-" -"Ortseinstellung" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "Konnte alpm-Bibliothek nicht initialisieren (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "Sie benötigen root-Rechte, um diese Operation ausführen zu können\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "Konnte Konfiguration (%s) nicht lesen\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Pakete   :" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "Kein Zugriff auf die lokale Datenbank (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "Keine Pakete angegeben (benutzen Sie -h für Hilfe)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "Keine Operation angegeben (benutzen Sie -h für Hilfe)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "Es wurde keine Datei für --owns angegeben\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "Fehler beim Lesen der Datei '%s': %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "Konnte den Besitzer eines Verzeichnisses nicht ermitteln" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "Konnte den wahren Pfad für '%s' nicht ermitteln: %s" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "%s ist in %s %s enthalten\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "Kein Paket enthält %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "Keine brauchbaren Paket-Repositorien konfiguriert.\n" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Suche nach aktualisierbaren Paketen..." - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "Keine Aktualisierungen gefunden" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "Gruppe \"%s\" wurde nicht gefunden\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "Es wurde kein Paket für --file angegeben\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "Konnte Paket '%s' nicht laden (%s)\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "Paket \"%s\" nicht gefunden\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: Gruppe %s:\n" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    Gesamten Inhalt entfernen? [J/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: %s aus Gruppe %s entfernen? [J/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "Konnte den Vorgang (%s) nicht starten\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "Konnte Paket '%s' nicht hinzufügen (%s)\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s wird benötigt von %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "Pakete:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"Möchten Sie all diese Pakete entfernen? [J/n] " - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "Möchten Sie alte Pakete aus dem Puffer entfernen? [J/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "Entferne alte Pakete aus dem Puffer... " - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "Konnte nicht auf Puffer-Verzeichnis zugreifen\n" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "Wollen Sie alle Pakete aus dem Puffer entfernen? [J/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "Entferne alle Pakete aus dem Puffer... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "Konnte Puffer-Verzeichnis nicht entfernen\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "Konnte neues Puffer-Verzeichnis nicht erstellen\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "Konnte %s nicht synchronisieren: %s\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "Konnte %s nicht aktualisieren (%s)\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " %s ist aktuell\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "Repositorium '%s' wurde nicht gefunden.\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "Paket '%s' wurde nicht in Repositorium '%s' gefunden.\n" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "Paket '%s' wurde nicht gefunden.\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "Repositorium \"%s\" wurde nicht gefunden.\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: Synchronisiere Paketdatenbanken...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "Synchronisiere Paketlisten" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "Konnte keine Datenbank synchronisieren" - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: Starte komplette Systemaktualisierung...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "Starte komplette Systemaktualisierung" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: pacman hat eine neuere Version von \"pacman\" gefunden.\n" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: Es wird empfohlen, zuerst pacman zu aktualisieren und\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr ":: danach Ihre Eingabe mit der neueren Version zu wiederholen.\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: Zuerst pacman aktualisieren? [J/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: Gesamten Inhalt installieren? [J/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: %s aus Gruppe %s installieren? [J/n] " - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': nicht in Synchronisations-Datenbank gefunden\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "Benötigt" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr " Lokale Datenbank ist aktuell\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"Beginne Download ...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "Download fortsetzen? [J/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"Beginne Aktualisierungsprozess...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "Installation fortsetzen? [J/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "Prüfe Abhängigkeiten... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "Prüfe auf Dateikonflikte... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "Räume auf... " - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "Löse Abhängigkeiten auf... " - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "Suche nach Zwischen-Konflikten... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "Installiere %s... " - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "%s (%s) installiert" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "Entferne %s... " - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "%s (%s) entfernt" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "Aktualisiere %s... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "%s (%s -> %s) aktualisiert" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "Prüfe Paketintegrität... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "fehlgeschlagen.\n" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Empfange Pakete von %s...\n" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr ":: %1$s benötigt %2$s aus IgnorePkg. %2$s installieren? [J/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr ":: %s ist in IgnorePkg. Trotzdem installieren? [J/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr ":: %s ist als ein HoldPkg gekennzeichnet. Trotzdem entfernen? [J/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: %s durch %s/%s ersetzen? [J/n] " - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s steht im Konflikt mit %s. %s entfernen? [J/n] " - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: Lokale Version ist neuer. Trotzdem aktualisieren? [J/n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: Lokale Version ist aktuell. Trotzdem aktualisieren? [J/n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: Archiv %s ist beschädigt. Möchten Sie es löschen? [J/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "Installiere" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "Aktualisiere" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "Entferne" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "Pruefe auf Dateikonflikte" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "Nichts\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Entfernen:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"Gesamtgröße der zu entfernenden Pakete : %.2f MB\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"Gesamte Paketgröße:   %.2f MB\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "Gesamtgröße der installierten Pakete   : %.2f MB\n" diff --git a/src/pacman/po/en_GB.po b/src/pacman/po/en_GB.po deleted file mode 100644 index 153fed83..00000000 --- a/src/pacman/po/en_GB.po +++ /dev/null @@ -1,1084 +0,0 @@ -# English (British) translations for Pacman package manager package. -# Copyright (C) 2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package manager package. -# Jeff Bailes <thepizzaking@gmail.com>, 2007. -# -msgid "" -msgstr "" -"Project-Id-Version: Pacman package manager 3.0.0\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2007-03-07 21:16+1100\n" -"Last-Translator: Jeff Bailes <thepizzaking@gmail.com>\n" -"Language-Team: English <en_gb@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "loading package data... " - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "failed to add target '%s' (%s)" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "done.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "failed to prepare transaction (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: requires %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: conflicts with %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s exists in both '%s' and '%s'\n" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s exists in filesystem\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" -"\n" -"errors occurred, no packages were upgraded.\n" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr ":: %.1f MB required, have %.1f MB" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "failed to commit transaction (%s)\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "failed to release transaction (%s)\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "debug" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "error" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "warning" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "function" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "Y" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "YES" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "error: " - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "warning: " - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "Explicitly installed" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "Installed as a dependency for another package" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "Unknown" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "Description    : " - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "Name           : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "Version        : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL            : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Licence        :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Groups         :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "Provides       :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "Depends On     :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "Removes        :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "Required By    :" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Conflicts With :" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Installed Size : %6.2f K\n" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "Packager       : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Architecture   : %s\n" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Build Date     : %s %s\n" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Build Type     : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Install Date   : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Install Reason : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Install Script : %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Yes" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "No" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Repository     : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "Replaces       :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "Download Size  : %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "MD5 Sum        : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "SHA1 Sum       : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "Backup Files:\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "error calculating checksums for %s\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "MODIFIED\t%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "Not Modified\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "MISSING\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(none)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "No changelog available for '%s'.\n" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "usage:  %s {-h --help}\n" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "        %s {-V --version}\n" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "        %s {-A --add}     [options] <file>\n" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "        %s {-F --freshen} [options] <file>\n" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "        %s {-Q --query}   [options] [package]\n" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "        %s {-R --remove}  [options] <package>\n" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "        %s {-S --sync}    [options] [package]\n" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "        %s {-U --upgrade} [options] <file>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"use '%s --help' with other options for more syntax\n" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "usage:  %s {-A --add} [options] <file>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "options:\n" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps         skip dependency checks\n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "  -f, --force          force install, overwrite conflicting files\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "usage:  %s {-R --remove} [options] <package>\n" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "" -"  -c, --cascade        remove packages and all packages that depend on them\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly         only remove database entry, do not remove files\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "  -n, --nosave         remove configuration files as well\n" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "usage:  %s {-F --freshen} [options] <file>\n" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "usage:  %s {-U --upgrade} [options] <file>\n" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "usage:  %s {-Q --query} [options] [package]\n" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog      view the changelog of a package\n" - -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "                       required by any package\n" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "  -g, --groups         view all members of a package group\n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "  -i, --info           view package information\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "  -l, --list           list the contents of the queried package\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -"(s)\n" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "  -o, --owns <file>    query the package that owns <file>\n" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "  -p, --file <package> query a package file instead of the database\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "  -u, --upgrades       list all packages that can be upgraded\n" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "usage:  %s {-S --sync} [options] [package]\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly    install dependencies only\n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" -"  -s, --search <regex> search remote repositories for matching strings\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "  -u, --sysupgrade     upgrade all packages that are out of date\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "" -"  -y, --refresh        download fresh package databases from the server\n" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "      --config <path>  set an alternate configuration file\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "      --noconfirm      do not ask for any confirmation\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "" -"      --noprogressbar  do not show a progress bar when downloading files\n" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose        be verbose\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "  -r, --root <path>    set an alternate installation root\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "  -b, --dbpath <path>  set an alternate database location\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "      --cachedir <dir> set an alternate package cache location\n" - -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "" -"                       This program may be freely redistributed under\n" - -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "                       the terms of the GNU General Public License\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "'%s' is not a valid debug level" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "'%s' is not a valid cache directory\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "'%s' is not a valid db path\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "'%s' is not a valid root path\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "only one operation may be used at a time\n" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "warning: current locale is invalid; using default \"C\" locale" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "failed to initialise alpm library (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "you cannot perform this operation unless you are root.\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "failed to parse config (%s)\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Targets  :" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "could not register 'local' database (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "no targets specified (use -h for help)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "no operation specified (use -h for help)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "no file was specified for --owns\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "failed to read file '%s': %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "%s is owned by %s %s\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "No package owns %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "no usable package repositories configured.\n" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Checking for package upgrades..." - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "no upgrades found" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "group \"%s\" was not found\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "no package file was specified for --file\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "failed to load package '%s' (%s)\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "package \"%s\" not found\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: group %s:\n" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    Remove whole content? [Y/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: Remove %s from group %s? [Y/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "failed to init transaction (%s)\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "failed to add target '%s' (%s)\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s is required by %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "Targets:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"Do you want to remove these packages? [Y/n] " - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "Do you want to remove old packages from cache? [Y/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "removing old packages from cache... " - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "could not access cache directory\n" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "Do you want to remove all packages from cache? [Y/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "removing all packages from cache... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "could not remove cache directory\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "could not create new cache directory\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "failed to synchronise %s: %s\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "failed to update %s (%s)\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " %s is up to date\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "repository '%s' does not exist\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "package '%s' was not found in repository '%s'\n" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "package '%s' was not found\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "repository \"%s\" was not found.\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: Synchronising package databases...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "synchronising package lists" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "failed to synchronise any databases" - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: Starting full system upgrade...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "starting full system upgrade" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: It is recommended that you allow pacman to upgrade itself\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr ":: first, then you can re-run the operation with the newer version.\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: Upgrade pacman first? [Y/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: Install whole content? [Y/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: Install %s from group %s? [Y/n] " - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': not found in sync db\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "requires" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr " local database is up to date\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"Beginning download...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "Proceed with download? [Y/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"Beginning upgrade process...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "Proceed with installation? [Y/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "checking dependencies... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "checking for file conflicts... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "cleaning up... " - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "resolving dependencies... " - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "looking for inter-conflicts... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "installing %s... " - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "installed %s (%s)" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "removing %s... " - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "removed %s (%s)" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "upgrading %s... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "upgraded %s (%s -> %s)" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "checking package integrity... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "failed.\n" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Retrieving packages from %s...\n" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr ":: %s is in IgnorePkg. Install anyway? [Y/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: Replace %s with %s/%s? [Y/n] " - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s conflicts with %s. Remove %s? [Y/n] " - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "installing" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "upgrading" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "removing" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "checking for file conflicts" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "None\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Remove:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"Total Removed Size:   %.2f MB\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"Total Package Size:   %.2f MB\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "Total Installed Size:   %.2f MB\n" - -#~ msgid "requires: %s" -#~ msgstr "requires: %s" - -#~ msgid "'%s': %s\n" -#~ msgstr "'%s': %s\n" - -#~ msgid "Installed Size : %ld K\n" -#~ msgstr "Installed Size : %ld K\n" - -#~ msgid "is required by" -#~ msgstr "is required by" diff --git a/src/pacman/po/es.po b/src/pacman/po/es.po deleted file mode 100644 index 3ee3f6e3..00000000 --- a/src/pacman/po/es.po +++ /dev/null @@ -1,1124 +0,0 @@ -# translation of es.fix.po to -# Spanish translation for pacman package. -# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package manager package. -# -# Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>, 2007. -# Juan Pablo González Tognarelli <jotapesan@gmail.com>, 2007. -msgid "" -msgstr "" -"Project-Id-Version: es.fix\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2007-04-29 11:20-0400\n" -"Last-Translator: Juan Pablo González Tognarelli <jotapesan@gmail.com>\n" -"Language-Team:  <es@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Spanish\n" -"X-Poedit-Country: CHILE\n" -"X-Generator: KBabel 1.11.4\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"       Si está seguro que no se está ejecutando pacman,\n" -"       puede eliminar %s%s\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "Cargando información del paquete..." - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "fallo al procesar '%s' (%s)" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "Hecho.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "fallo al preparar operación (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: necesita %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: tiene conflictos con %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s existe en '%s' y '%s'\n" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s existe en el sistema de archivos\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -#, fuzzy -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "ocurrieron errores, los paquetes no fueron actualizados\n" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr "" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, fuzzy, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "no se pudo iniciar la operación (%s)\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, fuzzy, c-format -msgid "failed to release transaction (%s)\n" -msgstr "fallo al preparar operación (%s)\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "" - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "" - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "" - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, fuzzy, c-format -msgid "Name           : %s\n" -msgstr "Nombre            : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "Versión           : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL               : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Licencia          :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Grupos            :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "Provee            :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "Depende De        :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "Elimina           :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "Requerido por     :" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Conflictos con    :" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Tamaño instalado  : %6.2f K\n" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "Empaquetador      : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Arquitectura      : %s\n" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Fecha de compilación : %s %s\n" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Tipo de compilación  : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Fecha de instalación : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Tipo de instalación  : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Script de instalación: %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Si" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "No" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Repositorio    : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "Reemplaza     :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "Tamaño de la descarga  : %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "Hash MD5 Sum    : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "Hash SHA1      : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "Archivos de respaldo:\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "error calculando la verificación para %s\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "MODIFICADOt%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "No Modificado\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "FALTANTE\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(nada)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "No hay registro de cambios para '%s'.\n" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "" - -#: src/pacman/pacman.c:93 -#, fuzzy, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:94 -#, fuzzy, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:95 -#, fuzzy, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:96 -#, fuzzy, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:97 -#, fuzzy, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"digite '%s --help' con otra opción para ayuda más especÃfica\n" - -#: src/pacman/pacman.c:101 -#, fuzzy, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, fuzzy, c-format -msgid "options:\n" -msgstr "opciones" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps         se salta la verificación de dependencias \n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" -"  -f, --force          fuerza la instalación, sobreescribiendo los archivos " -"en conflicto\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "" -"  -c, --cascade        quita paquetes, junto a todos los que dependan de " -"estos\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly         sólo quita la referencia en la base de datos. No " -"elimina archivos\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "  -n, --nosave         quita también los archivos de  configuración\n" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive      quita también las dependencias (que no quiebren a " -"otros paquetes)\n" - -#: src/pacman/pacman.c:115 -#, fuzzy, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:117 -#, fuzzy, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:123 -#, fuzzy, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog      muestra el registro de cambios de un paquete\n" - -#: src/pacman/pacman.c:126 -#, fuzzy, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" -"  -e, --orphans        lista todos los paquetes instalados como " -"dependencias, que ya no lo son\n" -"                             requerido por cualquier paquete\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "" -"  -g, --groups         muestra todos los elementos del grupo de paquetes \n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "  -i, --info           ver la información del paquete\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "" -"  -l, --list           lista los archivos contenidos en los paquetes " -"consultados\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign        lista paquetes instalados no encontrados en las " -"listas de paquetes\n" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "" -"  -o, --owns <file>    consulta el paquete que contiene el archivo  " -"indicado\n" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" -"  -p, --file <paquete> consulta un archivo de paquetes en lugar de la base " -"de datos\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" -"  -s, --search <busca> busca paquetes instalados localmente que coincidan " -"con la cadena\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "" -"  -u, --upgrades       muestra todos los paquetes que pueden ser " -"actualizados\n" - -#: src/pacman/pacman.c:137 -#, fuzzy, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "uso:     %s {-R --remove} [opciones] <paquete>\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean          elimina paquetes antiguos del directorio de la cache " -"(-cc para todos los paquetes)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly    instala sólo dependencias\n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "  -l, --list <repo>    ve una lista de paquetes en un repositorio\n" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris     muestra las URIs (nombres de paquetes) para los " -"archivos indicados y sus  dependencias\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" -"  -s, --search <busca> busca en los repositorios remotos por coincidencias " -"de la cadena especificada.\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "" -"  -u, --sysupgrade     actualiza todos los paquetes que no están al dÃa\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" -"  -w, --downloadonly   sólo descarga los paquetes, sin  instalar/actualizar " -"nada\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "" -"  -y, --refresh        descarga bases de datos actualizadas desde el " -"servidor\n" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" -"      --ignore <pkg>   ignora una actualización de paquete (puede ser usado " -"más de una vez)\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "      --config <ruta>  define un archivo de configuración alterno\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "      --noconfirm      no solicita confirmación alguna\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask <número>   pre-define respuestas para preguntas (ver el manual)\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "" -"      --noprogressbar  no muestra la barra de progreso cuando descarga " -"archivos\n" - -#: src/pacman/pacman.c:157 -#, fuzzy, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" -"      --noscriptlet    no ejecuta el script de instalación si existe alguno\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose        mostrar todo\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "  -r, --root <path>    define una raiz alterna para la instalación\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "" -"  -b, --dbpath <path>  define una localización alternativa de la base de " -"datos\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "" -"      --cachedir <dir> define una ruta alternativa para la localización de " -"los archivos\n" - -#: src/pacman/pacman.c:174 -#, fuzzy, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "" -"                       Este programa puede ser libremente distribuido bajo\n" -"                       los términos de la licencia GNU General Public " -"License\n" - -#: src/pacman/pacman.c:175 -#, fuzzy, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "" -"                       Este programa puede ser libremente distribuido bajo\n" -"                       los términos de la licencia GNU General Public " -"License\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "'%s' no es un nivel de depuración válido" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "'%s' no es un directorio de cache válido\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "%s' no es una ruta de base de datos válida\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "'%s' no es una ruta de raÃz válida\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "sólo una operación puede utilizarse a la vez\n" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "falló al iniciar la libreria alpm (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "no puede realizar esta operación, a menos que sea root.\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "falló al analizar la configuración (%s)\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Objetivos  : " - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "no se pudo registrar la base de datos 'local' (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "no se especificaron objetivos (use -h para ayuda)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "no se especificó una operación (utilice -h para ayuda)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "no se indico un archivo para --owns\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "no se pudo leer el archivo  '%s': %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "no se pudo determinar el propietario de un directorio" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "no se pudo determinar la ruta verdadera para '%s': %s" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "%s es propiedad de %s %s\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "Ningún paquete posee %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "no se encontraron repositorios útiles configurados.\n" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Verificando actualizaciones de paquetes..." - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "no se encontraron actualizaciones" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "el grupo \"%s\" no fue encontrado\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "no se especificó un archivo de paquetes para --file\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "error al cargar el paquete '%s' (%s)\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "el paquete  \"%s\" no fue encontrado\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: grupo %s:\n" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    ¿Quitar todo el contenido? [Y/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: ¿Quitar %s del grupo %s? [Y/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "no se pudo iniciar la operación (%s)\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "fallo al procesar '%s' (%s)\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s es requerido por %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "A instalar:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"¿Quiere eliminar estos paquetes? [Y/n] " - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "Desea quitar los paquetes antiguos de la cache? [Y/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "quitando paquetes antiguos de la cache..." - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "no se pudo acceder al directorio de la cache de paquetes\n" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "Desea borrar todos los paquetes de la cache? [Y/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "quitando todos los paquetes de la cache... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "no se pudo eliminar el directorio de la cache\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "no se pudo crear el nuevo directorio de la cache\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "falló al sincronizar %s: %s\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "falló al actualizar %s (%s)\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " %s esta actualizado\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "el repositorio  '%s' no existe\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "el paquete  '%s' no fue encontrado en el repositorio '%s'\n" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "El paquete '%s' no fue encontrado\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "el repositorio \"%s\" no fue encontrado.\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: Sincronizando las bases de datos de paquetes...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "sincronizando la lista de paquetes" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "falló al sincronizar cualquier base de datos." - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: iniciando actualización completa del sistema...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "iniciando la actualización completa del sistema" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: pacman ha detectado una nueva versión del paquete  \"pacman\".\n" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: es recomendado que permita a pacman actualizarse a si mismo\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr "" -":: primero, después puedes volver a ejecutar la operación con la nueva " -"versión.\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: ¿Actualizar pacman primero? [Y/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: ¿Instalar el todo el contenido? [Y/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: ¿Instalar %s del grupo %s? [Y/n] " - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': no encontrado en la lista de paquetes\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "necesita" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr " el sistema está actualizado\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"Empezando la descarga...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "¿Continuar con la descarga? [Y/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"Empezando proceso de actualización...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "¿Continuar con la instalación? [Y/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "comprobando dependencias... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "verificando si existen conflictos entre archivos... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "limpiando..." - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "resolviendo dependencias... " - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "verificando conflictos... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "instalando %s..." - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "instalado %s (%s)" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "quitando %s..." - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "eliminado %s (%s)" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "actualizando %s... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "actualizado %s (%s -> %s)" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "Verificando la integridad de los paquetes... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "falló.\n" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Descargando paquetes desde %s...\n" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr "" -":: %1$s requiere %2$s que en los paquetes a ignorar (IgnorePkg). ¿Instalar %2" -"$s? [Y/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr ":: %s esta en la lista a ignorar. ¿Instalar de todas formas? [Y/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr "" -":: %s esta indicado como paquete a mantener. ¿Quitar de todas formas? [Y/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: ¿Reemplazar %s con %s/%s? [Y/n] " - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s provoca conflictos con  %s. ¿Quitar %s? [Y/n]" - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: la versión local es mas reciente. ¿Actualizar de todas formas? [Y/" -"n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: la versión local esta actualizada. ¿Actualizar de todas formas? [Y/" -"n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: El Archivo %s esta corrupto. Desea borrarlo? [Y/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "instalando" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "actualizando" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "quitando" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "verificando conflictos entre archivos" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "Nada\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Se quitará:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"Tamaño total eliminado:   %.2f MB\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"Tamaño total de paquetes:   %.2f MB\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "Tamaño total instalado:   %.2f MB\n" - -#~ msgid "file" -#~ msgstr "archivo" - -#~ msgid "package" -#~ msgstr "paquete" - -#~ msgid "usage" -#~ msgstr "uso" - -#~ msgid "operation" -#~ msgstr "operación" diff --git a/src/pacman/po/fr.po b/src/pacman/po/fr.po deleted file mode 100644 index 85efa2a0..00000000 --- a/src/pacman/po/fr.po +++ /dev/null @@ -1,1459 +0,0 @@ -# French translations for Pacman package manager package. -# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package manager package. -# Enda <enda@netou.com>, 2006 -# -# This is a revision of pacman's French translation by nam <37ii11@altern.org> -# on the basis of the work of solsTiCe d'hiver <solstice.dhiver@laposte.net> -msgid "" -msgstr "" -"Project-Id-Version: pacman\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2007-04-20 15:02+0100\n" -"Last-Translator: nam <37ii11@altern.org>\n" -"Language-Team: solsTiCe d'Hiver <solstice.dhiver@laposte.net>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: French\n" -"X-Poedit-Country: FRANCE\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"       Si vous êtes sûr que le gestionnaire de paquet n'est pas déjà\n" -"       en cours de fonctionnement, vous pouvez supprimer %s%s\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "Chargement des données du paquet... " - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "l'ajout de la cible '%s' (%s) a échoué" - -# "fait" est incompréhensible -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "terminé.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "la préparation de la transaction a échoué (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: requiert %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: est en conflit avec %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s est présent à la fois dans '%s' et '%s'\n" - -# id. -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s est déjà présent dans le système de fichiers\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" -"\n" -"Des erreurs se sont produites, aucun paquet n'a été mis à jour.\n" - -# improbable (mais pas impossible) que seul 1 Mo soit disponible; par défaut, le pluriel est meilleur. A disposition remplace disponible pour éviter le problème. -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr ":: %.1f Mo nécessaires, %.1f Mo à disposition" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "la validation de la transaction a échoué (%s)\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "la libération de la transaction a échoué (%s)\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "Débogage" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "Erreur" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "Avertissement" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "Fonction" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "O" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "OUI" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "Erreur: " - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "Avertissement: " - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "Explicitement installé" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "Installé comme dépendance d'un autre paquet" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "Inconnu" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "Description           : " - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "Nom                   : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "Version               : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL                   : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Licence               :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Groupes               :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "Fournit               :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "Dépend de             :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "Supprime              :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "Requis par            :" - -# Plus compréhensible... -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Incompatible avec     :" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Taille (installé)     : %6.2f K\n" - -# qu'en dites-vous? -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "Paqueteur             : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Architecture          : %s\n" - -# En français, "construire" un programme n'a pas beaucoup de sens, on le compile -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Compilé le            : %s %s\n" - -# En français, "construire" un programme n'a pas beaucoup de sens, on le compile -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Type de compilation   : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Installé le           : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Motif d'installation  : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Script d'installation : %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Oui" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "Non" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Dépôt                 : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "Remplace              :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "A télécharger         : %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "somme MD5             : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "somme SHA1            : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "Fichiers de sauvegarde:\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "erreur lors du calcul des sommes de contrôle pour %s\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "MODIFIÉ\t%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "Non modifié\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "MANQUANT:\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(Aucun)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "Changelog: non disponible pour '%s'.\n" - -# "Utilisation" pour "usage", suggéré par nano, excellement traduit -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "Utilisation:  %s {-h --help}\n" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "        %s {-V --version}\n" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "        %s {-A --add}     [options] <fichier>\n" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "        %s {-F --freshen} [options] <fichier>\n" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "        %s {-Q --query}   [options] [package]\n" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "        %s {-R --remove}  [options] <package>\n" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "        %s {-S --sync}    [options] [package]\n" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "        %s {-U --upgrade} [options] <fichier>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"Utilisez '%s --help' avec d'autres options pour une syntaxe plus détaillée.\n" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "Utilisation:  %s {-A --add} [options] <fichier>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "Options:\n" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps             ne vérifie pas les dépendances\n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" -"  -f, --force              force l'installation, en écrasant les fichiers en " -"conflit\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "Utilisation:  %s {-R --remove} [options] <paquet>\n" - -# . -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "" -"  -c, --cascade            supprime les paquets ainsi que tous ceux qui en " -"dépendent\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly             supprime uniquement les entrées dans la base de " -"données, et non les fichiers\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "" -"  -n, --nosave             supprime également les fichiers de configuration\n" - -# Formule modifiée, sens préservé! -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive          supprime également les paquets qui ne dépendent " -"que de celui-ci\n" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "Utilisation:  %s {-F --freshen} [options] <fichier>\n" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "Utilisation:  %s {-U --upgrade} [options] <fichier>\n" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "Utilisation:  %s {-Q --query} [options] [package]\n" - -# pour être cohérent -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog          affiche le Changelog du paquet\n" - -# id. -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" -"  -e, --orphans            liste tous les paquets qui ont été installés " -"comme des dépendances\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "" -"                           et qui ne sont plus requis par aucun paquet\n" - -# id. -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "" -"  -g, --groups             affiche tous les éléments d'un groupe de paquet\n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "" -"  -i, --info               affiche les informations concernant un paquet\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "  -l, --list               liste le contenu du paquet interrogé\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign            liste les paquets non trouvés dans la ou les " -"bases de données de synchronisation\n" - -# il ne peut y en avoir qu'un seul... -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "" -"  -o, --owns <fichier>     recherche le paquet contenant le fichier " -"<fichier>\n" - -# pour être cohérent... -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" -"  -p, --file <paquet>      interroge le fichier <paquet> au lieu de la base " -"de données\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" -"  -s, --search <regex>     recherche la chaîne correspondante dans les " -"paquets installés localement\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "" -"  -u, --sysupgrade         liste tous les paquets pouvant être mis à jour\n" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "Utilisation:  %s {-S --sync} [options] [paquet]\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean              supprime les paquets obsolètes du répertoire de " -"cache (-cc pour tous)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly        n'installe que les dépendances\n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "" -"  -l, --list <repo>        donne une liste de tous les paquets d'un dépôt\n" - -# plus clair -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris         affiche les URIs pour les paquets donnés et pour " -"leurs dépendances\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" -"  -s, --search <regex>     recherche la chaîne correspondante dans les " -"dépôts distants\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "  -u, --sysupgrade         met à jour tous les paquets obsolètes\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" -"  -w, --downloadonly       ne fait que télécharger les paquets, sans rien " -"installer ni mettre à jour\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "" -"  -y, --refresh            télécharge les dernières bases de données depuis " -"le serveur\n" - -# moins fidèle, mais plus précis (je changerais l'anglais aussi ici) -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" -"      --ignore <paquet>    ignore un paquet lors de la mise à jour (peut " -"être utilisé plus d'une fois)\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "" -"      --config <chemin>    impose un fichier de configuration alternatif\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "      --noconfirm          ne demande aucune confirmation\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask <nombre>       spécifie à l'avance la réponses à certaines " -"questions (voir la page de manuel)\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "" -"      --noprogressbar      n'affiche pas la barre de progression pendant le " -"téléchargement\n" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" -"      --noscriptlet        n'exécute pas le script d'installation, si le " -"paquet en contient\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose            affiche plus de détails\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "" -"  -r, --root <chemin>      impose un répertoire d'installation alternatif\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "" -"  -b, --dbpath <chemin>    impose un emplacement alternatif pour les bases " -"de données\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "      --cachedir <dir>     impose un répertoire cache alternatif\n" - -# traduction officielle de la GPL -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "                       Ce programme peut être librement diffusé sous\n" - -# id. -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "" -"                       les termes de la Licence publique générale GNU (GNU " -"GPL)\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "'%s' n'est pas un niveau de débogage valide" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "'%s' n'est pas un répertoire de cache valide\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "'%s' n'est pas un chemin valide vers la base de données\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "'%s' n'est pas un chemin racine valide\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "une seule opération peut être effectuée à la fois\n" - -# localisation est la traduction officielle -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "" -"Avertissement: la localisation courante n'est pas valide; la localisation " -"par défaut \"C\" sera utilisée." - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "l'initialisation de la librairie alpm a échoué (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "vous ne pouvez effectuer cette opération à moins d'être root.\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "la lecture de la configuration a échoué (%s)\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Cibles   :" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "l'enregistrement de la base de données 'local' a échoué (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "aucune cible spécifiée (utiliser -h pour obtenir de l'aide)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "aucune opération spécifiée (utiliser -h pour obtenir de l'aide)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "aucun fichier spécifié pour --owns\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "échec de lecture du fichier '%s': %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "ne peut déterminer le propriétaire d'un répertoire" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "ne peut déterminer le vrai chemin pour '%s': %s" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "%s appartient à %s %s\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "Aucun paquet ne contient %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "aucun dépôt de paquets utilisable n'a été défini.\n" - -# le sens est plus clair -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Vérification des mises à jour disponibles... " - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "pas de mises à jour trouvées" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "Le groupe \"%s\" n'a pas été trouvé\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "aucun fichier du paquet spécifié pour --file\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "le chargement du paquet '%s' (%s) a échoué\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "paquet \"%s\" introuvable\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: Groupe %s:\n" - -# pour être cohérent -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    Supprimer tout le contenu? [O/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: Supprimer %s du groupe %s? [O/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "l'initialisation de la transaction a échoué (%s)\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "l'ajout de la cible '%s' (%s) a échoué\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s est requis par %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "Cibles:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"Voulez-vous désinstaller ces paquets? [O/n] " - -# pour être cohérent -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "Voulez vous supprimer du cache les paquets obsolètes? [O/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "Suppression du cache des paquets obsolètes... " - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "l'accès au répertoire du cache a échoué\n" - -# id. -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "Voulez-vous supprimer du cache tous les paquets? [O/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "Suppression du cache de tous les paquets... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "la suppression du répertoire de cache a échoué\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "la création du nouveau répertoire de cache a échoué\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "la synchronisation %s: %s a échoué\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "la mise à jour de %s (%s) a échoué\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " %s est à jour;\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "le dépôt '%s' n'a pas été trouvé\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "le paquet '%s' n'a pas été trouvé dans le dépôt '%s'\n" - -# pour être cohérent -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "le paquet \"%s\" n'a pas été trouvé.\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "le dépôt \"%s\" n'a pas été trouvé.\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: Synchronisation des bases de données de paquets...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "Synchronisation des listes de paquets" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "la synchronisation a échoué" - -# un processus ne démarre pas (les véhiculent démarrent), il débute -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: Début de la mise à jour complète du système...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "Début de la mise à jour complète du système" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: pacman a détecté une version plus récente du paquet \"pacman\".\n" - -# moins littéral, mais plus explicite -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: Il est recommandé de mettre d'abord pacman à jour\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr ":: puis de relancer l'opération avec la nouvelle version.\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: Mettre à jour pacman d'abord? [O/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: Installer tout le contenu? [O/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: Installer %s du groupe %s? [O/n] " - -# pour être cohérent -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': non trouvé dans la base de données de synchronisation\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "requiert" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr "La base de données locale est à jour.\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"Début du téléchargement...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "Procéder au téléchargement? [O/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"Début du processus de mise à jour...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "Procéder à l'installation? [O/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "Vérification des dépendances... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "Recherche des conflits de fichiers... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "Nettoyage... " - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "Résolution des dépendances... " - -# la formulation anglaise non plus n'est pas claire... -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "Recherche des conflits possibles entre paquets... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "Installation de %s... " - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "%s installé (%s)" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "Désinstallation de %s... " - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "%s désinstallé (%s)" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "Mise à jour de %s... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "%s mis à jour (%s -> %s)" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "Analyse de l'intégrité des paquets... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "Échec.\n" - -# pas du tout littéral, mais plus compréhensible -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Récupération des paquets du dépôt %s...\n" - -# plus clair -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr "" -":: %1$s requiert %2$s, défini comme paquet à ignorer (IgnorePkg). Installer %" -"2$s tout de même? [O/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr "" -":: %s est défini comme paquet à ignorer (IgnorePkg). L'installer tout de " -"même? [O/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr "" -":: %s est indiqué comme paquet à conserver (HoldPkg). Le supprimer tout de " -"même? [O/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: Remplacer %s avec %s/%s? [O/n] " - -# pour être cohérent -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s est en conflit avec %s. Supprimer %s? [O/n] " - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: la version locale est plus récente. Mettre à jour tout de même? [O/" -"n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: la version locale est à jour. Mettre à jour tout de même? [O/n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: L'archive %s est corrompue. Voulez vous l'effacer? [O/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "Installation" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "Mise à jour" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "Désinstallation" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "Analyse des conflits entre fichiers" - -# bon, on peut discuter là dessus; mais pacman -Qi avec tous ses "aucun" est vraiment trop laid... je le préfère comme ça -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "--\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Suppression:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"Taille totale des paquets supprimés:   %.2f Mo\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"Taille totale des paquets:   %.2f Mo\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "Taille totale des paquets installés:   %.2f Mo\n" - -#~ msgid "requires: %s" -#~ msgstr "requiert: %s" - -#~ msgid "'%s': %s\n" -#~ msgstr "'%s': %s\n" - -#~ msgid "is required by" -#~ msgstr "est requit par" - -#, fuzzy -#~ msgid "Installed Size : %ld K\n" -#~ msgstr "Taille d'installation : %ld K\n" - -#~ msgid "memory allocation failure\n" -#~ msgstr "erreur d'allocation mémoire\n" - -#~ msgid "add target %s\n" -#~ msgstr "ajout de la cible %s\n" - -#~ msgid "could not add target (%s)\n" -#~ msgstr "n'a pas pu ajouter la cible (%s)\n" - -#~ msgid "conflict: %s" -#~ msgstr "conflit: %s" - -#~ msgid "could not release transaction (%s)" -#~ msgstr "n'a pas pu libérer la transaction (%s)" - -#~ msgid "Size           : %ld\n" -#~ msgstr "Taille         : %ld\n" - -#~ msgid "Reason         : " -#~ msgstr "Raison         : " - -#~ msgid "Unknown\n" -#~ msgstr "Inconnu\n" - -#~ msgid "NOT " -#~ msgstr "N'EST PAS" - -#~ msgid "Name              : %s\n" -#~ msgstr "Nom                  : %s\n" - -#~ msgid "Groups            :" -#~ msgstr "Groupes           :" - -#~ msgid "Provides          :" -#~ msgstr "Forunit             :" - -#~ msgid "Depends On        :" -#~ msgstr "Depend De         :" - -#~ msgid "Removes           :" -#~ msgstr "Supprimer          :" - -#~ msgid "Conflicts With    :" -#~ msgstr "Conflits Avec      :" - -#~ msgid "Size (compressed) : %ld\n" -#~ msgstr "Taille (compressé) : %ld\n" - -#~ msgid "Size (uncompressed):%ld\n" -#~ msgstr "Taille (décompressé):%ld\n" - -#~ msgid "                      looking in the database\n" -#~ msgstr "                      rechercher dans la base de données\n" - -#~ msgid "bad root path" -#~ msgstr "mauvais répertoire racine" - -#~ msgid "failed to set option LOGMASK (%s)\n" -#~ msgstr "échec d'affectation de l'option LOGMASK (%s)\n" - -#~ msgid "failed to set option LOGCB (%s)\n" -#~ msgstr "échec d'affectation de l'option LOGCB (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLCB (%s)\n" -#~ msgstr "échec d'affectation de l'option LOGCB (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLFNM (%s)\n" -#~ msgstr "échec d'affectation de l'option LOGFILE (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLOFFSET (%s)\n" -#~ msgstr "échec d'affectation de l'option LOGFILE (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLT0 (%s)\n" -#~ msgstr "échec d'affectation de l'option DBPATH (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLT (%s)\n" -#~ msgstr "échec d'affectation de l'option DBPATH (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLRATE (%s)\n" -#~ msgstr "échec d'affectation de l'option DBPATH (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLXFERED1 (%s)\n" -#~ msgstr "échec d'affectation de l'option LOGFILE (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLETA_H (%s)\n" -#~ msgstr "échec d'affectation de l'option DBPATH (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLETA_M (%s)\n" -#~ msgstr "échec d'affectation de l'option DBPATH (%s)\n" - -#, fuzzy -#~ msgid "failed to set option DLETA_S (%s)\n" -#~ msgstr "échec d'affectation de l'option LOGMASK (%s)\n" - -#~ msgid "failed to set option IGNOREPKG (%s)\n" -#~ msgstr "échec d'affectation de l'option IGNOREPKG (%s)\n" - -#~ msgid "%s is not a file.\n" -#~ msgstr "%s n'est pas un fichier.\n" - -#~ msgid "" -#~ "\n" -#~ "Targets:" -#~ msgstr "" -#~ "\n" -#~ "Cibles:" - -#~ msgid ":: Starting local database upgrade...\n" -#~ msgstr ":: Démarrage de la mise à jour de base de données locale...\n" - -#~ msgid "could not add target '%s': %s\n" -#~ msgstr "n'a pas pu ajouter la cible '%s': %s\n" - -#~ msgid "" -#~ "\n" -#~ "Targets: " -#~ msgstr "" -#~ "\n" -#~ "Cibles: " - -#~ msgid "" -#~ "\n" -#~ "Total Uncompressed Package Size:   %.1f MB\n" -#~ msgstr "" -#~ "\n" -#~ "Taille Totale du Paquet Décompressé:   %.1f MB\n" - -#~ msgid "Proceed with upgrade? [Y/n] " -#~ msgstr "Procéder aux mises à jour? [O/n] " - -#~ msgid "failed to allocated %d bytes\n" -#~ msgstr "échec lors de l'allocation de %d bytes\n" - -#~ msgid "config: new section '%s'\n" -#~ msgstr "config: nouvelle section '%s'\n" - -#~ msgid "config: line %d: bad section name\n" -#~ msgstr "config: ligne %d: mauvais nom de section\n" - -#~ msgid "" -#~ "config: line %d: '%s' is reserved and cannot be used as a package tree\n" -#~ msgstr "" -#~ "config: ligne %d: '%s' est réservé et ne peut être utilisé comme " -#~ "arborescence de paquet\n" - -#~ msgid "config: line %d: syntax error\n" -#~ msgstr "config: ligne %d: erreur de syntaxe\n" - -#~ msgid "config: line %d: all directives must belong to a section\n" -#~ msgstr "" -#~ "config: ligne %d: toutes les instructions doivent être relatives à la " -#~ "section\n" - -#~ msgid "failed to set option USESYSLOG (%s)\n" -#~ msgstr "échec d'affection de l'option USESYSLOG (%s)\n" - -#~ msgid "config: including %s\n" -#~ msgstr "config: inclusion de %s\n" - -#~ msgid "failed to set option NOUPGRADE (%s)\n" -#~ msgstr "échec d'affectation de l'option NOUPGRADE (%s)\n" - -#~ msgid "failed to set option NOEXTRACT (%s)\n" -#~ msgstr "échec d'affectation de l'option NOEXTRACT (%s)\n" - -#~ msgid "config: log file: %s\n" -#~ msgstr "config: fichier de log: %s\n" - -#~ msgid "failed to set option UPGRADEDELAY (%s)\n" -#~ msgstr "échec d'affectation de l'option UPGRADEDELAY (%s)\n" - -#~ msgid "" -#~ "Warning: UpgradeDelay is very high.\n" -#~ "If a package is updated often it will never be upgraded.\n" -#~ "Manually update such packages or use a lower value to avoid this " -#~ "problem.\n" -#~ msgstr "" -#~ "Avertissement: UpgradeDelay est très élevé.\n" -#~ "Si un paquet est mis à jour souvent, ces mise à jour ne seront jamais " -#~ "appliquée.\n" -#~ "Mettez à jour ces paquets manuellement ou utilisez une valeur plus basse " -#~ "pour résoudre ce problème.\n" - -#~ msgid "config: line %d: bad server location\n" -#~ msgstr "config: ligne %d: mauvais adressage de serveur\n" - -#~ msgid "could not allocate %d bytes\n" -#~ msgstr "n'a pas pu allouer %d bytes\n" - -#~ msgid "config: line %d: protocol %s is not supported\n" -#~ msgstr "config: ligne %d: le protocole %s n'est pas supporté\n" - -#~ msgid "connecting to %s:21\n" -#~ msgstr "connexion à %s:21\n" - -#~ msgid "cannot connect to %s\n" -#~ msgstr "n'a pas pu se connecter à %s\n" - -#~ msgid "anonymous login failed\n" -#~ msgstr "la connexion en utilisateur anonyme à échouée\n" - -#~ msgid "could not cwd to %s: %s\n" -#~ msgstr "n'a pas pu exécuter cwd pour %s: %s\n" - -#~ msgid "failed to set passive mode\n" -#~ msgstr "échec d'application mode passif\n" - -#~ msgid "FTP passive mode not set\n" -#~ msgstr "mode FTP passif non défini\n" - -#~ msgid "connecting to %s\n" -#~ msgstr "connexion à %s\n" - -#~ msgid "connecting to %s:%u\n" -#~ msgstr "connexion à %s:%u\n" - -#~ msgid "could not chdir to %s\n" -#~ msgstr "n'a pas pu exécuter chdir vers %s\n" - -#~ msgid "running command: %s\n" -#~ msgstr "exécution de la commande: %s\n" - -#~ msgid "running XferCommand: fork failed!\n" -#~ msgstr "exécution de XferCommand: échec du fork!\n" - -#~ msgid "XferCommand command returned non-zero status code (%d)\n" -#~ msgstr "" -#~ "la commande XferCommand à retourné un code de statut différent de zéro (%" -#~ "d)\n" - -#~ msgid "failed to get filesize for %s\n" -#~ msgstr "échec de récupération de la taille de fichier pour %s\n" - -#~ msgid "failed to get mtime for %s\n" -#~ msgstr "échec de récupération de la date de modification pour %s\n" - -#~ msgid "mtimes are identical, skipping %s\n" -#~ msgstr "le dates de modifications sont identiques, ignoré %s\n" - -#~ msgid "failed to resume download -- restarting\n" -#~ msgstr "échec de reprise du téléchargement -- redémarrage\n" - -#~ msgid "" -#~ "\n" -#~ "failed downloading %s from %s: %s\n" -#~ msgstr "" -#~ "\n" -#~ "échec du téléchargement de %s depuis %s: %s\n" - -#~ msgid "copying %s to %s/%s\n" -#~ msgstr "copie %s vers %s/%s\n" - -#~ msgid "failed copying %s\n" -#~ msgstr "échec de copie de %s\n" - -#~ msgid " %s is already in the current directory\n" -#~ msgstr " %s est déjà dans le répertoire courant\n" - -#~ msgid "failed to download %s\n" -#~ msgstr "échec lors du téléchargement de %s\n" - -#~ msgid "failed to set option CACHEDIR (%s)\n" -#~ msgstr "échec d'affectation de l'option CACHEDIR (%s)\n" - -#~ msgid "failed to get lastupdate time for %s (no big deal)\n" -#~ msgstr "" -#~ "échec d'obtention de la dernière mise à jour pour %s (ce n'est pas un " -#~ "gros problème)\n" - -#~ msgid "sync: new mtime for %s: %s\n" -#~ msgstr "sync: nouvelle valeur mtime pour %s: %s\n" - -#~ msgid "%s-%s-%s%s is already in the cache\n" -#~ msgstr "%s-%s-%s%s est déjà en cache\n" - -#~ msgid "no %s cache exists.  creating...\n" -#~ msgstr "aucun cache %s existant. Création...\n" - -#~ msgid "warning: no %s cache exists.  creating..." -#~ msgstr "avertissement: aucun cache %s existant, création..." - -#~ msgid "couldn't create package cache, using /tmp instead\n" -#~ msgstr "" -#~ "n'a pas pu créer le cache de paquets, utilisation de /tmp à la place\n" - -#~ msgid "warning: couldn't create package cache, using /tmp instead" -#~ msgstr "" -#~ "avertissement: n'a pas pu créer le cache de paquets, utilisation de /tmp " -#~ "à la place" - -#~ msgid "failed to retrieve some files from %s\n" -#~ msgstr "échec de récupération de certains fichiers depuis %s\n" diff --git a/src/pacman/po/hu.po b/src/pacman/po/hu.po deleted file mode 100644 index 5dc52696..00000000 --- a/src/pacman/po/hu.po +++ /dev/null @@ -1,1078 +0,0 @@ -# Hungarian translations for pacman package. -# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package manager package. -# Miklos Vajna <vmiklos@frugalware.org>, 2006. -# -msgid "" -msgstr "" -"Project-Id-Version: hu\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2006-09-03 13:52+0200\n" -"Last-Translator: Nagy Gabor <ngaba@petra.hos.u-szeged.hu>\n" -"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-2\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"       ha biztos, hogy nem fut egy csomagkezelõ, abban az esetben\n" -"       eltávolíthatja a %s%s fájlt\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "csomag adatainak betöltése... " - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "nem sikerült a(z) '%s' célt hozzáadni a tranzakcióhoz (%s)" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "kész.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "nem sikerült elõkészíteni a tranzakciót (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: igényli a következõt: %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: ütközik a következõvel: %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s létezik ebben: '%s' és ebben: '%s'\n" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s létezik a fájlrendszerben\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" -"\n" -"hibák léptek fel, nem frissült csomag.\n" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr ":: %.1f MB szükséges, %.1f MB áll rendelkezésre" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "nem sikerült végrehajtani a tranzakciót (%s)\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "nem sikerült lezárni a tranzakciót (%s)\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "hibakeresés" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "hiba" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "figyelmeztetés" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "függvény" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "I" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "IGEN" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "hiba: " - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "figyelmeztetés: " - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "Kézzel telepítve" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "Egy másik csomag függõségeként lett telepítve" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "Ismeretlen" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "Leírás          : " - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "Név             : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "Verzió          : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL             : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Licenc          :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Csoportok       :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "Szolgáltatja    :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "Függ            :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "Eltávolítja     :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "Igényli         :" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Ütközik         :" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Helyfoglalás    : %6.2f K\n" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "Csomagoló       : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Architektúra    : %s\n" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Fordítás ideje  : %s %s\n" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Fordítás Típusa : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Telepítés ideje : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Telepítés oka   : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Telepítõ szkript: %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Igen" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "Nem" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Repó            : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "Lecseréli       :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "Tömörített méret: %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "MD5 Sum         : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "SHA1 Sum        : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "Backup fájlok:\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "hiba a(z) %s ellenõrzõ összegének számítása közben\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "MÓDOSÍTVA\t%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "Nem módosítva\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "HIÁNYZIK\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(nincs)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "Nem áll rendelkezésre változási napló a(z) '%s' csomaghoz.\n" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "használat: %s {-h --help}\n" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "           %s {-V --version}\n" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "           %s {-A --add}     [opciók] <fájl>\n" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "           %s {-F --freshen} [opciók] <fájl>\n" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "           %s {-Q --query}   [opciók] [csomag]\n" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "           %s {-R --remove}  [opciók] <csomag>\n" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "           %s {-S --sync}    [opciók] [csomag]\n" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "           %s {-U --upgrade} [opciók] <fájl>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"használja a '%s --help'-et más opciókkal további szintaxishoz\n" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "használat:  %s {-A --add} [opciók] <fájl>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "opciók:\n" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps         függõségi ellenõrzések kihagyása\n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" -"  -f, --force          a telepítés erõltetése, ütközõ fájlok felülírása\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "használat:  %s {-R --remove} [opciók] <csomag>\n" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "" -"  -c, --cascade        a csomagok és az õket igénylõ csomagok eltávolítása\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly         csak az adatbázis-bejegyzést törölje, a fájlokat ne\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "  -n, --nosave         a beállítási fájlokat is törölje\n" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive      a függõségeket is távolítsa el (melyeknél ez " -"biztonságos)\n" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "használat:  %s {-F --freshen} [opciók] <fájl>\n" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "használat:  %s {-U --upgrade} [opciók] <fájl>\n" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "használat: %s {-Q --query} [opciók] [csomag]\n" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog      a változások naplójának megtekintése\n" - -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" -"  -e, --orphans        azon csomagok listázása, amelyek függõségként " -"kerültek\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "" -"                       telepítésre, de most már nem igényli õket más csomag\n" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "  -g, --groups         egy csoport összes tagjának megtekintése\n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "  -i, --info           csomaginformációk megtekintése\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "  -l, --list           a lekérdezett csomag tartalmának listázása\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign        a távoli repókban nem talált telepített csomagok " -"listája\n" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "  -o, --owns <fájl>    a <fájl>-t tartalmazó csomag lekérdezése\n" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" -"  -p, --file <csomag>  a <csomag> csomagfájl lekérdezése az adatbázis " -"helyett\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "  -s, --search <regex> keresés a telepített csomagok között\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "  -u, --upgrades       az összes frissíthetõ csomag listázása\n" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "használat:  %s {-S --sync} [opciók] [csomag]\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean          a régi csomagok törlése a gyorsítótárkönyvtárból\n" -"                       (használja a '-cc'-t az összeshez)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly    csak a függõségek telepítése\n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "  -l, --list <repó>    egy repó csomagjainak listázása\n" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris     listázza az adott csomagok és függõségeik URI-jait\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "  -s, --search <regex> keresés a távoli csomagadatbázisokban\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "  -u, --sysupgrade     az összes elavult csomag frissítése\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "  -w, --downloadonly   csak letöltés, de semmit nem telepít/frissít\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "  -y, --refresh        friss csomagadatbázis letöltése a szerverrõl\n" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" -"      --ignore <csom.> csomagfrissítés mellõzése (többször is használható)\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "      --config <útv.>  alternatív konfigurációs fájl használata\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "      --noconfirm      ne kérjen soha megerõsítést\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask <szám>     elõre megadja a válaszokat kérdésekre (ld. man " -"oldal)\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "" -"      --noprogressbar  ne mutasson folyamatsávot a fájlok letöltése közben\n" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" -"      --noscriptlet    ne futtassa le a telepítési szkriptet, ha van olyan\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose        legyen bõbeszédû\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "" -"  -r, --root <útvonal> alternatív telepítési gyökérkönyvtár beállítása\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "  -b, --dbpath <útv.>  alternatív adatbáziskönyvtár beállítása\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "" -"      --cachedir <kvt> alternatív csomaggyorsítótár-könyvtár beállítása\n" - -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "" -"                       Ezt a programot bárki a General Public License-ben\n" - -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "                       foglaltak alapján szabadon terjesztheti\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "a(z) '%s' nem érvényes hibakeresési szint" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "a '%s' nem érvényes gyorsítótárkönyvtár\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "a '%s' nem érvényes adatbázis útvonal\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "a '%s' nem érvényes gyökérkönyvtár útvonal\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "csak egy mûvelet hajtható végre egyszerre\n" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "nem sikerült inicializálni az alpm könyvtárat (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "ez a mûvelet csak rendszergazdaként hajtható végre.\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "nem sikerült értelmezni a beállítási fájlt (%s)\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Célok    :" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "nem sikerült regisztrálni a 'local' adatbázist (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "nincs megadva egyetlen cél se (használja a '-h'-t segítségért)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "nincs megadva egyetlen mûvelet se (használja a '-h'-t segítségért)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "nincs megadva fájl a --owns számára\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "nem sikerült olvasni a '%s' fájlt: %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "nem sikerült egy könyvtár tulajdonosát megállapítani" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "nem állapítható meg a valódi útvonal a(z) '%s' számára: %s" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "a %s fájlt a %s %s tartalmazza\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "Egyik csomag sem tartalmazza a következõt: %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "egyetlen használható csomagrepó sincs beállítva.\n" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Frissítések keresése... " - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "nem találtam frissítést" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "a(z) \"%s\" csoport nem található\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "nincs megadva csomagfájl a --file számára\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "nem sikerült betölteni a(z) '%s' csomagot (%s)\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "a(z) \"%s\" csomag nem található\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: %s csoport:\n" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    Eltávolítja a teljes tartalmat? [I/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: Eltávolítja %s-t a(z) %s csoportból? [I/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "nem sikerült inicializálni a tranzakciót (%s)\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "nem sikerült a(z) '%s' célt hozzáadni a tranzakcióhoz (%s)\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s-t igényli: %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "Célok:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"El kívánja távolítani ezeket a csomagokat? [I/n] " - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "El kívánja távolítani a régi csomagokat a gyorsítótárból? [I/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "a régi csomagok eltávolítása a gyorsítótárból... " - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "nem sikerült elérni a gyorsítótár könyvtárát\n" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "El kíván távolítani minden csomagot a gyorsítótárból? [I/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "az összes csomag eltávolítása a gyorsítótárból... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "nem sikerült törölni a gyorsítótár könyvtárát\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "nem sikerült létrehozni az új gyorsítótár könyvtárát\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "nem sikerült szinkronizálni %s-t: %s\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "nem sikerült frissíteni a következõt: %s (%s)\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " a(z) %s naprakész\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "a(z) '%s' repó nem létezik\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "a(z) '%s' csomag nem található a(z) '%s' repóban\n" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "a(z) '%s' csomag nem található\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "a(z) \"%s\" repó nem található.\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: A csomagadatbázisok szinkronizálása...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "a csomaglisták szinkronizálása" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "nem sikerült szinkronizálni valamelyik adatbázist" - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: Teljes rendszerfrissítés indítása...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "teljes rendszerfrissítés indítása" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: a pacman egy újabb verzióját észlelte a \"pacman\" csomagnak.\n" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: Ajánlott, hogy engedje, hogy a pacman elõbb saját magát\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr ":: frissítse, majd újra futtathatja a mûveletet az újabb verzióval.\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: Elõször csak a pacman frissítése? [I/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: A teljes tartalom telepítése? [I/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: Telepíti %s-t a(z) %s csoportból? [I/n] " - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': nem található a távoli adatbázisban\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "igényli a következõt:" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr " a helyi adatbázis naprakész\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"A letöltés megkezdése...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "Kezdõdhet a letöltés? [I/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"A frissítési folyamat megkezdése...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "Kezdõdhet a telepítés? [I/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "függõségek vizsgálata... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "fájlütközések vizsgálata... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "takarítás... " - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "függõségek feloldása... " - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "belsõ ütközések keresése... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "%s telepítése... " - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "%s telepítve (%s)" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "%s eltávolítása... " - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "%s eltávolítva (%s)" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "%s frissítése... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "%s frissítve (%s -> %s)" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "csomagok integritásának ellenõrzése... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "sikertelen.\n" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Csomagok letöltése a(z) %s repóból...\n" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr ":: %1$s igényli %2$s-t az IgnorePkg-bõl. Telepíti %2$s-t? [I/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr ":: %s az IgnorePkg része. Mégis telepíti? [I/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr ":: %s HoldPkgnak lett jelölve. Biztosan eltávolítja? [I/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: Lecseréli %s-t erre: %s/%s? [I/n] " - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s ütközik a következõvel: %s. Eltávolítja a %s-t? [I/n] " - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: a helyi verzió újabb. Mégis frissíti? [I/n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: a helyi verzió naprakész. Mégis frissíti? [I/n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: %s sérült. Kívánja törölni? [I/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "telepítés:" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "frissítés:" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "eltávolítás:" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "fájlütközések vizsgálata" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "Nincs\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Eltávolítás:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"Teljes eltávolított méret:   %.2f MB\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"Teljes csomagméret:   %.2f MB\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "Teljes telepített méret:   %.2f MB\n" - -#~ msgid "requires: %s" -#~ msgstr "igényli a következõt: %s" - -#~ msgid "'%s': %s\n" -#~ msgstr "'%s': %s\n" diff --git a/src/pacman/po/it.po b/src/pacman/po/it.po deleted file mode 100644 index f6cef831..00000000 --- a/src/pacman/po/it.po +++ /dev/null @@ -1,1109 +0,0 @@ -# Italian translations for Pacman package manager package. -# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package manager package. -# Giovanni 'voidnull' Scafora <linuxmania@gmail.com>, 2007. -# Alessio 'mOLOk' Bolognino <themolok@gmail.com>, 2007. -# Lorenzo '^zanDarK' Masini <lorenxo86@gmail.com>, 2007. -# -msgid "" -msgstr "" -"Project-Id-Version: Pacman package manager 3.0.0\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2007-03-31 04:00+0100\n" -"Last-Translator: Giovanni Scafora <linuxmania@gmail.com>\n" -"Language-Team: Arch Linux Italian Team <linuxmania@gmail.com>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"        Se il gestore dei pacchetti non è già in funzione,\n" -"        è possibile rimuovere %s%s\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "caricamento dei dati in corso... " - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "impossibile aggiungere il pacchetto '%s' (%s)" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "fatto.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "preparazione non riuscita (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: richiede %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: va in conflitto con %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s è già presente in '%s' e in '%s'\n" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s è già presente nel filesystem\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" -"\n" -"si sono verificati degli errori, nessun pacchetto è stato aggiornato.\n" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr ":: %.1f MB richiesti, spazio a disposizione %.1f MB" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "impossibile eseguire l'operazione richiesta (%s)\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "impossibile annullare l'operazione richiesta (%s)\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "debug" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "errore" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "attenzione" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "funzione" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "Y" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "SI" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "errore: " - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "attenzione: " - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "Installato esplicitamente" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "Installato come dipendenza di un altro pacchetto" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "Sconosciuto" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "Descrizione    : " - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "Nome           : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "Versione       : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL            : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Licenza        :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Gruppi         :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "Fornisce       :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "Dipende da     :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "Rimuove        :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "Richiesto da   :" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Conflitto con  :" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Kb richiesti   : %6.2f K\n" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "Autore         : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Architettura   : %s\n" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Creato il      : %s %s\n" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Tipo           : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Installato il  : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Motivo         : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Script install : %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Si" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "No" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Repository     : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "Sostituisce    :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "Dimensione pkg : %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "Somma MD5      : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "Somma SHA1     : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "File di backup:\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "si è verificato un errore durante il calcolo dei checksum di %s\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "MODIFICATO\t%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "Non modificato\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "MANCANTE\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(nessuno)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "Nessun changelog disponibile per '%s'.\n" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "uso:  %s {-h --help}\n" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "      %s {-V --version}\n" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "      %s {-A --add}     [opzioni] <file>\n" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "      %s {-F --freshen} [opzioni] <file>\n" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "      %s {-Q --query}   [opzioni] [pacchetto]\n" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "      %s {-R --remove}  [opzioni] <pacchetto>\n" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "      %s {-S --sync}    [opzioni] [pacchetto]\n" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "      %s {-U --upgrade} [opzioni] <file>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"usare '%s --help' con le altre opzioni per ottenere maggiori informazioni\n" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "uso:  %s {-A --add} [opzioni] <file>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "opzioni:\n" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps         ignora i controlli sulle dipendenze\n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" -"  -f, --force          forza l'installazione e sovrascrive i file in " -"conflitto\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "uso:  %s {-R --remove} [opzioni] <pacchetto>\n" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "  -c, --cascade        rimuove i pacchetti con tutte le dipendenze\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly         rimuove solo la voce nel database, non rimuove i " -"file\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "  -n, --nosave         rimuove anche i file di configurazione\n" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive      rimuove anche le dipendenze (non richieste altrove)\n" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "uso:  %s {-F --freshen} [opzioni] <file>\n" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "uso:  %s {-U --upgrade} [opzioni] <file>\n" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "uso:  %s {-Q --query} [opzioni] [pacchetto]\n" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog      mostra il changelog di un pacchetto\n" - -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" -"  -e, --orphans        elenca i pacchetti installati che erano dipendenze\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "                       ma non più richiesti da alcun pacchetto\n" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "" -"  -g, --groups         visualizza tutti i membri di un gruppo di pacchetti\n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "  -i, --info           visualizza le informazioni sul pacchetto\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "  -l, --list           elenca i file contenuti nel pacchetto\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign        elenca tutti i pacchetti non trovati nei database\n" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "" -"  -o, --owns <file>    visualizza il pacchetto che contiene il <file>\n" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" -"  -p, --file           interroga il file di pacchetto invece del database\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" -"  -s, --search <regex> cerca nei pacchetti installati le stringhe " -"corrispondenti\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "" -"  -u, --upgrades       elenca tutti i pacchetti che possono essere " -"aggiornati\n" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "uso:  %s {-S --sync} [opzioni] [pacchetto]\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean          rimuove i vecchi pacchetti dalla cache (usare -cc " -"per\n" -"                       rimuoverli tutti)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly    installa solo le dipendenze\n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "" -"  -l, --list <repo>    visualizza la lista dei pacchetti di un repository\n" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris     stampa gli URI dei pacchetti e le loro dipendenze\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" -"  -s, --search <regex> cerca le stringhe corrispondenti nei repository " -"remoti\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "" -"  -u, --sysupgrade     aggiorna tutti i pacchetti installati nel sistema\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" -"  -w, --downloadonly   scarica i pacchetti senza installarli/aggiornarli\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "" -"  -y, --refresh        scarica dal server i database aggiornati dei " -"pacchetti\n" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "      --ignore <pkg>   ignora l'aggiornamento di un pacchetto\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "      --config <path>  imposta un file di configurazione alternativo\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "      --noconfirm      non chiede alcuna conferma\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask <numero>   specifica in anticipo le risposte alle domande\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "      --noprogressbar  non visualizza la barra di avanzamento\n" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "      --noscriptlet    non esegue un eventuale script di install\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose        mostra maggiori informazioni\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "" -"  -r, --root <path>    imposta una root alternativa per l'installazione\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "" -"  -b, --dbpath <path>  imposta un percorso alternativo per il database\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "      --cachedir <dir> imposta un percorso alternativo per la cache\n" - -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "" -"                       This program may be freely redistributed under\n" - -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "                       the terms of the GNU General Public License\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "'%s' non è un livello di debug valido" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "'%s' non è una directory di cache valida\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "'%s' non è un path del database valido\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "'%s' non è un path di root valido\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "è consentito eseguire solo un'operazione per volta\n" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "attenzione: locale non valido, sarà utilizzato il locale \"C\"" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "impossibile inizializzare la libreria alpm (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "operazione possibile solo come root.\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "impossibile analizzare la configurazione (%s)\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Pacchetti  :" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "impossibile registrare il database 'local' (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "nessun pacchetto specificato (usare -h per un aiuto)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "nessuna operazione specificata (usare -h per un aiuto)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "nessun file specificato per --owns\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "impossibile leggere il file '%s': %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "impossibile determinare il proprietario di una directory" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "impossibile determinare la posizione reale di '%s': %s" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "%s è contenuto in %s %s\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "Nessun pacchetto contiene %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "non è stato configurato nessun repository di pacchetti valido.\n" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Controllo degli aggiornamenti dei pacchetti in corso..." - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "nessun aggiornamento trovato" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "gruppo \"%s\" non trovato\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "nessun file di pacchetto specificato per --file\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "impossibile caricare il pacchetto '%s' (%s)\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "pacchetto \"%s\" non trovato\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: gruppo %s:\n" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    Rimuovere l'intero contenuto? [Y/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: Rimuovere %s dal gruppo %s? [Y/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "inizializzazione non riuscita (%s)\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "impossibile aggiungere il pacchetto '%s' (%s)\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s è richiesto da %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "Pacchetti:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"Rimuovere questi pacchetti? [Y/n] " - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "Rimuovere i vecchi pacchetti dalla cache? [Y/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "rimozione dei vecchi pacchetti dalla cache in corso... " - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "impossibile accedere alla directory di cache\n" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "Rimuovere tutti i pacchetti dalla cache? [Y/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "rimozione di tutti i pacchetti dalla cache in corso... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "impossibile rimuovere la directory di cache\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "impossibile creare una nuova directory di cache\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "impossibile sincronizzare %s: %s\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "impossibile aggiornare %s (%s)\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " %s è aggiornato\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "impossibile trovare il repository '%s'\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "impossibile trovare il pacchetto '%s' nel repository '%s'\n" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "impossibile trovare il pacchetto '%s'\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "impossibile trovare il repository \"%s\".\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: Sincronizzazione dei database in corso...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "sincronizzazione della lista dei pacchetti in corso" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "impossibile sincronizzare i database" - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: Aggiornamento del sistema in corso...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "aggiornamento del sistema in corso" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: pacman ha rilevato una versione più recente di \"pacman\".\n" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: Si consiglia di consentire a pacman di aggiornarsi\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr ":: prima e poi riavviare l'operazione con la versione più recente.\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: Aggiornare pacman adesso? [Y/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: Installare l'intero contenuto? [Y/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: Installare %s dal gruppo %s? [Y/n] " - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': non trovato nel database\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "richiede" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr " Il database locale è aggiornato\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"Download in corso...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "Procedere con il download? [Y/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"Aggiornamento in corso...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "Procedere con l'installazione? [Y/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "controllo delle dipendenze in corso... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "controllo dei conflitti in corso... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "pulizia in corso... " - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "risoluzione delle dipendenze in corso... " - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "ricerca dei conflitti incrociati in corso... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "installazione di %s in corso... " - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "%s installato (%s)" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "rimozione di %s in corso... " - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "%s rimosso (%s)" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "aggiornamento di %s in corso... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "%s aggiornato (%s -> %s)" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "controllo dell'integrità dei pacchetti in corso... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "non riuscito.\n" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Recupero dei pacchetti da %s...\n" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr ":: %1$s richiede %2$s da IgnorePkg. Installare %2$s? [Y/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr ":: %s è in IgnorePkg. Installare ugualmente? [Y/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr ":: %s è presente in HoldPkg. Rimuovere ugualmente? [Y/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: Sostituire %s con %s/%s? [Y/n] " - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s va in conflitto con %s. Rimuovere %s? [Y/n] " - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: la versione installata è più recente. Aggiornare ugualmente? [Y/n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: la versione installata è aggiornata. Aggiornare ugualmente? [Y/n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: L'archivio %s è corrotto. Eliminarlo? [Y/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "installazione in corso di " - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "aggiornamento in corso di" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "rimozione in corso di" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "controllo dei conflitti in corso" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "Nessuno\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Rimuovere:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"Dimensione totale dei pacchetti rimossi:   %.2f MB\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"Dimensione totale dei pacchetti:   %.2f MB\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "Dimensione totale dei pacchetti installati:   %.2f MB\n" - -#~ msgid "requires: %s" -#~ msgstr "richiede: %s" - -#~ msgid "'%s': %s\n" -#~ msgstr "'%s': %s\n" - -#~ msgid "is required by" -#~ msgstr "è richiesto da" - -#~ msgid "Installed Size : %ld K\n" -#~ msgstr "Dimensione     : %ld K\n" - -#~ msgid "memory allocation failure\n" -#~ msgstr "allocazione della memoria non riuscita\n" - -#~ msgid "add target %s\n" -#~ msgstr "aggiungere il pacchetto %s\n" - -#~ msgid "could not add target (%s)\n" -#~ msgstr "impossibile aggiungere il pacchetto (%s)\n" - -#~ msgid "conflict: %s" -#~ msgstr "conflitto: %s" - -#~ msgid "could not release transaction (%s)" -#~ msgstr "impossibile annullare l'operazione richiesta (%s)" diff --git a/src/pacman/po/pacman.pot b/src/pacman/po/pacman.pot deleted file mode 100644 index f7b7f1c3..00000000 --- a/src/pacman/po/pacman.pot +++ /dev/null @@ -1,1031 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "" - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr "" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr "" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr "" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "" - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "" - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "" - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "" - -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "" - -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "" - -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "" - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr "" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "" - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr "" - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr "" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "" - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "" - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "" - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "" - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr "" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr "" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "" - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr "" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr "" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr "" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr "" - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr "" - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr "" - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr "" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "" - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "" - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "" - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "" - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "" - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "" - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "" - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "" - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "" - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "" - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr "" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr "" - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "" diff --git a/src/pacman/po/pl_PL.po b/src/pacman/po/pl_PL.po deleted file mode 100644 index a8f33c36..00000000 --- a/src/pacman/po/pl_PL.po +++ /dev/null @@ -1,1093 +0,0 @@ -# Polish translations for Pacman package manager package -# Polskie tÅ‚umaczenia dla pakietu Pacman package manager. -# Copyright (C) 2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package manager package. -# -# Mateusz JÄ™drasik <m.jedrasik@gmail.com>, 2007. -# Jaroslaw Swierczynski <swiergot@gmail.com>, 2007. -msgid "" -msgstr "" -"Project-Id-Version: Pacman package manager 3.0.1\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2007-05-08 00:32+0200\n" -"Last-Translator: Mateusz JÄ™drasik <m.jedrasik@gmail.com>\n" -"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms:  nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%" -"100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: KBabel 1.11.4\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"\tjeÅ›li jesteÅ› pewien, że menedżer pakietów nie jest już\n" -"\turuchomiony, możesz usunąć %s%s\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "Å‚adowanie informacji o pakietach... " - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "nie udaÅ‚o siÄ™ dodać celu '%s' (%s)" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "gotowe.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "nie udaÅ‚o siÄ™ przygotować transakcji (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: wymaga %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: konfliktuje z %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s znajduje siÄ™ w '%s' i w '%s'\n" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s znajduje siÄ™ w systemie plików\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" -"\n" -"wystÄ…piÅ‚y błędy, nie zaktualizowano żadnych pakietów.\n" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr ":: %.1f MB wymagane, dostÄ™pnych %.1f MB" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "nie udaÅ‚o siÄ™ dokonać transakcji (%s)\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "nie udaÅ‚o siÄ™ wyswobodzić transaction (%s)\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "debug" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "błąd" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "ostrzeżenie" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "funkcja" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "T" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "TAK" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "błąd: " - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "ostrzeżenie: " - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "zainstalowano na żądanie" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "zainstalowano jako zależność" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "nieznany" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "Opis         : " - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "Nazwa        : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "Wersja       : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL          : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Licencja     :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Grupy        :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "Dostarcza    :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "Zależy od    :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "Usuwa        :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "Wymag. przez :" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Konflikty    : " - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Zajmuje      : %6.2f K\n" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "PakujÄ…cy     : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Architektura : %s\n" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Data budowy  : %s %s\n" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Typ budowy   : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Data inst.   : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Powód inst.  : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Skrypt inst. : %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Tak" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "Nie" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Repozytorium : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "ZastÄ™puje    :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "Do pobrania  : %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "Suma MD5     : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "Suma SHA1    : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "Kopie zapas. :\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "błąd kalkulowania sum kontrolnych dla %s\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "ZMIENIONE\t%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "Nie zmienione\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "BRAKUJÄ„CE\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(brak)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "Dziennik zmian dla '%s' nie jest dostÄ™pny.\n" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "skÅ‚adnia:  %s {-h --help}\n" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "        %s {-V --version}\n" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "        %s {-A --add}     [opcje] <plik>\n" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "        %s {-F --freshen} [opcje] <plik>\n" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "        %s {-Q --query}   [opcje] [pakiet]\n" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "        %s {-R --remove}  [opcje] <pakiet>\n" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "        %s {-S --sync}    [opcje] [pakiet]\n" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "        %s {-U --upgrade} [opcje] <plik>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"użyj '%s --help' z innymi opcjami dla dalszych skÅ‚adni\n" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "skÅ‚adnia:  %s {-A --add} [opcje] <plik>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "opcje:\n" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps         pomija sprawdzanie zależnoÅ›ci\n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" -"  -f, --force          wymusza instalacjÄ™, nadpisujÄ…c konfliktujÄ…ce pliki\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "skÅ‚adnia:  %s {-R --remove} [opcje] <pakiet>\n" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "" -"  -c, --cascade        usuwa pakiet i wszystkie pakiety od niego zależne\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly         usuwa jedynie wpis w bazie danych, nie usuwa plików\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "  -n, --nosave         usuwa także pliki konfiguracyjne\n" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive      usuwa także zależnoÅ›ci (nie wymagane przez inne " -"pakiety)\n" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "skÅ‚adnia:  %s {-F --freshen} [opcje] <plik>\n" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "skÅ‚adnia:  %s {-U --upgrade} [opcje] <plik>\n" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "skÅ‚adnia:  %s {-Q --query} [opcje] [pakiet]\n" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog      wyÅ›wietla dziennik zmian dla pakietu\n" - -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "  -e, --orphans        pokazuje wszystkie pakiety zainstalowane jako\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "" -"                       zależnoÅ›ci, ale nie wymagane już przez żaden pakiet\n" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "  -g, --groups         wyÅ›wietla zawartość grupy pakietów\n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "  -i, --info           wyÅ›wietla informacjÄ™ o pakiecie\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "  -l, --list           pokazuje zawartość wybranego pakietu\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign        pokazuje zainstalowane pakiety nie znalezione w " -"bazach\n" -"                       synchronizacji\n" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "  -o, --owns <plik>    pokazuje pakiet zawierajÄ…cy <plik>\n" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" -"  -p, --file <pakiet>  pokazuje informacje z pliku pakietu zamiast bazy " -"danych\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" -"  -s, --search <regex> przeszukuje lokalnie zainstalowane pakiety wedÅ‚ug\n" -"                       pasujÄ…cych Å‚aÅ„cuchów znaków\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "" -"  -u, --upgrades       pokazuje wszystkie pakiety, które można uaktualnić\n" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "skÅ‚adnia:  %s {-S --sync} [opcje] [pakiet]\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean          usuwa stare pakiety z katalogu pamiÄ™ci podrÄ™cznej\n" -"                       (-cc usuwa wszystkie)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly    instaluje tylko zależnoÅ›ci\n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "  -l, --list <repo>    pokazuje listÄ™ pakietów w repozytorium\n" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris     wyÅ›wietla adresy URI dla danych pakietów oraz ich\n" -"                       zależnoÅ›ci\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" -"  -s, --search <regex> przeszukuje zdalne repozytoria wedÅ‚ug pasujÄ…cych\n" -"                       Å‚aÅ„cuchów znaków\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "  -u, --sysupgrade     uaktualnia wszystkie niektualne pakiety\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" -"  -w, --downloadonly   tylko pobiera pakiety bez instalacji/uaktualniania\n" -"                       czegokolwiek\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "  -y, --refresh        pobiera Å›wieże bazy danych pakietów z serwera\n" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" -"      --ignore <pkt>   ignoruje uaktualnienie pakietu (można użyć wiÄ™cej " -"niż\n" -"                       raz)\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "      --config <Å›cżk>  ustawia alternatywny plik konfiguracji\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "" -"      --noconfirm      nie pyta o potwierdzenie ze strony użytkownika\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask <numer>    pozwala z góry udzielić odpowiedzi na pytania\n" -"                       (zobacz stronÄ™ podrÄ™cznika)\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "" -"      --noprogressbar  wyłącza pasek postÄ™pu podczas pobierania plików\n" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" -"      --noscriptlet    nie wykonuje skryptu instalacyjnego jeÅ›li takowy " -"istnieje\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose        włącza tryb wypisywania szczegółów\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "  -r, --root <Å›cżk>    ustawia alternatywne drzewo instalacji\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "  -b, --dbpath <Å›cżk>  ustawia alternatywnÄ… lokalizacjÄ™ bazy danych\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "" -"      --cachedir <kat> ustawia alternatywnÄ… lokalizacjÄ™ pamiÄ™ci podrÄ™cznej\n" -"                       pakietów\n" - -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "" -"                       Ten program może być swobodnie rozpowszechniany na\n" - -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "" -"                       zasadach Powszechnej Licencji Publicznej GNU (GPL)\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "'%s' nie jest poprawnym poziomem odpluskwiania" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "'%s' nie jest poprawnym katalogiem pamiÄ™ci podrÄ™cznej\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "'%s' nie jest poprawnÄ… Å›cieżkÄ… db (bazy danych)\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "'%s' nie jest poprawnÄ… Å›cieżkÄ… docelowÄ…\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "tylko jedna operacja może być użyta na raz\n" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "ostrzeżenie: ustawione locale jest niewÅ‚aÅ›ciwe; używanie locale \"C\"" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "nie udaÅ‚o siÄ™ zinicjalizować biblioteki alpm (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "tÄ… operacjÄ™ wykonać można jedynie jako root.\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "nie udaÅ‚o siÄ™ przeczytać pliku konfiguracji (%s)\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Cele  :" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "nie udaÅ‚o siÄ™ zarejestrować 'lokalnej' bazy danych (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "nie podano żadnych celów (użyj -h aby otrzymać pomoc)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "nie podano żadnej operacji (użyj -h aby otrzymać pomoc)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "nie podano pliku dla --owns\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "nie udaÅ‚o siÄ™ odczytać pliku '%s': %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "nie można ustalić wÅ‚aÅ›ciciela katalogu" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "nie można ustalić peÅ‚nej Å›cieżki dla '%s': %s" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "%s jest wÅ‚asnoÅ›ciÄ… %s %s\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "Å»aden pakiet nie jest wÅ‚aÅ›cicielem %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "nie skonfigurowano używalnych repozytoriów.\n" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Sprawdzanie możliwych aktualizacji..." - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "żadnych aktualizacji nie znaleziono" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "grupa \"%s\" nie zostaÅ‚a znaleziona\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "nie podano pliku pakietu dla --file\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "nie udaÅ‚o siÄ™ zaÅ‚adować pakietu '%s' (%s)\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "pakiet \"%s\" nie zostaÅ‚ odnaleziony\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: grupa %s:\n" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    Usunąć całą zawartość [T/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: Usunąć %s z grupy %s? [T/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "nie udaÅ‚o siÄ™ zainicjować transakcji (%s)\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "nie udaÅ‚o siÄ™ dodać celu '%s' (%s)\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s jest wymagane przez %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "Cele:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"Czy chcesz usunąć te pakiety? [T/n] " - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "Czy chcesz usunąć stare pakiety z pamiÄ™ci podrÄ™cznej? [T/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "usuwanie starych pakietów z pamiÄ™ci podrÄ™cznej... " - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "brak dostÄ™pu do katalogu pamiÄ™ci podrÄ™cznej\n" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "Czy chcesz usunąć wszystkie pakiety z pamiÄ™ci podrÄ™cznej? [T/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "usuwanie wszystkich pakietów z pamiÄ™ci podrÄ™cznej... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "nie udaÅ‚o siÄ™ usunąć katalogu pamiÄ™ci podrÄ™cznej\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "nie udaÅ‚o siÄ™ utworzyć nowego katalogu pamiÄ™ci podrÄ™cznej\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "nie udaÅ‚o siÄ™ zsynchronizować %s: %s\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "nie udaÅ‚o siÄ™ zaktualizować %s (%s)\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " %s jest już w najnowszej wersji\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "repozytorium '%s' nie istnieje\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "pakiet '%s' nie zostaÅ‚ odnaleziony w repozytorium '%s'\n" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "pakiet '%s' nie zostaÅ‚ odnaleziony\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "repozytorium \"%s\" nie zostaÅ‚o znalezione.\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: Synchronizowanie baz danych z pakietami...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "synchronizowanie list pakietów" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "nie udaÅ‚o siÄ™ zsynchronizować żadnych baz danych" - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: Rozpoczynanie peÅ‚nej aktualizacji systemu...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "rozpoczynanie peÅ‚nej aktualizacji systemu" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: pacman wykryÅ‚ nowszÄ… wersjÄ™ pakietu \"pacman\".\n" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: Rekomendowane jest ażeby pozwolić pacman'owi zaktualizować siÄ™\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr ":: najpierw, po czym uruchomić ponownie operacjÄ™ z nowszÄ… wersjÄ….\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: Zaktualizować pacman'a najpierw? [T/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: Zainstalować całą zawartość? [T/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: Zainstalować %s z grupy %s? [T/n] " - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': nie znaleziono w bazie danych synchronizacji\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "wymaga" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr " lokalna baza pakietów jest już w najnowszej wersji\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"Rozpoczynanie pobierania...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "Kontynuować pobieranie? [T/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"Rozpoczynanie procesu aktualizacji...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "Kontynuować instalacjÄ™? [T/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "sprawdzanie zależnoÅ›ci... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "sprawdzanie konfliktów w systemie plików... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "czyszczenie... " - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "rozwiÄ…zywanie zależnoÅ›ci... " - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "szukanie konfliktów miÄ™dzypakietowych... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "instalowanie %s... " - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "zainstalowano %s (%s)" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "usuwanie %s... " - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "usuniÄ™to %s (%s)" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "aktualizowanie %s... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "zaktualizowano %s (%s -> %s)" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "sprawdzanie spójnoÅ›ci pakietów... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "nieudane.\n" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Pobieranie pakietów z %s...\n" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr ":: %1$s wymaga %2$s z IgnorePkg. Zainstalować %2$s? [T/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr ":: %s jest w IgnorePkg. Zainstalować mimo to? [T/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr ":: %s jest oznaczony jako HoldPkg. Usunąć mimo to? [T/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: ZastÄ…pić %s przez %s/%s? [T/n] " - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s konfliktuje z %s. Usunąć %s? [T/n] " - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: lokalna wersja jest nowsza. Aktualizować pomimo to? [T/n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: lokalny pakiet jest już w najnowszej wersji. Aktualizować mimo to? " -"[T/n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: Archiwum %s jest uszkodzone. Czy chcesz je usunąć? [T/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "instalowanie" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "aktualizowanie" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "usuwanie" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "sprawdzanie konfliktów plików" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "brak\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Usunąć:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"CaÅ‚kowity rozmiar usunięć:   %.2f MB\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"CaÅ‚kowity rozmiar pakietów:   %.2f MB\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "CaÅ‚kowity rozmiar po instalacji:   %.2f MB\n" - -#~ msgid "requires: %s" -#~ msgstr "wymaga: %s" diff --git a/src/pacman/po/pt_BR.po b/src/pacman/po/pt_BR.po deleted file mode 100644 index e8f53785..00000000 --- a/src/pacman/po/pt_BR.po +++ /dev/null @@ -1,1109 +0,0 @@ -# translation of pt_BR.po to Português do Brasil -# Brazilian Portuguese translations for Pacman package manager package. -# Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package manager package. -# -# Douglas Soares de Andrade <douglas@archlinux-br.org>, 2007. -# Hugo Doria <hugodoria@archlinux-br.org>, 2007. -# Lincoln de Sousa <lincoln@archlinux-br.org>, 2007. -# Leandro Inácio <leandro@archlinux-br.org>, 2007. -msgid "" -msgstr "" -"Project-Id-Version: pt_BR\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2007-03-22 13:52-0300\n" -"Last-Translator: Douglas Soares de Andrade <douglas@archlinux-br.org>\n" -"Language-Team: Archlinux-br <contato@archlinux-br.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: KBabel 1.11.4\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"      caso tenha certeza que nenhum gerenciador de pacotes está rodando,\n" -"      você pode remover %s%s\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "carregando informações do pacote... " - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "falha com o parametro'%s' (%s)" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "concluÃdo.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "falha ao preparar transação (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: requer %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: conflita com %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s existe em '%s' e em '%s'\n" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s existe no sistema de arquivos\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" -"\n" -"ocorreram alguns erros, portanto, nenhum pacote foi atualizado.\n" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr ":: %.1f MB requerido, possui %.1f MB" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "falha ao terminar a transação (%s)\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "falha ao liberar a transação (%s)\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "depurar" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "erro" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "aviso" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "função" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "S" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "SIM" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "erro: " - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "aviso: " - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "Explicitamente Instalado" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "Instalado como dependência de outro pacote" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "Desconhecido" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "Descrição             : " - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "Nome                  : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "Versão                : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL                   : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Licença               :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Grupos                :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "Provê                 :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "Depende de            :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "Remove                :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "Requerido Por         :" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Conflita Com          :" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Tamanho Instalado     : %6.2f K\n" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "Empacotador           : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Arquitetura           : %s\n" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Compilado em          : %s %s\n" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Tipo da compilação    : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Data da Instalação    : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Razão da instalação   : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Script de Instalação  : %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Sim" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "Não" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Repositório           : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "Substitui             :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "Tamanho do Download   : %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "Soma MD5              : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "Soma SHA1       : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "Arquivos de Backup:\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "erro ao calcular as somas de verificação para %s\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "MODIFICADO\t%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "Não modificado\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "NÃO ENCONTRADO\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(Nenhum)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "changelog não disponÃvel para '%s'.\n" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "modo de usar:  %s {-h --help}\n" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "        %s {-V --version}\n" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "        %s {-A --add}     [opções] <arquivo>\n" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "        %s {-F --freshen} [opções] <arquivo>\n" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "        %s {-Q --query}   [opções] [pacote]\n" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "        %s {-R --remove}  [opções] <pacote>\n" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "        %s {-S --sync}    [opções] [pacote]\n" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "        %s {-U --upgrade} [opções] <arquivo>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"use '%s --help' com outras opções para mais sintaxes\n" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "uso:  %s {-A --add} [opções] <arquivo>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "opções:\n" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps           ignora a verificação de dependências\n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" -"  -f, --force            forçar instalação, sobrescrever arquivos " -"conflitantes\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "uso:  %s {-R --remove} [opções] <pacote>\n" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "  -c, --cascade          remove pacotes e suas dependências\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly           remove apenas a entrada na base de dados, mas não " -"remove os arquivos\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "  -n, --nosave           remove os arquivos de configuração\n" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive        remove também as dependências (aquelas que não vão " -"quebrar outros pacotes)\n" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "uso:  %s {-F --freshen} [opções] <arquivo>\n" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "uso:  %s {-U --upgrade} [opções] <arquivo>\n" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "usor:  %s {-Q --query} [opções] [pacote]\n" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog        visualiza o changelog de um pacote\n" - -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" -"  -e, --orphans          lista todos os pacotes instalados como " -"dependências, mas que não são mais\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "                         requeridos por outros pacotes\n" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "" -"  -g, --groups           visualiza todos os membros de um grupos de pacotes\n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "  -i, --info             visualiza informações do pacote\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "  -l, --list             lista o conteúdo do pacote pesquisado\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign          lista todos os pacotes que não foram encontrados na" -"(s) base(s) de dados de pacotes\n" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "  -o, --owns <arquivo>   pesquisa o pacote que contém <arquivo>\n" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" -"  -p, --file <pacote>    pesquisa o arquivo de pacote <pacote> ao invés da " -"base de dados\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" -"  -s, --search <regex>   busca em arquivos localmente instalados por textos " -"coincidentes\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "" -"  -u, --upgrades         lista todos os pacotes que podem ser atualizados\n" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "uso:  %s {-S --sync} [opções] [pacote]\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean            remove pacotes antigos do diretório de cache (use -" -"cc para remover todos os pacotes)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly      instala apenas as dependências \n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "" -"  -l, --list <repo>    visualizar uma lista dos pacotes em um repositório\n" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris       imprime as URIs dos pacotes e suas dependências\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" -"  -s, --search <regex>   procura em repositórios remotos por textos " -"coincidentes\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "" -"  -u, --sysupgrade       atualiza todos os pacotes que estão desatualizados " -"no sistema\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" -"  -w, --downloadonly     baixa os pacotes mas não instala/atualiza nenhum " -"pacote\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "  -y, --refresh          atualizar a base de dados de pacotes\n" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" -"      --ignore <pkg>     ignora a atualização de um pacote (pode ser usado " -"mais de uma vez)\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "" -"      --config <caminho> define um arquivo de configuração alternativo\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "      --noconfirm        não pede nenhuma confirmação\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask  <número>    pré-especificar respostas para as perguntas (veja a " -"manpage)\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "" -"      --noprogressbar    não mostra a barra de progresso enquanto baixa os " -"arquivos\n" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" -"      --noscriptlet      não executar o scriptlet de instalação se o mesmo " -"existir\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose          informações adicionais\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "" -"  -r, --root <caminho>   define um diretório de instalação alternativo\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "" -"  -b, --dbpath <caminho> define uma localização diferente para a base de " -"dados\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "      --cachedir <dir>   define um diretório de cache alternativo\n" - -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "" -"                       Este programa pode ser distribuÃdo livremente sob\n" - -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "" -"                       os termos da Licença GPL - General Public License\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "'%s' não é um nÃvel de depuração válido" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "'%s' não é um diretório de cache válido\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "'%s' não é um caminho de base de dados válido\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "'%s' não é uma caminho válido\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "só uma operação pode ser usada de cada vez\n" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "aviso: o locale atual é inválido; usando o locale padrão \"C\"" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "falha ao iniciar biblioteca alpm (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "você não pode realizar esta operação a menos que você seja root\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "falha ao interpretar configuração (%s)\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Pacotes  :" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "não foi possÃvel registar a base de dados local (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "nenhum arquivo definido (use -h para obter ajuda)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "nenhuma operação definida (use -h para obter ajuda)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "nenhum arquivo especificado para --owns\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "falha ao ler o arquivo '%s' %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "não é possÃvel determinar o dono de um diretório" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "não é possÃvel determinar o caminho de '%s': %s" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "%s pertence a %s %s\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "Nenhum pacote possui %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "nenhum repositório de pacotes configurado.\n" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Buscando atualizações de pacotes..." - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "nenhuma atualização encontrada" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "grupo \"%s\" não encontrado\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "nenhum pacote foi especificado para a opção --file\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "falha ao carregar o pacote '%s' (%s)\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "pacote \"%s\" não encontrado\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: grupo %s:\n" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    Remover todo o conteúdo? [S/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: Remover %s do grupo %s? [S/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "falha ao iniciar transação (%s)\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "falha com o parametro '%s' (%s)\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s é necessário para %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "Pacotes:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"Você deseja remover estes pacotes? [S/n] " - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "Deseja remover os pacotes antigos do cache? [S/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "removendo pacotes antigos do cache... " - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "não foi possÃvel acessar o diretório de cache\n" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "Você deseja remover todos os pacotes do diretório de cache? [S/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "removendo todos os pacotes do diretório de cache... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "não foi possÃvel remover o diretório de cache\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "não foi possÃvel criar o novo diretório de cache\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "falha ao sincronizar %s: %s\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "falha ao atualizar %s (%s)\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " %s está atualizado\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "repositório '%s' não existe\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "pacote '%s' não foi encontrado no repositório '%s'\n" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "pacote '%s' não foi encontrado.\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "repositório \"%s\" não foi encontrado.\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: Sincronizando a base de dados de pacotes...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "sincronizando as listas de pacotes" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "falha ao sincronizar algumas bases de dados" - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: Iniciando atualização do sistema...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "iniciando atualização de todo o sistema" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: pacman detectou uma nova versão do pacote \"pacman\".\n" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: É recomendado que você permita que o pacman se atualize\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr "" -":: primeiro, em seguida você pode executar a operação novamente com a nova " -"versão.\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: Atualizar o pacman primeiro? [S/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: Instalar todo o conteúdo? [S/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: Instalar %s do grupo %s? [S/n] " - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': não foi encontrado na base de dados de pacotes\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "requer" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr "Base de dados de pacotes está atualizada.\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"Iniciando download...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "Continuar o download? [S/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"Iniciando processo de atualização...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "Continuar a instalação? [S/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "verificando dependências... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "verificando conflitos de arquivos... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "finalizando..." - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "resolvendo dependências... " - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "procurando por conflitos internos... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "instalando %s... " - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "%s instalado (%s)" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "removendo %s... " - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "%s removido (%s)" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "atualizando %s... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "%s atualizado (%s -> %s)" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "verificando a integridade do pacote... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "falhou.\n" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Obtendo pacotes do repositório %s...\n" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr "" -":: %1$s requer %2$s, mas ele está em IgnorePkg. Instalar %2$s assim mesmo? " -"[S/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr "" -"::O pacote %s está na lista de pacotes ignorados (IgnorePkg). Instalar assim " -"mesmo? [S/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr ":: %s é designado como um HoldPkg Remover assim mesmo? [S/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: Substituir %s com %s/%s? [S/n] " - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s conflita com %s. Remover %s? [S/n] " - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: a versão local é mais recente. Deseja atualizar mesmo assim? [S/n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr "" -":: %s-%s: a versão local está atualizada. Deseja atualizar mesmo assim? [S/" -"n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: Arquivo %s está corrompido. Você gostaria de apagá-lo? [S/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "instalando" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "atualizando" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "removendo" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "verificando conflitos de arquivo" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "Nenhum\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Remover:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"Tamanho total dos pacotes a serem removidos:   %.2f MB\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"Tamanho total dos pacotes a serem baixados:   %.2f MB\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "Tamanho total da instalação:   %.2f MB\n" - -#~ msgid "requires: %s" -#~ msgstr "requer: %s" - -#~ msgid "'%s': %s\n" -#~ msgstr "'%s': %s\n" diff --git a/src/pacman/po/remove-potcdate.sin b/src/pacman/po/remove-potcdate.sin deleted file mode 100644 index 2436c49e..00000000 --- a/src/pacman/po/remove-potcdate.sin +++ /dev/null @@ -1,19 +0,0 @@ -# Sed script that remove the POT-Creation-Date line in the header entry -# from a POT file. -# -# The distinction between the first and the following occurrences of the -# pattern is achieved by looking at the hold space. -/^"POT-Creation-Date: .*"$/{ -x -# Test if the hold space is empty. -s/P/P/ -ta -# Yes it was empty. First occurrence. Remove the line. -g -d -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff --git a/src/pacman/po/ru_RU.po b/src/pacman/po/ru_RU.po deleted file mode 100644 index c25fef02..00000000 --- a/src/pacman/po/ru_RU.po +++ /dev/null @@ -1,1090 +0,0 @@ -# Pacman Russian Translation -# Copyright (C) 2007 Judd Vinet <jvinet@zeroflux.org> -# This file is distributed under the same license as the Pacman package. -# Vladimir Bayrakovskiy <4rayven@gmail.com>, 2007 -# -msgid "" -msgstr "" -"Project-Id-Version: Pacman package manager 3.0.0\n" -"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2007-04-28 04:02-0400\n" -"PO-Revision-Date: 2007-03-07 11:45-0500\n" -"Last-Translator: Vladimir Bayrakovskiy <4rayven@gmail.com>\n" -"Language-Team: Russian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" -"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: src/pacman/add.c:72 src/pacman/remove.c:82 src/pacman/sync.c:482 -#: src/pacman/sync.c:531 -#, c-format -msgid "" -"       if you're sure a package manager is not already running,\n" -"       you can remove %s%s\n" -msgstr "" -"       еÑли Ð’Ñ‹ уверены, что pacman уже не запущен, можете\n" -"       удалить %s%s\n" - -#: src/pacman/add.c:79 -msgid "loading package data... " -msgstr "чтение информации о пакете... " - -#: src/pacman/add.c:83 -#, c-format -msgid "failed to add target '%s' (%s)" -msgstr "не удалоÑÑŒ добавить цель '%s' (%s)" - -#: src/pacman/add.c:88 src/pacman/sync.c:196 src/pacman/trans.c:73 -#: src/pacman/trans.c:80 src/pacman/trans.c:91 src/pacman/trans.c:105 -#: src/pacman/trans.c:119 src/pacman/trans.c:131 src/pacman/trans.c:142 -msgid "done.\n" -msgstr "готово.\n" - -#: src/pacman/add.c:95 src/pacman/remove.c:101 src/pacman/sync.c:616 -#, c-format -msgid "failed to prepare transaction (%s)\n" -msgstr "не удалоÑÑŒ подготовить операцию (%s)\n" - -#: src/pacman/add.c:104 -#, c-format -msgid ":: %s: requires %s" -msgstr ":: %s: требует %s" - -#: src/pacman/add.c:125 src/pacman/sync.c:643 -#, c-format -msgid ":: %s: conflicts with %s" -msgstr ":: %s: конфликтует Ñ %s" - -#: src/pacman/add.c:134 src/pacman/sync.c:707 -#, c-format -msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s ÑодержитÑÑ Ð² '%s' и в '%s'\n" - -#: src/pacman/add.c:140 src/pacman/sync.c:713 -#, c-format -msgid "%s: %s exists in filesystem\n" -msgstr "%s: %s уже еÑть на диÑке\n" - -#: src/pacman/add.c:146 src/pacman/sync.c:719 src/pacman/sync.c:725 -msgid "" -"\n" -"errors occurred, no packages were upgraded.\n" -msgstr "" -"\n" -"произошли ошибки, пакеты не были обновлены.\n" - -#: src/pacman/add.c:156 src/pacman/sync.c:650 -#, c-format -msgid ":: %.1f MB required, have %.1f MB" -msgstr ":: требуетÑÑ %.1f MB, доÑтупно %.1f MB" - -#: src/pacman/add.c:169 src/pacman/remove.c:141 src/pacman/sync.c:700 -#, c-format -msgid "failed to commit transaction (%s)\n" -msgstr "не удалоÑÑŒ завершить операцию (%s)\n" - -#: src/pacman/add.c:179 src/pacman/remove.c:151 src/pacman/sync.c:524 -#: src/pacman/sync.c:741 -#, c-format -msgid "failed to release transaction (%s)\n" -msgstr "не удалоÑÑŒ продолжить операцию (%s)\n" - -#: src/pacman/log.c:63 -#, c-format -msgid "debug" -msgstr "отладка" - -#: src/pacman/log.c:66 -#, c-format -msgid "error" -msgstr "ошибка" - -#: src/pacman/log.c:69 -#, c-format -msgid "warning" -msgstr "предупреждение" - -#: src/pacman/log.c:75 -#, c-format -msgid "function" -msgstr "функциÑ" - -#: src/pacman/log.c:194 -msgid "Y" -msgstr "Y" - -#: src/pacman/log.c:194 -msgid "YES" -msgstr "YES" - -#: src/pacman/log.h:30 -msgid "error: " -msgstr "ошибка: " - -#: src/pacman/log.h:34 -msgid "warning: " -msgstr "предупреждение: " - -#: src/pacman/package.c:60 -msgid "Explicitly installed" -msgstr "Явно уÑтановлен" - -#: src/pacman/package.c:63 -msgid "Installed as a dependency for another package" -msgstr "УÑтановлен как завиÑимоÑть другого пакета" - -#: src/pacman/package.c:66 src/pacman/package.c:90 -msgid "Unknown" -msgstr "ÐеизвеÑтно" - -#: src/pacman/package.c:70 src/pacman/package.c:121 -msgid "Description    : " -msgstr "ОпиÑание                : " - -#: src/pacman/package.c:73 src/pacman/package.c:127 -#, c-format -msgid "Name           : %s\n" -msgstr "Ðазвание                : %s\n" - -#: src/pacman/package.c:74 src/pacman/package.c:128 -#, c-format -msgid "Version        : %s\n" -msgstr "ВерÑÐ¸Ñ                  : %s\n" - -#: src/pacman/package.c:75 -#, c-format -msgid "URL            : %s\n" -msgstr "URL                     : %s\n" - -#: src/pacman/package.c:76 -msgid "License        :" -msgstr "Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ                :" - -#: src/pacman/package.c:77 src/pacman/package.c:129 -msgid "Groups         :" -msgstr "Группы                  :" - -#: src/pacman/package.c:78 src/pacman/package.c:130 -msgid "Provides       :" -msgstr "ПредоÑтавлÑет           :" - -#: src/pacman/package.c:79 src/pacman/package.c:131 -msgid "Depends On     :" -msgstr "ЗавиÑит от              :" - -#: src/pacman/package.c:80 src/pacman/package.c:132 -msgid "Removes        :" -msgstr "УдалÑет                 :" - -#: src/pacman/package.c:83 -msgid "Required By    :" -msgstr "ТребуетÑÑ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸      :" - -#: src/pacman/package.c:85 src/pacman/package.c:133 -msgid "Conflicts With :" -msgstr "Конфликтует Ñ           :" - -#: src/pacman/package.c:86 src/pacman/package.c:136 -#, c-format -msgid "Installed Size : %6.2f K\n" -msgstr "Размер уÑтановленного   : %6.2f K\n" - -#: src/pacman/package.c:87 -#, c-format -msgid "Packager       : %s\n" -msgstr "Сборщик                 : %s\n" - -#: src/pacman/package.c:88 -#, c-format -msgid "Architecture   : %s\n" -msgstr "Ðрхитектура             : %s\n" - -#: src/pacman/package.c:89 -#, c-format -msgid "Build Date     : %s %s\n" -msgstr "Дата Ñборки             : %s %s\n" - -#: src/pacman/package.c:90 -#, c-format -msgid "Build Type     : %s\n" -msgstr "Тип Ñборки              : %s\n" - -#: src/pacman/package.c:92 -#, c-format -msgid "Install Date   : %s %s\n" -msgstr "Дата уÑтановки          : %s %s\n" - -#: src/pacman/package.c:93 -#, c-format -msgid "Install Reason : %s\n" -msgstr "Причина уÑтановки       : %s\n" - -#: src/pacman/package.c:95 -#, c-format -msgid "Install Script : %s\n" -msgstr "Скрипт при уÑтановке    : %s\n" - -#: src/pacman/package.c:96 -msgid "Yes" -msgstr "Yes" - -#: src/pacman/package.c:96 -msgid "No" -msgstr "No" - -#: src/pacman/package.c:126 -#, c-format -msgid "Repository     : %s\n" -msgstr "Репозиторий             : %s\n" - -#: src/pacman/package.c:134 -msgid "Replaces       :" -msgstr "ЗаменÑет                :" - -#: src/pacman/package.c:135 -#, c-format -msgid "Download Size  : %6.2f K\n" -msgstr "Размер при закачке      : %6.2f K\n" - -#: src/pacman/package.c:144 -#, c-format -msgid "MD5 Sum        : %s" -msgstr "Сумма MD5               : %s" - -#: src/pacman/package.c:147 -#, c-format -msgid "SHA1 Sum       : %s" -msgstr "Сумма SHA1              : %s" - -#: src/pacman/package.c:158 -#, c-format -msgid "Backup Files:\n" -msgstr "Создаёт резервные копии файлов:\n" - -#: src/pacman/package.c:180 -#, c-format -msgid "error calculating checksums for %s\n" -msgstr "ошибка при вычиÑлении контрольной Ñуммы Ð´Ð»Ñ %s\n" - -#: src/pacman/package.c:193 -#, c-format -msgid "MODIFIED\t%s\n" -msgstr "ИЗМЕÐÐÐ\t%s\n" - -#: src/pacman/package.c:195 -#, c-format -msgid "Not Modified\t%s\n" -msgstr "Ðе Изменён\t%s\n" - -#: src/pacman/package.c:200 -#, c-format -msgid "MISSING\t\t%s\n" -msgstr "ÐЕ ÐÐЙДЕÐ\t\t%s\n" - -#: src/pacman/package.c:206 -#, c-format -msgid "(none)\n" -msgstr "(пуÑто)\n" - -#: src/pacman/package.c:246 -#, c-format -msgid "No changelog available for '%s'.\n" -msgstr "СпиÑок изменений недоÑтупен Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° '%s'.\n" - -#: src/pacman/pacman.c:90 -#, c-format -msgid "usage:  %s {-h --help}\n" -msgstr "иÑпользование:  %s {-h --help}\n" - -#: src/pacman/pacman.c:91 -#, c-format -msgid "        %s {-V --version}\n" -msgstr "        %s {-V --version}\n" - -#: src/pacman/pacman.c:92 -#, c-format -msgid "        %s {-A --add}     [options] <file>\n" -msgstr "        %s {-A --add}     [параметры] <файл>\n" - -#: src/pacman/pacman.c:93 -#, c-format -msgid "        %s {-F --freshen} [options] <file>\n" -msgstr "        %s {-F --freshen} [параметры] <файл>\n" - -#: src/pacman/pacman.c:94 -#, c-format -msgid "        %s {-Q --query}   [options] [package]\n" -msgstr "        %s {-Q --query}   [параметры] [пакет]\n" - -#: src/pacman/pacman.c:95 -#, c-format -msgid "        %s {-R --remove}  [options] <package>\n" -msgstr "        %s {-R --remove}  [параметры] <пакет>\n" - -#: src/pacman/pacman.c:96 -#, c-format -msgid "        %s {-S --sync}    [options] [package]\n" -msgstr "        %s {-S --sync}    [параметры] [пакет]\n" - -#: src/pacman/pacman.c:97 -#, c-format -msgid "        %s {-U --upgrade} [options] <file>\n" -msgstr "        %s {-U --upgrade} [параметры] <файл>\n" - -#: src/pacman/pacman.c:98 -#, c-format -msgid "" -"\n" -"use '%s --help' with other options for more syntax\n" -msgstr "" -"\n" -"иÑпользуйте '%s --help' вмеÑте Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ опциÑми Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ подробной " -"информации\n" - -#: src/pacman/pacman.c:101 -#, c-format -msgid "usage:  %s {-A --add} [options] <file>\n" -msgstr "иÑпользование:  %s {-A --add} [параметры] <файл>\n" - -#: src/pacman/pacman.c:102 src/pacman/pacman.c:107 src/pacman/pacman.c:119 -#: src/pacman/pacman.c:124 src/pacman/pacman.c:138 -#, c-format -msgid "options:\n" -msgstr "параметры:\n" - -#: src/pacman/pacman.c:103 src/pacman/pacman.c:109 src/pacman/pacman.c:120 -#: src/pacman/pacman.c:140 -#, c-format -msgid "  -d, --nodeps         skip dependency checks\n" -msgstr "  -d, --nodeps         не проверÑть завиÑимоÑти\n" - -#: src/pacman/pacman.c:104 src/pacman/pacman.c:121 src/pacman/pacman.c:142 -#, c-format -msgid "  -f, --force          force install, overwrite conflicting files\n" -msgstr "" -"  -f, --force          Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑƒÑтановка, перезапиÑывать " -"конфликтующие файлы\n" - -#: src/pacman/pacman.c:106 -#, c-format -msgid "usage:  %s {-R --remove} [options] <package>\n" -msgstr "иÑпользование:  %s {-R --remove} [параметры] <пакет>\n" - -#: src/pacman/pacman.c:108 -#, c-format -msgid "" -"  -c, --cascade        remove packages and all packages that depend on them\n" -msgstr "  -c, --cascade        удалить пакет и вÑе завиÑÑщие от него пакеты\n" - -#: src/pacman/pacman.c:110 -#, c-format -msgid "" -"  -k, --dbonly         only remove database entry, do not remove files\n" -msgstr "" -"  -k, --dbonly         Ñтереть только запиÑÑŒ в базе данных, файлы не " -"удалÑть\n" - -#: src/pacman/pacman.c:111 -#, c-format -msgid "  -n, --nosave         remove configuration files as well\n" -msgstr "  -n, --nosave         удалить в том чиÑле и конфигурационные файлы\n" - -#: src/pacman/pacman.c:112 -#, c-format -msgid "" -"  -s, --recursive      remove dependencies also (that won't break packages)\n" -msgstr "" -"  -s, --recursive      удалить вмеÑте Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚Ñми (которые не повредÑÑ‚ " -"другие пакеты)\n" - -#: src/pacman/pacman.c:115 -#, c-format -msgid "usage:  %s {-F --freshen} [options] <file>\n" -msgstr "иÑпользование:  %s {-F --freshen} [параметры] <файл>\n" - -#: src/pacman/pacman.c:117 -#, c-format -msgid "usage:  %s {-U --upgrade} [options] <file>\n" -msgstr "иÑпользование:  %s {-U --upgrade} [параметры] <файл>\n" - -#: src/pacman/pacman.c:123 -#, c-format -msgid "usage:  %s {-Q --query} [options] [package]\n" -msgstr "иÑпользование:  %s {-Q --query} [параметры] [пакет]\n" - -#: src/pacman/pacman.c:125 -#, c-format -msgid "  -c, --changelog      view the changelog of a package\n" -msgstr "  -c, --changelog      показать ÑпиÑок изменений пакета\n" - -#: src/pacman/pacman.c:126 -#, c-format -msgid "" -"  -e, --orphans        list all packages installed as dependencies but no " -"longer\n" -msgstr "" -"  -e, --orphans        показать пакеты, уÑтановленные как завиÑимоÑти,\n" - -#: src/pacman/pacman.c:127 -#, c-format -msgid "                       required by any package\n" -msgstr "                       но более не требующиеÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ пакетам\n" - -#: src/pacman/pacman.c:128 src/pacman/pacman.c:143 -#, c-format -msgid "  -g, --groups         view all members of a package group\n" -msgstr "  -g, --groups         показать вÑе пакеты данной группы\n" - -#: src/pacman/pacman.c:129 src/pacman/pacman.c:144 -#, c-format -msgid "  -i, --info           view package information\n" -msgstr "  -i, --info           показать информацию о пакете\n" - -#: src/pacman/pacman.c:130 -#, c-format -msgid "  -l, --list           list the contents of the queried package\n" -msgstr "  -l, --list           показать Ñодержимое запрашиваемого пакета\n" - -#: src/pacman/pacman.c:131 -#, c-format -msgid "" -"  -m, --foreign        list installed packages not found in sync db(s)\n" -msgstr "" -"  -m, --foreign        показать вÑе пакеты не найденные в базе(ах) данных\n" - -#: src/pacman/pacman.c:132 -#, c-format -msgid "  -o, --owns <file>    query the package that owns <file>\n" -msgstr "  -o, --owns <файл>    найти пакет Ñодержащий <файл>\n" - -#: src/pacman/pacman.c:133 -#, c-format -msgid "  -p, --file <package> query a package file instead of the database\n" -msgstr "" -"  -p, --file <пакет>   извлечь информацию из файла пакета <пакет>, а не из " -"базы данных\n" - -#: src/pacman/pacman.c:134 -#, c-format -msgid "" -"  -s, --search <regex> search locally-installed packages for matching " -"strings\n" -msgstr "" -"  -s, --search <regex> иÑкать указанную Ñтроку в локально уÑтановленных " -"пакетах\n" - -#: src/pacman/pacman.c:135 -#, c-format -msgid "  -u, --upgrades       list all packages that can be upgraded\n" -msgstr "" -"  -u, --upgrades       показать ÑпиÑок вÑех пакетов, которые могут быть " -"обновлены\n" - -#: src/pacman/pacman.c:137 -#, c-format -msgid "usage:  %s {-S --sync} [options] [package]\n" -msgstr "иÑпользование:  %s {-S --sync} [параметры] [пакет]\n" - -#: src/pacman/pacman.c:139 -#, c-format -msgid "" -"  -c, --clean          remove old packages from cache directory (-cc for " -"all)\n" -msgstr "" -"  -c, --clean          удалить Ñтарые пакеты из кÑша (-cc чтобы удалить вÑе " -"пакеты из кÑша)\n" - -#: src/pacman/pacman.c:141 -#, c-format -msgid "  -e, --dependsonly    install dependencies only\n" -msgstr "  -e, --dependsonly    уÑтановить только завиÑимоÑти\n" - -#: src/pacman/pacman.c:145 -#, c-format -msgid "  -l, --list <repo>    view a list of packages in a repo\n" -msgstr "  -l, --list <repo>    показать вÑе пакеты данного репозиториÑ\n" - -#: src/pacman/pacman.c:146 -#, c-format -msgid "" -"  -p, --print-uris     print out URIs for given packages and their " -"dependencies\n" -msgstr "" -"  -p, --print-uris     напечатать ÑÑылки Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ указанных пакетов и их " -"завиÑимоÑтей\n" - -#: src/pacman/pacman.c:147 -#, c-format -msgid "" -"  -s, --search <regex> search remote repositories for matching strings\n" -msgstr "" -"  -s, --search <regex> иÑкать указанную Ñтроку в репозиториÑÑ… на удаленных " -"Ñерверах\n" - -#: src/pacman/pacman.c:148 -#, c-format -msgid "  -u, --sysupgrade     upgrade all packages that are out of date\n" -msgstr "  -u, --sysupgrade     обновить вÑе уÑтаревшие пакеты\n" - -#: src/pacman/pacman.c:149 -#, c-format -msgid "" -"  -w, --downloadonly   download packages but do not install/upgrade " -"anything\n" -msgstr "" -"  -w, --downloadonly   загрузить пакеты Ñ Ñервера, но не уÑтанавливать\n" - -#: src/pacman/pacman.c:150 -#, c-format -msgid "" -"  -y, --refresh        download fresh package databases from the server\n" -msgstr "" -"  -y, --refresh        загрузить Ñвежие базы данных пакетов Ñ Ñервера\n" - -#: src/pacman/pacman.c:151 -#, c-format -msgid "" -"      --ignore <pkg>   ignore a package upgrade (can be used more than " -"once)\n" -msgstr "" -"      --ignore <пакет> игнорировать пакет при обновлении (может быть " -"иÑпользовано неоднократно)\n" - -#: src/pacman/pacman.c:153 -#, c-format -msgid "      --config <path>  set an alternate configuration file\n" -msgstr "" -"      --config <путь>  иÑпользовать альтернативный конфигурационный файл\n" - -#: src/pacman/pacman.c:154 -#, c-format -msgid "      --noconfirm      do not ask for any confirmation\n" -msgstr "      --noconfirm      не Ñпрашивать подтверждениÑ\n" - -#: src/pacman/pacman.c:155 -#, c-format -msgid "" -"      --ask <number>   pre-specify answers for questions (see manpage)\n" -msgstr "" -"      --ask <чиÑло>    заранее подготовленные ответы на вопроÑÑ‹ (Ñмотрите " -"man-Ñтраницу)\n" - -#: src/pacman/pacman.c:156 -#, c-format -msgid "" -"      --noprogressbar  do not show a progress bar when downloading files\n" -msgstr "      --noprogressbar  не отображать прогреÑÑ Ð¿Ñ€Ð¸ Ñкачивании файлов\n" - -#: src/pacman/pacman.c:157 -#, c-format -msgid "" -"      --noscriptlet    do not execute the install scriptlet if there is any\n" -msgstr "" -"      --noscriptlet    не запуÑкать уÑтановочные Ñкрипты, еÑли они еÑть\n" - -#: src/pacman/pacman.c:158 -#, c-format -msgid "  -v, --verbose        be verbose\n" -msgstr "  -v, --verbose        выводить больше информации\n" - -#: src/pacman/pacman.c:159 -#, c-format -msgid "  -r, --root <path>    set an alternate installation root\n" -msgstr "" -"  -r, --root <путь>    указать альтернативную корневую директорию Ð´Ð»Ñ " -"уÑтановки\n" - -#: src/pacman/pacman.c:160 -#, c-format -msgid "  -b, --dbpath <path>  set an alternate database location\n" -msgstr "" -"  -b, --dbpath <путь>  указать альтернативное раÑположение базы данных\n" - -#: src/pacman/pacman.c:161 -#, c-format -msgid "      --cachedir <dir> set an alternate package cache location\n" -msgstr "      --cachedir <dir> указать альтернативное раÑположение кÑша\n" - -#: src/pacman/pacman.c:174 -#, c-format -msgid "                       This program may be freely redistributed under\n" -msgstr "" -"                       This program may be freely redistributed under\n" - -#: src/pacman/pacman.c:175 -#, c-format -msgid "                       the terms of the GNU General Public License\n" -msgstr "                       the terms of the GNU General Public License\n" - -#: src/pacman/pacman.c:300 -#, c-format -msgid "'%s' is not a valid debug level" -msgstr "'%s' - неверный уровень отладки" - -#: src/pacman/pacman.c:315 -#, c-format -msgid "'%s' is not a valid cache directory\n" -msgstr "'%s' неправильно указан путь к кÑш-директории\n" - -#: src/pacman/pacman.c:333 -#, c-format -msgid "'%s' is not a valid db path\n" -msgstr "'%s' неправильно указан путь к базе данных\n" - -#: src/pacman/pacman.c:363 -#, c-format -msgid "'%s' is not a valid root path\n" -msgstr "некорректный корневой каталог: '%s'\n" - -#: src/pacman/pacman.c:390 -msgid "only one operation may be used at a time\n" -msgstr "одновременно может выполнÑтьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ одна операциÑ\n" - -#: src/pacman/pacman.c:436 -msgid "warning: current locale is invalid; using default \"C\" locale" -msgstr "warning: current locale is invalid; using default \"C\" locale" - -#: src/pacman/pacman.c:456 -#, c-format -msgid "failed to initialize alpm library (%s)\n" -msgstr "не удалоÑÑŒ инициализировать библиотеку alpm (%s)\n" - -#: src/pacman/pacman.c:489 -msgid "you cannot perform this operation unless you are root.\n" -msgstr "" -"Ð’Ñ‹ не можете выполнить Ñту операцию не ÑвлÑÑÑÑŒ Ñуперпользователем (root).\n" - -#: src/pacman/pacman.c:505 -#, c-format -msgid "failed to parse config (%s)\n" -msgstr "не удалоÑÑŒ обработать конфигурационный файл (%s)\n" - -#: src/pacman/pacman.c:516 -msgid "Targets  :" -msgstr "Цели     :" - -#: src/pacman/pacman.c:522 -#, c-format -msgid "could not register 'local' database (%s)\n" -msgstr "не могу зарегиÑтрировать локальную базу данных (%s)\n" - -#: src/pacman/pacman.c:529 -msgid "no targets specified (use -h for help)\n" -msgstr "не задано целей (Ð´Ð»Ñ Ñправки иÑпользуйте -h)\n" - -#: src/pacman/pacman.c:542 -msgid "no operation specified (use -h for help)\n" -msgstr "не задана Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ (Ð´Ð»Ñ Ñправки иÑпользуйте -h)\n" - -#: src/pacman/query.c:90 -msgid "no file was specified for --owns\n" -msgstr "не был указан файл Ð´Ð»Ñ --owns\n" - -#: src/pacman/query.c:95 -#, c-format -msgid "failed to read file '%s': %s" -msgstr "не удалоÑÑŒ прочитать файл '%s': %s" - -#: src/pacman/query.c:100 -msgid "cannot determine ownership of a directory" -msgstr "не удалоÑÑŒ определить владельца каталога" - -#: src/pacman/query.c:105 -#, c-format -msgid "cannot determine real path for '%s': %s" -msgstr "не удалоÑÑŒ определить наÑтоÑщий путь Ð´Ð»Ñ '%s': %s" - -#: src/pacman/query.c:119 -#, c-format -msgid "%s is owned by %s %s\n" -msgstr "%s принадлежит %s %s\n" - -#: src/pacman/query.c:127 -#, c-format -msgid "No package owns %s\n" -msgstr "Ðи один пакет не Ñодержит %s\n" - -#: src/pacman/query.c:170 src/pacman/sync.c:453 -msgid "no usable package repositories configured.\n" -msgstr "ни один репозиторий не Ñконфигурирован должным образом.\n" - -#: src/pacman/query.c:176 -msgid "Checking for package upgrades..." -msgstr "Проверка обновлений..." - -#: src/pacman/query.c:183 -msgid "no upgrades found" -msgstr "обновлений не найдено" - -#: src/pacman/query.c:221 -#, c-format -msgid "group \"%s\" was not found\n" -msgstr "группа \"%s\" не найдена\n" - -#: src/pacman/query.c:232 -msgid "no package file was specified for --file\n" -msgstr "не указан файл пакета Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° --file\n" - -#: src/pacman/query.c:236 -#, c-format -msgid "failed to load package '%s' (%s)\n" -msgstr "не удалоÑÑŒ загрузить пакет '%s' (%s)\n" - -#: src/pacman/query.c:273 src/pacman/query.c:305 -#, c-format -msgid "package \"%s\" not found\n" -msgstr "пакет \"%s\" не найден\n" - -#: src/pacman/remove.c:61 src/pacman/sync.c:568 -#, c-format -msgid ":: group %s:\n" -msgstr ":: группа %s:\n" - -#: src/pacman/remove.c:63 -msgid "    Remove whole content? [Y/n] " -msgstr "    Удалить вÑе Ñодержимое? [Y/n] " - -#: src/pacman/remove.c:67 -#, c-format -msgid ":: Remove %s from group %s? [Y/n] " -msgstr ":: Удалить %s из группы %s? [Y/n] " - -#: src/pacman/remove.c:80 src/pacman/sync.c:480 src/pacman/sync.c:529 -#, c-format -msgid "failed to init transaction (%s)\n" -msgstr "не удалоÑÑŒ начать операцию (%s)\n" - -#: src/pacman/remove.c:92 -#, c-format -msgid "failed to add target '%s' (%s)\n" -msgstr "ну удалоÑÑŒ добавить цель '%s' (%s)\n" - -#: src/pacman/remove.c:106 -#, c-format -msgid ":: %s is required by %s\n" -msgstr ":: %s необходим Ð´Ð»Ñ %s\n" - -#: src/pacman/remove.c:128 src/pacman/util.c:324 -msgid "Targets:" -msgstr "Цели:" - -#: src/pacman/remove.c:131 -msgid "" -"\n" -"Do you want to remove these packages? [Y/n] " -msgstr "" -"\n" -"Хотите удалить Ñти пакеты? [Y/n] " - -#: src/pacman/sync.c:115 -msgid "Do you want to remove old packages from cache? [Y/n] " -msgstr "Хотите удалить Ñтарые пакеты из кÑша? [Y/n] " - -#: src/pacman/sync.c:117 -msgid "removing old packages from cache... " -msgstr "удалÑÑŽ Ñтарые пакеты из кÑша... " - -#: src/pacman/sync.c:120 -msgid "could not access cache directory\n" -msgstr "нет доÑтупа к кÑш-директории\n" - -#: src/pacman/sync.c:181 -msgid "Do you want to remove all packages from cache? [Y/n] " -msgstr "Хотите удалить вÑе пакеты из кÑша? [Y/n] " - -#: src/pacman/sync.c:183 -msgid "removing all packages from cache... " -msgstr "удалÑÑŽ вÑе пакеты из кÑша... " - -#: src/pacman/sync.c:186 -msgid "could not remove cache directory\n" -msgstr "не могу удалить кÑш-директорию\n" - -#: src/pacman/sync.c:191 -msgid "could not create new cache directory\n" -msgstr "не могу Ñоздать новую директорию Ð´Ð»Ñ ÐºÑша\n" - -#: src/pacman/sync.c:218 -#, c-format -msgid "failed to synchronize %s: %s\n" -msgstr "не удалоÑÑŒ Ñинхронизировать %s: %s\n" - -#: src/pacman/sync.c:220 -#, c-format -msgid "failed to update %s (%s)\n" -msgstr "не удалоÑÑŒ обновить %s (%s)\n" - -#: src/pacman/sync.c:223 -#, c-format -msgid " %s is up to date\n" -msgstr " %s не уÑтарел\n" - -#: src/pacman/sync.c:345 -#, c-format -msgid "repository '%s' does not exist\n" -msgstr "репозиторий '%s' не ÑущеÑтвует\n" - -#: src/pacman/sync.c:361 -#, c-format -msgid "package '%s' was not found in repository '%s'\n" -msgstr "пакет '%s' не найден в репозитории '%s'\n" - -#: src/pacman/sync.c:381 -#, c-format -msgid "package '%s' was not found\n" -msgstr "пакет '%s' не найден\n" - -#: src/pacman/sync.c:418 -#, c-format -msgid "repository \"%s\" was not found.\n" -msgstr "репозиторий \"%s\" не найден.\n" - -#: src/pacman/sync.c:490 -msgid ":: Synchronizing package databases...\n" -msgstr ":: Синхронизирую базу данных пакетов...\n" - -#: src/pacman/sync.c:491 -msgid "synchronizing package lists" -msgstr "Ñинхронизирую ÑпиÑки пакетов" - -#: src/pacman/sync.c:493 -msgid "failed to synchronize any databases" -msgstr "не удалоÑÑŒ Ñинхронизировать ни одну базу данных" - -#: src/pacman/sync.c:499 -msgid ":: Starting full system upgrade...\n" -msgstr ":: Ðачинаю полное обновление ÑиÑтемы...\n" - -#: src/pacman/sync.c:500 -msgid "starting full system upgrade" -msgstr "начинаю полное обновление ÑиÑтемы" - -#: src/pacman/sync.c:518 -msgid "" -"\n" -":: pacman has detected a newer version of the \"pacman\" package.\n" -msgstr "" -"\n" -":: pacman обнаружил более новую верÑию пакета \"pacman\".\n" - -#: src/pacman/sync.c:519 -msgid ":: It is recommended that you allow pacman to upgrade itself\n" -msgstr ":: Рекомендуем Вам Ñначала позволить pacman'у обновить ÑÐµÐ±Ñ Ñамого,\n" - -#: src/pacman/sync.c:520 -msgid ":: first, then you can re-run the operation with the newer version.\n" -msgstr ":: поÑле чего перезапуÑтить операцию Ñ Ð¸Ñпользованием новой верÑии.\n" - -#: src/pacman/sync.c:522 -msgid ":: Upgrade pacman first? [Y/n] " -msgstr ":: Обновить pacman в первую очередь? [Y/n] " - -#: src/pacman/sync.c:537 -#, c-format -msgid "pacman: %s\n" -msgstr "pacman: %s\n" - -#: src/pacman/sync.c:572 -msgid ":: Install whole content? [Y/n] " -msgstr ":: УÑтановить в полном объеме? [Y/n] " - -#: src/pacman/sync.c:579 -#, c-format -msgid ":: Install %s from group %s? [Y/n] " -msgstr ":: УÑтановить %s из группы %s? [Y/n] " - -#: src/pacman/sync.c:603 -#, c-format -msgid "'%s': not found in sync db\n" -msgstr "'%s': не найдено в базе пакетов\n" - -#: src/pacman/sync.c:621 -msgid "requires" -msgstr "требует" - -#: src/pacman/sync.c:663 -msgid " local database is up to date\n" -msgstr " Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð±Ð°Ð·Ð° данных не уÑтарела\n" - -#: src/pacman/sync.c:672 -msgid "" -"\n" -"Beginning download...\n" -msgstr "" -"\n" -"Ðачинаю загрузку...\n" - -#: src/pacman/sync.c:676 -msgid "Proceed with download? [Y/n] " -msgstr "ПриÑтупить к загрузке? [Y/n] " - -#: src/pacman/sync.c:684 -msgid "" -"\n" -"Beginning upgrade process...\n" -msgstr "" -"\n" -"Ðачинаю процеÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ...\n" - -#: src/pacman/sync.c:688 -msgid "Proceed with installation? [Y/n] " -msgstr "ПриÑтупить к уÑтановке? [Y/n] " - -#: src/pacman/trans.c:55 -msgid "checking dependencies... " -msgstr "проверÑÑŽ завиÑимоÑти... " - -#: src/pacman/trans.c:59 -msgid "checking for file conflicts... " -msgstr "проверÑÑŽ возможные конфликты файлов... " - -#: src/pacman/trans.c:63 -msgid "cleaning up... " -msgstr "убираем за Ñобой... " - -#: src/pacman/trans.c:66 -msgid "resolving dependencies... " -msgstr "разрешаю завиÑимоÑти... " - -#: src/pacman/trans.c:69 -msgid "looking for inter-conflicts... " -msgstr "проверÑÑŽ на взаимную неÑовмеÑтимоÑть... " - -#: src/pacman/trans.c:86 -#, c-format -msgid "installing %s... " -msgstr "уÑтанавливаю %s... " - -#: src/pacman/trans.c:93 -#, c-format -msgid "installed %s (%s)" -msgstr "уÑтановлено %s (%s)" - -#: src/pacman/trans.c:100 -#, c-format -msgid "removing %s... " -msgstr "удалÑÑŽ %s... " - -#: src/pacman/trans.c:107 -#, c-format -msgid "removed %s (%s)" -msgstr "удалено %s (%s)" - -#: src/pacman/trans.c:114 -#, c-format -msgid "upgrading %s... " -msgstr "обновлÑÑŽ %s... " - -#: src/pacman/trans.c:121 -#, c-format -msgid "upgraded %s (%s -> %s)" -msgstr "обновлено %s (%s -> %s)" - -#: src/pacman/trans.c:128 -msgid "checking package integrity... " -msgstr "проверÑÑŽ целоÑтноÑть пакета... " - -#: src/pacman/trans.c:144 -msgid "failed.\n" -msgstr "провал.\n" - -#: src/pacman/trans.c:151 -#, c-format -msgid ":: Retrieving packages from %s...\n" -msgstr ":: Получение пакетов Ñ %s...\n" - -#: src/pacman/trans.c:172 -#, c-format -msgid ":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] " -msgstr ":: %1$s требует %2$s из IgnorePkg. УÑтановить %2$s? [Y/n] " - -#: src/pacman/trans.c:177 -#, c-format -msgid ":: %s is in IgnorePkg. Install anyway? [Y/n] " -msgstr ":: %s указан в IgnorePkg. Ð’ÑÑ‘ равно уÑтановить? [Y/n] " - -#: src/pacman/trans.c:190 -#, c-format -msgid ":: %s is designated as a HoldPkg. Remove anyway? [Y/n] " -msgstr ":: %s указан в HoldPkg. Ð’ÑÑ‘ равно удалить? [Y/n] " - -#: src/pacman/trans.c:203 -#, c-format -msgid ":: Replace %s with %s/%s? [Y/n] " -msgstr ":: Заменить %s на %s/%s? [Y/n] " - -#: src/pacman/trans.c:218 -#, c-format -msgid ":: %s conflicts with %s. Remove %s? [Y/n] " -msgstr ":: %s конфликтует Ñ %s. Удалить %s? [Y/n] " - -#: src/pacman/trans.c:234 -#, c-format -msgid ":: %s-%s: local version is newer. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð½Ð¾Ð²ÐµÐµ. Ð’ÑÑ‘ равно обновить? [Y/n] " - -#: src/pacman/trans.c:252 -#, c-format -msgid ":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] " -msgstr ":: %s-%s: уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð½Ðµ уÑтарела. Ð’ÑÑ‘ равно обновить? [Y/n] " - -#: src/pacman/trans.c:270 -#, c-format -msgid ":: Archive %s is corrupted. Do you want to delete it? [Y/n] " -msgstr ":: Ðрхив %s поврежден. Хотите его удалить? [Y/n] " - -#: src/pacman/trans.c:326 -msgid "installing" -msgstr "уÑтановка" - -#: src/pacman/trans.c:329 -msgid "upgrading" -msgstr "обновление" - -#: src/pacman/trans.c:332 -msgid "removing" -msgstr "удаление" - -#: src/pacman/trans.c:335 -msgid "checking for file conflicts" -msgstr "проверÑÑŽ возможные конфликты файлов" - -#: src/pacman/util.c:259 -#, c-format -msgid "None\n" -msgstr "Ðе указано\n" - -#: src/pacman/util.c:311 -msgid "Remove:" -msgstr "Удалить:" - -#: src/pacman/util.c:319 -#, c-format -msgid "" -"\n" -"Total Removed Size:   %.2f MB\n" -msgstr "" -"\n" -"Итого удалено:   %.2f МБ\n" - -#: src/pacman/util.c:330 -#, c-format -msgid "" -"\n" -"Total Package Size:   %.2f MB\n" -msgstr "" -"\n" -"Суммарный размер пакетов:   %.2f МБ\n" - -#: src/pacman/util.c:337 -#, c-format -msgid "Total Installed Size:   %.2f MB\n" -msgstr "Итого уÑтановлено:   %.2f МБ\n" - -#~ msgid "requires: %s" -#~ msgstr "требуетÑÑ: %s" - -#~ msgid "'%s': %s\n" -#~ msgstr "'%s': %s\n" diff --git a/src/pacman/query.c b/src/pacman/query.c index a6ebddb0..8a8765b6 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -1,8 +1,8 @@  /*   *  query.c - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + * + *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org> + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ @@ -26,7 +26,6 @@  #include <limits.h>  #include <string.h>  #include <sys/stat.h> -#include <libintl.h>  #include <errno.h>  #include <unistd.h> @@ -34,302 +33,392 @@  #include <alpm_list.h>  /* pacman */ -#include "query.h" +#include "pacman.h"  #include "package.h" -#include "log.h"  #include "conf.h" -#include "sync.h"  #include "util.h" -extern config_t *config;  extern pmdb_t *db_local;  static char *resolve_path(const char* file)  { -	char *copy, *p, *str = NULL; +	char *str = NULL; -	if(!(copy = strdup(file))) { +	str = calloc(PATH_MAX+1, sizeof(char)); +	if(!str) {  		return(NULL);  	} -	if((p = strrchr(copy, '/')) == NULL) { -		return(copy); -	} else { -		*p = '\0'; ++p; +	if(!realpath(file, str)) { +		free(str); +		return(NULL); +	} + +	return(str); +} + +static int query_fileowner(alpm_list_t *targets) +{ +	int ret = 0; +	alpm_list_t *t; -		str = calloc(PATH_MAX+1, sizeof(char)); -		if(!str) { -			/* null hmmm.... */ -			return(NULL); +	/* This code is here for safety only */ +	if(targets == NULL) { +		fprintf(stderr, _("error: no file was specified for --owns\n")); +		return(1); +	} + +	for(t = targets; t; t = alpm_list_next(t)) { +		int found = 0; +		char *filename = alpm_list_getdata(t); +		char *bname; +		char *rpath; +		struct stat buf; +		alpm_list_t *i, *j; + +		if(stat(filename, &buf) == -1) { +			fprintf(stderr, _("error: failed to read file '%s': %s\n"), +					filename, strerror(errno)); +			ret++; +			continue;  		} -		if(!realpath(copy, str)) { -			return(NULL); +		if(S_ISDIR(buf.st_mode)) { +			fprintf(stderr, _("error: cannot determine ownership of a directory\n")); +			ret++; +			continue;  		} -		str[strlen(str)] = '/'; -		strcat(str, p); +		bname = mbasename(filename); + +		if(!(rpath = resolve_path(filename))) { +			fprintf(stderr, _("error: cannot determine real path for '%s': %s\n"), +					filename, strerror(errno)); +			ret++; +			continue; +		} + +		for(i = alpm_db_getpkgcache(db_local); i && !found; i = alpm_list_next(i)) { +			pmpkg_t *info = alpm_list_getdata(i); + +			for(j = alpm_pkg_get_files(info); j && !found; j = alpm_list_next(j)) { +				char path[PATH_MAX], *ppath; +				snprintf(path, PATH_MAX, "%s%s", +				         alpm_option_get_root(), (const char *)alpm_list_getdata(j)); + +				/* avoid the costly resolve_path usage if the basenames don't match */ +				if(strcmp(mbasename(path), bname) != 0) { +					continue; +				} + +				ppath = resolve_path(path); + +				if(ppath && strcmp(ppath, rpath) == 0) { +					printf(_("%s is owned by %s %s\n"), rpath, +					       alpm_pkg_get_name(info), alpm_pkg_get_version(info)); +					found = 1; +				} +				free(ppath); +			} +		} +		if(!found) { +			fprintf(stderr, _("error: No package owns %s\n"), filename); +			ret++; +		} +		free(rpath);  	} -	free(copy); -	return(str); +	return ret;  } - -static void query_fileowner(pmdb_t *db, char *filename) +/* search the local database for a matching package */ +static int query_search(alpm_list_t *targets)  { -	struct stat buf; -	int gotcha = 0; -	char *rpath; -	alpm_list_t *i, *j; +	alpm_list_t *i, *searchlist; +	int freelist; -	if(db == NULL) { -		return; +	/* if we have a targets list, search for packages matching it */ +	if(targets) { +		searchlist = alpm_db_search(db_local, targets); +		freelist = 1; +	} else { +		searchlist = alpm_db_getpkgcache(db_local); +		freelist = 0;  	} -	if(filename == NULL || strlen(filename) == 0) { -		ERR(NL, _("no file was specified for --owns\n")); -		return; +	if(searchlist == NULL) { +		return(1);  	} -	if(stat(filename, &buf) == -1) { -		ERR(NL, _("failed to read file '%s': %s"), filename, strerror(errno)); -		return; -	} -	 -	if(S_ISDIR(buf.st_mode)) { -		ERR(NL, _("cannot determine ownership of a directory")); -		return; -	} +	for(i = searchlist; i; i = alpm_list_next(i)) { +		char *group = NULL; +		alpm_list_t *grp; +		pmpkg_t *pkg = alpm_list_getdata(i); -	if(!(rpath = resolve_path(filename))) { -		ERR(NL, _("cannot determine real path for '%s': %s"), filename, strerror(errno)); -		return; -	} +		if (!config->quiet) { +			printf("local/%s %s", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); +		} else { +			printf("%s", alpm_pkg_get_name(pkg)); +		} -	for(i = alpm_db_getpkgcache(db); i && !gotcha; i = alpm_list_next(i)) { -		pmpkg_t *info = alpm_list_getdata(i); +		/* print the package size with the output if ShowSize option set */ +		if(config->showsize) { +			/* Convert byte size to MB */ +			double mbsize = (double)alpm_pkg_get_size(pkg) / (1024.0 * 1024.0); -		for(j = alpm_pkg_get_files(info); j && !gotcha; j = alpm_list_next(j)) { -			char path[PATH_MAX], *ppath; -			snprintf(path, PATH_MAX, "%s%s", alpm_option_get_root(), (const char *)alpm_list_getdata(j)); +			printf(" [%.2f MB]", mbsize); +		} -			ppath = resolve_path(path); -			if(ppath && strcmp(ppath, rpath) == 0) { -				printf(_("%s is owned by %s %s\n"), filename, alpm_pkg_get_name(info), alpm_pkg_get_version(info)); -				gotcha = 1; +		if (!config->quiet) { +			if((grp = alpm_pkg_get_groups(pkg)) != NULL) { +				group = alpm_list_getdata(grp); +				printf(" (%s)", (char *)alpm_list_getdata(grp));  			} -			free(ppath); +			/* we need a newline and initial indent first */ +			printf("\n    "); +			indentprint(alpm_pkg_get_desc(pkg), 4);  		} -	} -	if(!gotcha) { -		ERR(NL, _("No package owns %s\n"), filename); +		printf("\n");  	} -	free(rpath); +	/* we only want to free if the list was a search list */ +	if(freelist) { +		alpm_list_free(searchlist); +	} +	return(0);  } -int pacman_query(alpm_list_t *targets) +static int query_group(alpm_list_t *targets)  { -	alpm_list_t *sync_dbs = NULL, *i, *j, *k; -	pmpkg_t *info = NULL; +	alpm_list_t *i, *j;  	char *package = NULL; -	int done = 0; - -	if(config->op_q_search) { -		alpm_list_t *ret = alpm_db_search(db_local, targets); -		if(ret == NULL) { -			return(0); +	int ret = 0; +	if(targets == NULL) { +		for(j = alpm_db_getgrpcache(db_local); j; j = alpm_list_next(j)) { +			pmgrp_t *grp = alpm_list_getdata(j); +			const alpm_list_t *p, *pkgnames; +			const char *grpname; + +			grpname = alpm_grp_get_name(grp); +			pkgnames = alpm_grp_get_pkgs(grp); + +			for(p = pkgnames; p; p = alpm_list_next(p)) { +				printf("%s %s\n", grpname, (char *)alpm_list_getdata(p)); +			}  		} -		for(i = ret; i; i = alpm_list_next(i)) { -			char *group = NULL; -			alpm_list_t *grp; -			pmpkg_t *pkg = alpm_list_getdata(i); - -			printf("local/%s %s", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); - -			if((grp = alpm_pkg_get_groups(pkg)) != NULL) { -				group = alpm_list_getdata(grp); -				printf(" (%s)\n    ", (char *)alpm_list_getdata(grp)); +	} else { +		for(i = targets; i; i = alpm_list_next(i)) { +			pmgrp_t *grp; +			package = alpm_list_getdata(i); +			grp = alpm_db_readgrp(db_local, package); +			if(grp) { +				const alpm_list_t *p, *pkgnames = alpm_grp_get_pkgs(grp); +				for(p = pkgnames; p; p = alpm_list_next(p)) { +					printf("%s %s\n", package, (char *)alpm_list_getdata(p)); +				}  			} else { -				printf("\n    "); +				fprintf(stderr, _("error: group \"%s\" was not found\n"), package); +				ret++;  			} - -			indentprint(alpm_pkg_get_desc(pkg), 4); -			printf("\n");  		} -		alpm_list_free(ret); +	} +	return ret; +} + +static int query_upgrades(void) +{ +	alpm_list_t *syncpkgs = NULL; +	printf(_("Checking for package upgrades... \n")); + +	alpm_list_t *syncdbs = alpm_option_get_syncdbs(); +	if(alpm_sync_sysupgrade(db_local, syncdbs, &syncpkgs) == -1) { +		return(-1); +	} +	if(syncpkgs) { +		display_targets(syncpkgs, db_local);  		return(0);  	} -	if(config->op_q_foreign) { -		sync_dbs = alpm_option_get_syncdbs(); +	printf(_("no upgrades found.\n")); +	return(1); +} -		if(sync_dbs == NULL || alpm_list_count(sync_dbs) == 0) { -			ERR(NL, _("no usable package repositories configured.\n")); -			return(1); +static int is_foreign(pmpkg_t *pkg) +{ +	const char *pkgname = alpm_pkg_get_name(pkg); +	alpm_list_t *j; +	alpm_list_t *sync_dbs = alpm_option_get_syncdbs(); + +	int match = 0; +	for(j = sync_dbs; j; j = alpm_list_next(j)) { +		pmdb_t *db = alpm_list_getdata(j); +		pmpkg_t *findpkg = alpm_db_get_pkg(db, pkgname); +		if(findpkg) { +			match = 1; +			break;  		}  	} +	if(match == 0) { +		return(1); +	} +	return(0); +} + +static int is_orphan(pmpkg_t *pkg) +{ +	alpm_list_t *requiredby = alpm_pkg_compute_requiredby(pkg); +	if(requiredby == NULL) { +		return(1); +	} +	FREELIST(requiredby); +	return(0); +} -	if(config->op_q_upgrade) { -		MSG(NL, _("Checking for package upgrades...")); -		alpm_list_t *syncpkgs; +static int filter(pmpkg_t *pkg) +{ +	/* check if this package was explicitly installed */ +	if(config->op_q_explicit && +			alpm_pkg_get_reason(pkg) != PM_PKG_REASON_EXPLICIT) { +		return(0); +	} +	/* check if this package was installed as a dependency */ +	if(config->op_q_deps && +			alpm_pkg_get_reason(pkg) != PM_PKG_REASON_DEPEND) { +		return(0); +	} +	/* check if this pkg isn't in a sync DB */ +	if(config->op_q_foreign && !is_foreign(pkg)) { +		return(0); +	} +	/* check if this pkg is orphaned */ +	if(config->op_q_orphans && !is_orphan(pkg)) { +		return(0); +	} +	return(1); +} -		if((syncpkgs = alpm_get_upgrades()) != NULL) { -				display_targets(syncpkgs); -				return(0); +static void display(pmpkg_t *pkg) +{ +	if(config->op_q_info) { +		if(config->op_q_isfile) { +			/* omit info that isn't applicable for a file package */ +			dump_pkg_full(pkg, 0);  		} else { -			MSG(NL, _("no upgrades found")); -			return(1); +			dump_pkg_full(pkg, config->op_q_info);  		}  	} - -	for(i = targets; !done; i = (i ? alpm_list_next(i) : NULL)) { -		if(targets == NULL) { -			done = 1; +	if(config->op_q_list) { +		dump_pkg_files(pkg); +	} +	if(config->op_q_changelog) { +		char changelog[PATH_MAX]; +		/* TODO should be done in the backend- no raw DB stuff up front */ +		snprintf(changelog, PATH_MAX, "%s/%s/%s-%s/changelog", +				alpm_option_get_dbpath(), +				alpm_db_get_name(db_local), +				alpm_pkg_get_name(pkg), +				alpm_pkg_get_version(pkg)); +		dump_pkg_changelog(changelog, alpm_pkg_get_name(pkg)); +	} +	if(!config->op_q_info && !config->op_q_list && !config->op_q_changelog) { +		if (!config->quiet) { +			printf("%s %s\n", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));  		} else { -			if(alpm_list_next(i) == NULL) { -				done = 1; -			} -			package = alpm_list_getdata(i); +			printf("%s\n", alpm_pkg_get_name(pkg));  		} +	} +} + +int pacman_query(alpm_list_t *targets) +{ +	int ret = 0; +	alpm_list_t *i; -		/* looking for groups */ -		if(config->group) { -			if(targets == NULL) { -				for(j = alpm_db_getgrpcache(db_local); j; j = alpm_list_next(j)) { -					pmgrp_t *grp = alpm_list_getdata(j); -					alpm_list_t *p, *pkgnames; -					const char *grpname; +	/* First: operations that do not require targets */ -					grpname = alpm_grp_get_name(grp); -					pkgnames = alpm_grp_get_pkgs(grp); +	/* search for a package */ +	if(config->op_q_search) { +		ret = query_search(targets); +		return(ret); +	} -					for(p = pkgnames; p; p = alpm_list_next(p)) { -						MSG(NL, "%s %s\n", grpname, (char *)alpm_list_getdata(p)); -					} -				} -			} else { -				pmgrp_t *grp = alpm_db_readgrp(db_local, package); -				if(grp) { -					alpm_list_t *p, *pkgnames = alpm_grp_get_pkgs(grp); -					for(p = pkgnames; p; p = alpm_list_next(p)) { -						MSG(NL, "%s %s\n", package, (char *)alpm_list_getdata(p)); -					} -				} else { -					ERR(NL, _("group \"%s\" was not found\n"), package); -					/* do not return on query operations - let's just carry on */ -					/*return(2);*/ -				} +	/* check for package upgrades */ +	if(config->op_q_upgrade) { +		ret = query_upgrades(); +		return(ret); +	} + +	/* looking for groups */ +	if(config->group) { +		ret = query_group(targets); +		return(ret); +	} + +	if(config->op_q_foreign) { +		/* ensure we have at least one valid sync db set up */ +		alpm_list_t *sync_dbs = alpm_option_get_syncdbs(); +		if(sync_dbs == NULL || alpm_list_count(sync_dbs) == 0) { +			pm_printf(PM_LOG_ERROR, _("no usable package repositories configured.\n")); +			return(-1); +		} +	} + +	/* operations on all packages in the local DB +	 * valid: no-op (plain -Q), list, info +	 * invalid: isfile, owns */ +	if(targets == NULL) { +		if(config->op_q_isfile || config->op_q_owns) { +			pm_printf(PM_LOG_ERROR, _("no targets specified (use -h for help)\n")); +			return(1); +		} + +		for(i = alpm_db_getpkgcache(db_local); i; i = alpm_list_next(i)) { +			pmpkg_t *pkg = alpm_list_getdata(i); +			if(filter(pkg)) { +				display(pkg);  			} -			continue;  		} +		return(0); +	} + +	/* Second: operations that require target(s) */ + +	/* determine the owner of a file */ +	if(config->op_q_owns) { +		ret = query_fileowner(targets); +		return(ret); +	} + +	/* operations on named packages in the local DB +	 * valid: no-op (plain -Q), list, info */ +	for(i = targets; i; i = alpm_list_next(i)) { +		char *strname = alpm_list_getdata(i); +		pmpkg_t *pkg = NULL; -		/* output info for a .tar.gz package */  		if(config->op_q_isfile) { -			if(package == NULL) { -				ERR(NL, _("no package file was specified for --file\n")); -				return(1); -			} -			if(alpm_pkg_load(package, &info) == -1) { -				ERR(NL, _("failed to load package '%s' (%s)\n"), package, alpm_strerror(pm_errno)); -				return(1); -			} -			if(config->op_q_info) { -				dump_pkg_full(info, config->op_q_info); -			} -			if(config->op_q_list) { -				dump_pkg_files(info); -			} -			if(!config->op_q_info && !config->op_q_list) { -				MSG(NL, "%s %s\n", alpm_pkg_get_name(info), -				                   alpm_pkg_get_version(info)); -			} -			FREEPKG(info); -			continue; +			alpm_pkg_load(strname, 1, &pkg); +		} else { +			pkg = alpm_db_get_pkg(db_local, strname);  		} -		/* determine the owner of a file */ -		if(config->op_q_owns) { -			query_fileowner(db_local, package); +		if(pkg == NULL) { +			fprintf(stderr, _("error: package \"%s\" not found\n"), strname); +			ret++;  			continue;  		} -		/* find packages in the db */ -		if(package == NULL) { -			/* no target */ -			for(i = alpm_db_getpkgcache(db_local); i; i = alpm_list_next(i)) { -				pmpkg_t *tmpp = alpm_list_getdata(i); -				const char *pkgname, *pkgver; - -				pkgname = alpm_pkg_get_name(tmpp); -				pkgver = alpm_pkg_get_version(tmpp); - -				if(config->op_q_list || config->op_q_orphans || config->op_q_foreign) { -					info = alpm_db_get_pkg(db_local, (char *)pkgname); -					if(info == NULL) { -						/* something weird happened */ -						ERR(NL, _("package \"%s\" not found\n"), pkgname); -						continue; -					} -				} -				if(config->op_q_foreign) { -					int match = 0; -					for(j = sync_dbs; j; j = alpm_list_next(j)) { -						pmdb_t *db = (pmdb_t *)alpm_list_getdata(j); -						for(k = alpm_db_getpkgcache(db); k; k = alpm_list_next(k)) { -							pmpkg_t *pkg = alpm_list_getdata(k); -							if(strcmp(alpm_pkg_get_name(pkg), alpm_pkg_get_name(info)) == 0) { -								match = 1; -							} -						} -					} -					if(match==0) { -						MSG(NL, "%s %s\n", pkgname, pkgver); -					} -				} else if(config->op_q_list) { -					dump_pkg_files(info); -				} else if(config->op_q_orphans) { -					if(alpm_pkg_get_requiredby(info) == NULL -						 && (long)alpm_pkg_get_reason(info) == PM_PKG_REASON_DEPEND) { -						MSG(NL, "%s %s\n", pkgname, pkgver); -					} -				} else { -					MSG(NL, "%s %s\n", pkgname, pkgver); -				} -			} -		} else { -			info = alpm_db_get_pkg(db_local, package); -			if(info == NULL) { -				ERR(NL, _("package \"%s\" not found\n"), package); -				continue; -			} +		if(filter(pkg)) { +			display(pkg); +		} -			/* find a target */ -			if(config->op_q_info) { -				dump_pkg_full(info, config->op_q_info); -			} -			if(config->op_q_list) { -				dump_pkg_files(info); -			} -			if(!config->op_q_info && !config->op_q_list) { -				MSG(NL, "%s %s\n", alpm_pkg_get_name(info), -				                   alpm_pkg_get_version(info)); -			} -			if(config->op_q_changelog) { -				char changelog[PATH_MAX]; -				snprintf(changelog, PATH_MAX, "%s%s/%s/%s-%s/changelog", -								 alpm_option_get_root(), alpm_option_get_dbpath(), -								 alpm_db_get_name(db_local), -								 alpm_pkg_get_name(info), -								 alpm_pkg_get_version(info)); -				dump_pkg_changelog(changelog, alpm_pkg_get_name(info)); -			} +		if(config->op_q_isfile) { +			alpm_pkg_free(pkg); +			pkg = NULL;  		}  	} -	return(0); +	return(ret);  }  /* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/query.h b/src/pacman/query.h deleted file mode 100644 index fa55c732..00000000 --- a/src/pacman/query.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - *  query.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ -#ifndef _PM_QUERY_H -#define _PM_QUERY_H - -#include <alpm_list.h> - -int pacman_query(alpm_list_t *targets); - -#endif /* _PM_QUERY_H */ - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/remove.c b/src/pacman/remove.c index 9989f8e5..1028d9e8 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -1,8 +1,8 @@  /*   *  remove.c - *  + *   *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ @@ -24,46 +24,63 @@  #include <stdlib.h>  #include <stdio.h>  #include <string.h> -#include <libintl.h>  #include <alpm.h>  #include <alpm_list.h>  /* pacman */ -#include "remove.h" +#include "pacman.h"  #include "util.h" -#include "log.h" -#include "trans.h" +#include "callback.h"  #include "conf.h" -extern config_t *config; -  extern pmdb_t *db_local; +/* Free the current transaction and print an error if unsuccessful */ +static int remove_cleanup(void) +{ +	int ret = alpm_trans_release(); +	if(ret != 0) { +		pm_printf(PM_LOG_ERROR, _("failed to release transaction (%s)\n"), +		        alpm_strerrorlast()); +		ret = 1; +	} + +	return(ret); +} + +/** + * @brief Remove a specified list of packages. + * + * @param targets a list of packages (as strings) to remove from the system + * + * @return 0 on success, 1 on failure + */  int pacman_remove(alpm_list_t *targets)  { -	alpm_list_t *data = NULL, *i, *j, *finaltargs = NULL; +	alpm_list_t *i, *data = NULL, *finaltargs = NULL;  	int retval = 0;  	if(targets == NULL) { -		return(0); +		pm_printf(PM_LOG_ERROR, _("no targets specified (use -h for help)\n")); +		return(1);  	} -	/* If the target is a group, ask if its packages should be removed  +	/* If the target is a group, ask if its packages should be removed  	 * (the library can't remove groups for now)  	 */  	for(i = targets; i; i = alpm_list_next(i)) {  		pmgrp_t *grp = alpm_db_readgrp(db_local, alpm_list_getdata(i));  		if(grp) {  			int all; -			alpm_list_t *pkgnames = alpm_grp_get_pkgs(grp); +			const alpm_list_t *p, *pkgnames = alpm_grp_get_pkgs(grp); -			MSG(NL, _(":: group %s:\n"), alpm_grp_get_name(grp)); +			printf(_(":: group %s:\n"), alpm_grp_get_name(grp));  			list_display("   ", pkgnames);  			all = yesno(_("    Remove whole content? [Y/n] ")); -			for(j = pkgnames; j; j = alpm_list_next(j)) { -				char *pkg = alpm_list_getdata(j); +			for(p = pkgnames; p; p = alpm_list_next(p)) { +				char *pkg = alpm_list_getdata(p);  				if(all || yesno(_(":: Remove %s from group %s? [Y/n] "), pkg, (char *)alpm_list_getdata(i))) {  					finaltargs = alpm_list_add(finaltargs, strdup(pkg));  				} @@ -74,84 +91,93 @@ int pacman_remove(alpm_list_t *targets)  		}  	} -	/* Step 1: create a new transaction -	 */ -	if(alpm_trans_init(PM_TRANS_TYPE_REMOVE, config->flags, cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) { -		ERR(NL, _("failed to init transaction (%s)\n"), alpm_strerror(pm_errno)); +	/* Step 1: create a new transaction */ +	if(alpm_trans_init(PM_TRANS_TYPE_REMOVE, config->flags, +	   cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) { +		fprintf(stderr, _("error: failed to init transaction (%s)\n"), +		        alpm_strerrorlast());  		if(pm_errno == PM_ERR_HANDLE_LOCK) { -			MSG(NL, _("       if you're sure a package manager is not already running,\n" -			  			"       you can remove %s%s\n"), alpm_option_get_root(), PM_LOCK); +			printf(_("  if you're sure a package manager is not already\n" +			         "  running, you can remove %s.\n"), alpm_option_get_lockfile());  		}  		FREELIST(finaltargs);  		return(1);  	} -	/* and add targets to it */ + +	/* add targets to the created transaction */ +	printf(_("loading package data... "));  	for(i = finaltargs; i; i = alpm_list_next(i)) {  		char *targ = alpm_list_getdata(i);  		if(alpm_trans_addtarget(targ) == -1) { -			ERR(NL, _("failed to add target '%s' (%s)\n"), targ, alpm_strerror(pm_errno)); -			retval = 1; -			goto cleanup; +			printf("failed.\n"); +			fprintf(stderr, _("error: failed to add target '%s' (%s)\n"), targ, +			        alpm_strerrorlast()); +			remove_cleanup(); +			FREELIST(finaltargs); +			return(1);  		}  	} +	printf(_("done.\n")); -	/* Step 2: prepare the transaction based on its type, targets and flags -	 */ +	/* Step 2: prepare the transaction based on its type, targets and flags */  	if(alpm_trans_prepare(&data) == -1) { -		ERR(NL, _("failed to prepare transaction (%s)\n"), alpm_strerror(pm_errno)); +		fprintf(stderr, _("error: failed to prepare transaction (%s)\n"), +		        alpm_strerrorlast());  		switch(pm_errno) {  			case PM_ERR_UNSATISFIED_DEPS:  				for(i = data; i; i = alpm_list_next(i)) {  					pmdepmissing_t *miss = alpm_list_getdata(i); -					MSG(NL, _(":: %s is required by %s\n"), alpm_dep_get_target(miss), -					    alpm_dep_get_name(miss)); +					pmdepend_t *dep = alpm_miss_get_dep(miss); +					char *depstring = alpm_dep_get_string(dep); +					printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss), +							depstring); +					free(depstring);  				} +				alpm_list_free_inner(data, free);  				alpm_list_free(data); -			break; +				break;  			default: -			break; +				break;  		} -		retval = 1; -		goto cleanup; +		remove_cleanup(); +		FREELIST(finaltargs); +		return(1);  	} -	/* Warn user in case of dangerous operation -	 */ -	if(config->flags & PM_TRANS_FLAG_RECURSE || config->flags & PM_TRANS_FLAG_CASCADE) { +	/* Warn user in case of dangerous operation */ +	if(config->flags & PM_TRANS_FLAG_RECURSE || +	   config->flags & PM_TRANS_FLAG_CASCADE) {  		/* list transaction targets */  		alpm_list_t *lst = NULL; +		/* create a new list of package names only */  		for(i = alpm_trans_get_pkgs(); i; i = alpm_list_next(i)) {  			pmpkg_t *pkg = alpm_list_getdata(i);  			lst = alpm_list_add(lst, strdup(alpm_pkg_get_name(pkg)));  		} -		MSG(NL, "\n"); +		printf("\n");  		list_display(_("Targets:"), lst);  		FREELIST(lst);  		/* get confirmation */  		if(yesno(_("\nDo you want to remove these packages? [Y/n] ")) == 0) { -			retval = 1; -			goto cleanup; +			remove_cleanup(); +			FREELIST(finaltargs); +			return(1);  		} -		MSG(NL, "\n"); +		printf("\n");  	} -	/* Step 3: actually perform the removal -	 */ +	/* Step 3: actually perform the removal */  	if(alpm_trans_commit(NULL) == -1) { -		ERR(NL, _("failed to commit transaction (%s)\n"), alpm_strerror(pm_errno)); -		retval = 1; -		goto cleanup; +		fprintf(stderr, _("error: failed to commit transaction (%s)\n"), +		        alpm_strerrorlast()); +		remove_cleanup(); +		FREELIST(finaltargs); +		return(1);  	} -	/* Step 4: release transaction resources -	 */ -cleanup: +	/* Step 4: release transaction resources */ +	retval = remove_cleanup();  	FREELIST(finaltargs); -	if(alpm_trans_release() == -1) { -		ERR(NL, _("failed to release transaction (%s)\n"), alpm_strerror(pm_errno)); -		retval = 1; -	} -  	return(retval);  } diff --git a/src/pacman/remove.h b/src/pacman/remove.h deleted file mode 100644 index 33a2d20d..00000000 --- a/src/pacman/remove.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - *  remove.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ -#ifndef _PM_REMOVE_H -#define _PM_REMOVE_H - -#include <alpm_list.h> - -int pacman_remove(alpm_list_t *targets); - -#endif /* _PM_REMOVE_H */ - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/sync.c b/src/pacman/sync.c index ca95fe63..77939623 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -1,8 +1,8 @@  /*   *  sync.c - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + * + *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org> + *   *  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 @@ -15,7 +15,7 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */ @@ -24,16 +24,9 @@  #include <stdio.h>  #include <stdlib.h>  #include <string.h> -#include <sys/stat.h> -#if defined(__APPLE__) || defined(__OpenBSD__) -#include <sys/syslimits.h> -#endif +#include <limits.h>  #include <unistd.h>  #include <dirent.h> -#include <libintl.h> -#ifdef CYGWIN -#include <limits.h> /* PATH_MAX */ -#endif  #include <alpm.h>  #include <alpm_list.h> @@ -42,158 +35,163 @@   * remove it from Makefile.am on the pacman side */  /* pacman */ -#include "sync.h" +#include "pacman.h"  #include "util.h" -#include "log.h" -#include "downloadprog.h"  #include "package.h" -#include "trans.h" +#include "callback.h"  #include "conf.h" -extern config_t *config; +extern pmdb_t *db_local; -/* splits package name into its respective parts */ -static int split_pkgname(char *target, char *name, char *version) -{ -	char tmp[512]; -	char *p, *q; +static int sync_cleandb(const char *dbpath) { +	DIR *dir; +	struct dirent *ent; -	if(target == NULL) { -		return(-1); +	dir = opendir(dbpath); +	if(dir == NULL) { +		fprintf(stderr, _("error: could not access database directory\n")); +		return(1);  	} -	/* trim path name (if any) */ -	if((p = strrchr(target, '/')) == NULL) { -		p = target; -	} else { -		p++; -	} -	strncpy(tmp, p, 512); -	/* trim file extension (if any) */ -	if((p = strstr(tmp, PM_EXT_PKG))) { -		*p = '\0'; -	} -	/* trim architecture */ -	if((p = alpm_pkg_name_hasarch(tmp))) { -		*p = '\0'; -	} +	rewinddir(dir); +	/* step through the directory one file at a time */ +	while((ent = readdir(dir)) != NULL) { +		char path[PATH_MAX]; +		alpm_list_t *syncdbs = NULL, *i; +		int found = 0; +		char *dname = ent->d_name; + +		if(!strcmp(dname, ".") || !strcmp(dname, "..")) { +			continue; +		} +		/* skip the local and sync directories */ +		if(!strcmp(dname, "sync") || !strcmp(dname, "local")) { +			continue; +		} +		syncdbs = alpm_option_get_syncdbs(); +		for(i = syncdbs; i && !found; i = alpm_list_next(i)) { +			pmdb_t *db = alpm_list_getdata(i); +			found = !strcmp(dname, alpm_db_get_name(db)); +		} + +		/* We have a directory that doesn't match any syncdb. +		 * Ask the user if he wants to remove it. */ +		if(!found) { +			/* build the full path */ +			snprintf(path, PATH_MAX, "%s%s", dbpath, ent->d_name); + +			if(!yesno(_("Do you want to remove %s? [Y/n] "), path)) { +				continue; +			} -	p = tmp + strlen(tmp); +			if(rmrf(path)) { +				fprintf(stderr, _("error: could not remove repository directory\n")); +				return(1); +			} +		} -	for(q = --p; *q && *q != '-'; q--); -	if(*q != '-' || q == tmp) { -		return(-1);  	} -	for(p = --q; *p && *p != '-'; p--); -	if(*p != '-' || p == tmp) { -		return(-1); +	return(0); +} + +static int sync_cleandb_all(void) { +	const char *dbpath = alpm_option_get_dbpath(); +	char newdbpath[PATH_MAX]; + +	printf(_("Database directory: %s\n"), dbpath); +	if(!yesno(_("Do you want to remove unused repositories? [Y/n] "))) { +		return(0);  	} -	strncpy(version, p+1, 64); -	*p = '\0'; +	/* The sync dbs were previously put in dbpath, but are now in dbpath/sync, +	 * so we will clean both directories */ +	sync_cleandb(dbpath); -	strncpy(name, tmp, 256); +	sprintf(newdbpath, "%s%s", dbpath, "sync/"); +	sync_cleandb(newdbpath); +	printf(_("Database directory cleaned up\n"));  	return(0);  }  static int sync_cleancache(int level)  { -	const char *root, *cachedir; -	char dirpath[PATH_MAX]; - -	root = alpm_option_get_root(); -	cachedir = alpm_option_get_cachedir(); - -	snprintf(dirpath, PATH_MAX, "%s%s", root, cachedir); +	/* TODO for now, just mess with the first cache directory */ +	alpm_list_t* cachedirs = alpm_option_get_cachedirs(); +	const char *cachedir = alpm_list_getdata(cachedirs);  	if(level == 1) { -		/* incomplete cleanup: we keep latest packages and partial downloads */ +		/* incomplete cleanup */  		DIR *dir;  		struct dirent *ent; -		alpm_list_t *cache = NULL, *clean = NULL, *i, *j; - -		if(!yesno(_("Do you want to remove old packages from cache? [Y/n] "))) +		/* Let's vastly improve the way this is done. Before, we went by package +		 * name. Instead, let's only keep packages we have installed. Open up each +		 * package and see if it has an entry in the local DB; if not, delete it. +		 */ +		printf(_("Cache directory: %s\n"), cachedir); +		if(!yesno(_("Do you want to remove uninstalled packages from cache? [Y/n] "))) {  			return(0); -		MSG(NL, _("removing old packages from cache... ")); -		dir = opendir(dirpath); +		} +		printf(_("removing old packages from cache... ")); + +		dir = opendir(cachedir);  		if(dir == NULL) { -			ERR(NL, _("could not access cache directory\n")); +			fprintf(stderr, _("error: could not access cache directory\n"));  			return(1);  		} +  		rewinddir(dir); +		/* step through the directory one file at a time */  		while((ent = readdir(dir)) != NULL) { +			char path[PATH_MAX]; +			pmpkg_t *localpkg = NULL, *dbpkg = NULL; +  			if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) {  				continue;  			} -			cache = alpm_list_add(cache, strdup(ent->d_name)); -		} -		closedir(dir); - -		for(i = cache; i; i = alpm_list_next(i)) { -			char *str = alpm_list_getdata(i); -			char name[256], version[64]; +			/* build the full filepath */ +			snprintf(path, PATH_MAX, "%s/%s", cachedir, ent->d_name); -			if(strstr(str, PM_EXT_PKG) == NULL) { -				clean = alpm_list_add(clean, strdup(str)); -				continue; -			} -			/* we keep partially downloaded files */ -			if(strstr(str, PM_EXT_PKG ".part")) { -				continue; -			} -			if(split_pkgname(str, name, version) != 0) { -				clean = alpm_list_add(clean, strdup(str)); +			/* attempt to load the package, skip file on failures as we may have +			 * files here that aren't valid packages. we also don't need a full +			 * load of the package, just the metadata. */ +			if(alpm_pkg_load(path, 0, &localpkg) != 0 || localpkg == NULL) {  				continue;  			} -			for(j = alpm_list_next(i); j; j = alpm_list_next(j)) { -				char *s = alpm_list_getdata(j); -				char n[256], v[64]; - -				if(strstr(s, PM_EXT_PKG) == NULL) { -					continue; -				} -				if(strstr(s, PM_EXT_PKG ".part")) { -					continue; -				} -				if(split_pkgname(s, n, v) != 0) { -					continue; -				} -				/* TODO Do not remove the currently installed version EITHER */ -				if(!strcmp(name, n)) { -					char *ptr = (alpm_pkg_vercmp(version, v) < 0) ? str : s; -					if(!alpm_list_find_str(clean, ptr)) { -						clean = alpm_list_add(clean, strdup(ptr)); -					} -				} +			/* check if this package is in the local DB */ +			dbpkg = alpm_db_get_pkg(db_local, alpm_pkg_get_name(localpkg)); +			if(dbpkg == NULL) { +				/* delete package, not present in local DB */ +				unlink(path); +			} else if(alpm_pkg_vercmp(alpm_pkg_get_version(localpkg), +							alpm_pkg_get_version(dbpkg)) != 0) { +				/* delete package, it was found but version differs */ +				unlink(path);  			} +			/* else version was the same, so keep the package */ +			/* free the local file package */ +			alpm_pkg_free(localpkg);  		} -		FREELIST(cache); - -		for(i = clean; i; i = alpm_list_next(i)) { -			char path[PATH_MAX]; - -			snprintf(path, PATH_MAX, "%s/%s", dirpath, (char *)alpm_list_getdata(i)); -			unlink(path); -		} -		FREELIST(clean); +		printf(_("done.\n"));  	} else {  		/* full cleanup */ -		if(!yesno(_("Do you want to remove all packages from cache? [Y/n] "))) +		printf(_("Cache directory: %s\n"), cachedir); +		if(!yesno(_("Do you want to remove ALL packages from cache? [Y/n] "))) {  			return(0); -		MSG(NL, _("removing all packages from cache... ")); +		} +		printf(_("removing all packages from cache... ")); -		if(rmrf(dirpath)) { -			ERR(NL, _("could not remove cache directory\n")); +		if(rmrf(cachedir)) { +			fprintf(stderr, _("error: could not remove cache directory\n"));  			return(1);  		} -		if(makepath(dirpath)) { -			ERR(NL, _("could not create new cache directory\n")); +		if(makepath(cachedir)) { +			fprintf(stderr, _("error: could not create new cache directory\n"));  			return(1);  		} +		printf(_("done.\n"));  	} -	MSG(CL, _("done.\n"));  	return(0);  } @@ -215,12 +213,14 @@ static int sync_synctree(int level, alpm_list_t *syncs)  				 * Yes.  This will be here until we add a nice pacman "pm_errstr" or  				 * something, OR add all libdownload error codes into the pm_error enum  				 */ -				ERR(NL, _("failed to synchronize %s: %s\n"), alpm_db_get_name(db), downloadLastErrString); +				fprintf(stderr, _("error: failed to synchronize %s: %s\n"), +				        alpm_db_get_name(db), downloadLastErrString);  			} else { -				ERR(NL, _("failed to update %s (%s)\n"), alpm_db_get_name(db), alpm_strerror(pm_errno)); +				fprintf(stderr, _("error: failed to update %s (%s)\n"), +				        alpm_db_get_name(db), alpm_strerrorlast());  			}  		} else if(ret == 1) { -			MSG(NL, _(" %s is up to date\n"), alpm_db_get_name(db)); +			printf(_(" %s is up to date\n"), alpm_db_get_name(db));  			success++;  		} else {  			success++; @@ -234,48 +234,68 @@ static int sync_synctree(int level, alpm_list_t *syncs)  	return(success > 0);  } +/* search the sync dbs for a matching package */  static int sync_search(alpm_list_t *syncs, alpm_list_t *targets)  {  	alpm_list_t *i, *j, *ret; +	int freelist; +	int found = 0;  	for(i = syncs; i; i = alpm_list_next(i)) { -		pmdb_t *db = (pmdb_t *)alpm_list_getdata(i); +		pmdb_t *db = alpm_list_getdata(i); +		/* if we have a targets list, search for packages matching it */  		if(targets) {  			ret = alpm_db_search(db, targets); -			if(ret == NULL) { -				continue; -			} -			for(j = ret; j; j = alpm_list_next(j)) { -				char *group = NULL; -				alpm_list_t *grp; -				pmpkg_t *pkg = alpm_list_getdata(j); +			freelist = 1; +		} else { +			ret = alpm_db_getpkgcache(db); +			freelist = 0; +		} +		if(ret == NULL) { +			continue; +		} else { +			found = 1; +		} +		for(j = ret; j; j = alpm_list_next(j)) { +			/* print repo/name (group) info about each package in our list */ +			char *group = NULL; +			alpm_list_t *grp; +			pmpkg_t *pkg = alpm_list_getdata(j); +			if (!config->quiet) {  				printf("%s/%s %s", alpm_db_get_name(db), alpm_pkg_get_name(pkg), -						   alpm_pkg_get_version(pkg)); +							 alpm_pkg_get_version(pkg)); +			} else { +				printf("%s", alpm_pkg_get_name(pkg)); +			} + +			/* print the package size with the output if ShowSize option set */ +			if(config->showsize) { +				/* Convert byte size to MB */ +				double mbsize = alpm_pkg_get_size(pkg) / (1024.0 * 1024.0); + +				printf(" [%.2f MB]", mbsize); +			} +			if (!config->quiet) {  				if((grp = alpm_pkg_get_groups(pkg)) != NULL) { -						group = alpm_list_getdata(grp); -						printf(" (%s)\n    ", (char *)alpm_list_getdata(grp)); -				} else { -					printf("\n    "); +					group = alpm_list_getdata(grp); +					printf(" (%s)", (char *)alpm_list_getdata(grp));  				} -				 -				indentprint(alpm_pkg_get_desc(pkg), 4); -				printf("\n"); -			} -			alpm_list_free(ret); -		} else { -			for(j = alpm_db_getpkgcache(db); j; j = alpm_list_next(j)) { -				pmpkg_t *pkg = alpm_list_getdata(j); -				MSG(NL, "%s/%s %s\n    ", alpm_db_get_name(db), alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); +				/* we need a newline and initial indent first */ +				printf("\n    ");  				indentprint(alpm_pkg_get_desc(pkg), 4); -				MSG(NL, "\n");  			} +			printf("\n"); +		} +		/* we only want to free if the list was a search list */ +		if(freelist) { +			alpm_list_free(ret);  		}  	} -	return(0); +	return(!found);  }  static int sync_group(int level, alpm_list_t *syncs, alpm_list_t *targets) @@ -291,7 +311,7 @@ static int sync_group(int level, alpm_list_t *syncs, alpm_list_t *targets)  				if(grp) {  					/* TODO this should be a lot cleaner, why two outputs? */ -					MSG(NL, "%s\n", (char *)alpm_grp_get_name(grp)); +					printf("%s\n", (char *)alpm_grp_get_name(grp));  					list_display("   ", alpm_grp_get_pkgs(grp));  				}  			} @@ -303,7 +323,7 @@ static int sync_group(int level, alpm_list_t *syncs, alpm_list_t *targets)  			for(j = alpm_db_getgrpcache(db); j; j = alpm_list_next(j)) {  				pmgrp_t *grp = alpm_list_getdata(j); -				MSG(NL, "%s\n", (char *)alpm_grp_get_name(grp)); +				printf("%s\n", (char *)alpm_grp_get_name(grp));  				if(grp && level > 1) {  					list_display("   ", alpm_grp_get_pkgs(grp));  				} @@ -317,6 +337,7 @@ static int sync_group(int level, alpm_list_t *syncs, alpm_list_t *targets)  static int sync_info(alpm_list_t *syncs, alpm_list_t *targets)  {  	alpm_list_t *i, *j, *k; +	int ret = 0;  	if(targets) {  		for(i = targets; i; i = alpm_list_next(i)) { @@ -340,29 +361,29 @@ static int sync_info(alpm_list_t *syncs, alpm_list_t *targets)  					}  					db = NULL;  				} -				 +  				if(!db) { -					ERR(NL, _("repository '%s' does not exist\n"), repo); +					fprintf(stderr, _("error: repository '%s' does not exist\n"), repo);  					return(1);  				} -				 +  				for(k = alpm_db_getpkgcache(db); k; k = alpm_list_next(k)) {  					pmpkg_t *pkg = alpm_list_getdata(k);  					if(strcmp(alpm_pkg_get_name(pkg), pkgstr) == 0) {  						dump_pkg_sync(pkg, alpm_db_get_name(db)); -						MSG(NL, "\n");  						foundpkg = 1;  						break;  					}  				} -				 +  				if(!foundpkg) { -					ERR(NL, _("package '%s' was not found in repository '%s'\n"), pkgstr, repo); +					fprintf(stderr, _("error: package '%s' was not found in repository '%s'\n"), pkgstr, repo); +					ret++;  				}  			} else {  				pkgstr = target; -						 +  				for(j = syncs; j; j = alpm_list_next(j)) {  					pmdb_t *db = alpm_list_getdata(j); @@ -371,29 +392,28 @@ static int sync_info(alpm_list_t *syncs, alpm_list_t *targets)  						if(strcmp(alpm_pkg_get_name(pkg), pkgstr) == 0) {  							dump_pkg_sync(pkg, alpm_db_get_name(db)); -							MSG(NL, "\n");  							foundpkg = 1;  							break;  						}  					}  				}  				if(!foundpkg) { -					ERR(NL, _("package '%s' was not found\n"), pkgstr); +					fprintf(stderr, _("error: package '%s' was not found\n"), pkgstr); +					ret++;  				}  			}  		}  	} else {  		for(i = syncs; i; i = alpm_list_next(i)) {  			pmdb_t *db = alpm_list_getdata(i); -			 +  			for(j = alpm_db_getpkgcache(db); j; j = alpm_list_next(j)) {  				dump_pkg_sync(alpm_list_getdata(j), alpm_db_get_name(db)); -				MSG(NL, "\n");  			}  		}  	} -	return(0); +	return(ret);  }  static int sync_list(alpm_list_t *syncs, alpm_list_t *targets) @@ -415,7 +435,7 @@ static int sync_list(alpm_list_t *syncs, alpm_list_t *targets)  			}  			if(db == NULL) { -				ERR(NL, _("repository \"%s\" was not found.\n"),repo); +				fprintf(stderr, _("error: repository \"%s\" was not found.\n"),repo);  				alpm_list_free(ls);  				return(1);  			} @@ -431,7 +451,12 @@ static int sync_list(alpm_list_t *syncs, alpm_list_t *targets)  		for(j = alpm_db_getpkgcache(db); j; j = alpm_list_next(j)) {  			pmpkg_t *pkg = alpm_list_getdata(j); -			MSG(NL, "%s %s %s\n", alpm_db_get_name(db), alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); +			if (!config->quiet) { +				printf("%s %s %s\n", alpm_db_get_name(db), alpm_pkg_get_name(pkg), +							 alpm_pkg_get_version(pkg)); +			} else { +				printf("%s\n", alpm_pkg_get_name(pkg)); +			}  		}  	} @@ -442,99 +467,82 @@ static int sync_list(alpm_list_t *syncs, alpm_list_t *targets)  	return(0);  } -int pacman_sync(alpm_list_t *targets) +int sync_trans(alpm_list_t *targets, int sync_only)  { -	int confirm = 0;  	int retval = 0; -	alpm_list_t *packages, *data = NULL, *i, *j, *k, *sync_dbs; - -	sync_dbs = alpm_option_get_syncdbs(); -	if(sync_dbs == NULL || alpm_list_count(sync_dbs) == 0) { -		ERR(NL, _("no usable package repositories configured.\n")); -		return(1); -	} - -	if(config->op_s_clean) { -		return(sync_cleancache(config->op_s_clean)); -	} - -	if(config->op_s_search) { -		return(sync_search(sync_dbs, targets)); -	} - -	if(config->group) { -		return(sync_group(config->group, sync_dbs, targets)); -	} - -	if(config->op_s_info) { -		return(sync_info(sync_dbs, targets)); -	} - -	if(config->op_q_list) { -		return(sync_list(sync_dbs, targets)); -	} - -	/* Step 1: create a new transaction... -	 */ -	if(alpm_trans_init(PM_TRANS_TYPE_SYNC, config->flags, cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) { -		ERR(NL, _("failed to init transaction (%s)\n"), alpm_strerror(pm_errno)); +	alpm_list_t *data = NULL; +	alpm_list_t *sync_dbs = alpm_option_get_syncdbs(); + +	/* Step 1: create a new transaction... */ +	if(alpm_trans_init(PM_TRANS_TYPE_SYNC, config->flags, cb_trans_evt, +		 cb_trans_conv, cb_trans_progress) == -1) { +		fprintf(stderr, _("error: failed to init transaction (%s)\n"), +		        alpm_strerrorlast());  		if(pm_errno == PM_ERR_HANDLE_LOCK) { -			MSG(NL, _("       if you're sure a package manager is not already running,\n" -			        "       you can remove %s%s\n"), alpm_option_get_root(), PM_LOCK); +			printf(_("  if you're sure a package manager is not already\n" +			         "  running, you can remove %s.\n"), alpm_option_get_lockfile());  		}  		return(1);  	}  	if(config->op_s_sync) {  		/* grab a fresh package list */ -		MSG(NL, _(":: Synchronizing package databases...\n")); -		alpm_logaction(_("synchronizing package lists")); +		printf(_(":: Synchronizing package databases...\n")); +		alpm_logaction("synchronizing package lists\n");  		if(!sync_synctree(config->op_s_sync, sync_dbs)) { -			ERR(NL, _("failed to synchronize any databases")); -			return(1); +			fprintf(stderr, _("error: failed to synchronize any databases\n")); +			retval = 1; +			goto cleanup; +		} +		if(sync_only) { +			goto cleanup;  		}  	}  	if(config->op_s_upgrade) { -		MSG(NL, _(":: Starting full system upgrade...\n")); -		alpm_logaction(_("starting full system upgrade")); +		alpm_list_t *pkgs, *i; + +		printf(_(":: Starting full system upgrade...\n")); +		alpm_logaction("starting full system upgrade\n");  		if(alpm_trans_sysupgrade() == -1) { -			ERR(NL, "%s\n", alpm_strerror(pm_errno)); +			fprintf(stderr, _("error: %s\n"), alpm_strerrorlast());  			retval = 1;  			goto cleanup;  		} -		/* check if pacman itself is one of the packages to upgrade.  If so, we -		 * we should upgrade ourselves first and then re-exec as the new version. -		 * +		/* check if pacman itself is one of the packages to upgrade.  		 * this can prevent some of the "syntax error" problems users can have  		 * when sysupgrade'ing with an older version of pacman.  		 */ -		data = alpm_trans_get_pkgs(); -		for(i = data; i; i = alpm_list_next(i)) { +		pkgs = alpm_trans_get_pkgs(); +		for(i = pkgs; i; i = alpm_list_next(i)) {  			pmsyncpkg_t *sync = alpm_list_getdata(i);  			pmpkg_t *spkg = alpm_sync_get_pkg(sync); -			if(strcmp("pacman", alpm_pkg_get_name(spkg)) == 0 && alpm_list_count(data) > 1) { -				MSG(NL, _("\n:: pacman has detected a newer version of the \"pacman\" package.\n")); -				MSG(NL, _(":: It is recommended that you allow pacman to upgrade itself\n")); -				MSG(NL, _(":: first, then you can re-run the operation with the newer version.\n")); -				MSG(NL, "::\n"); -				if(yesno(_(":: Upgrade pacman first? [Y/n] "))) { +			/* TODO pacman name should probably not be hardcoded. In addition, we +			 * have problems on an -Syu if pacman has to pull in deps, so recommend +			 * an '-S pacman' operation */ +			if(strcmp("pacman", alpm_pkg_get_name(spkg)) == 0) { +				printf("\n"); +				printf(_(":: pacman has detected a newer version of itself.\n" +				         ":: It is recommended that you upgrade pacman by itself\n" +				         ":: using 'pacman -S pacman', and then rerun the current\n" +				         ":: operation. If you wish to continue the operation and\n" +				         ":: not upgrade pacman separately, answer no.\n")); +				if(yesno(_(":: Cancel current operation? [Y/n] "))) {  					if(alpm_trans_release() == -1) { -						ERR(NL, _("failed to release transaction (%s)\n"), alpm_strerror(pm_errno)); +						fprintf(stderr, _("error: failed to release transaction (%s)\n"), +						    alpm_strerrorlast());  						retval = 1;  						goto cleanup;  					} -					if(alpm_trans_init(PM_TRANS_TYPE_SYNC, config->flags, cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) { -						ERR(NL, _("failed to init transaction (%s)\n"), alpm_strerror(pm_errno)); -						if(pm_errno == PM_ERR_HANDLE_LOCK) { -							MSG(NL, _("       if you're sure a package manager is not already running,\n" -			        				"       you can remove %s%s\n"), alpm_option_get_root(), PM_LOCK); -						} +					if(alpm_trans_init(PM_TRANS_TYPE_SYNC, config->flags, +					   cb_trans_evt, cb_trans_conv, cb_trans_progress) == -1) { +						fprintf(stderr, _("error: failed to init transaction (%s)\n"), +						    alpm_strerrorlast());  						return(1);  					}  					if(alpm_trans_addtarget("pacman") == -1) { -						ERR(NL, _("pacman: %s\n"), alpm_strerror(pm_errno)); +						fprintf(stderr, _("error: pacman: %s\n"), alpm_strerrorlast());  						retval = 1;  						goto cleanup;  					} @@ -543,31 +551,39 @@ int pacman_sync(alpm_list_t *targets)  			}  		}  	} else { +		alpm_list_t *i; +  		/* process targets */  		for(i = targets; i; i = alpm_list_next(i)) {  			char *targ = alpm_list_getdata(i);  			if(alpm_trans_addtarget(targ) == -1) {  				pmgrp_t *grp = NULL;  				int found=0; +				alpm_list_t *j; +  				if(pm_errno == PM_ERR_TRANS_DUP_TARGET) {  					/* just ignore duplicate targets */  					continue;  				}  				if(pm_errno != PM_ERR_PKG_NOT_FOUND) { -					ERR(NL, "'%s': %s\n", (char *)i->data, alpm_strerror(pm_errno)); +					fprintf(stderr, _("error: '%s': %s\n"), +					        (char *)i->data, alpm_strerrorlast());  					retval = 1;  					goto cleanup;  				}  				/* target not found: check if it's a group */ -				 -				for(j = alpm_option_get_syncdbs(); j; j = alpm_list_next(j)) { + +				for(j = sync_dbs; j; j = alpm_list_next(j)) {  					pmdb_t *db = alpm_list_getdata(j);  					grp = alpm_db_readgrp(db, targ);  					if(grp) { +						alpm_list_t *k; +  						found++; -						MSG(NL, _(":: group %s:\n"), targ); +						printf(_(":: group %s:\n"), targ);  						/* remove dupe entries in case a package exists in multiple repos */ -						alpm_list_t *pkgs = alpm_list_remove_dupes(alpm_grp_get_pkgs(grp)); +						const alpm_list_t *grppkgs = alpm_grp_get_pkgs(grp); +						alpm_list_t *pkgs = alpm_list_remove_dupes(grppkgs);  						list_display("   ", pkgs);  						if(yesno(_(":: Install whole content? [Y/n] "))) {  							for(k = pkgs; k; k = alpm_list_next(k)) { @@ -585,108 +601,70 @@ int pacman_sync(alpm_list_t *targets)  					}  				}  				if(!found) { -					/* targ not found in sync db, searching for providers... */ -					const char *pname = NULL; -					for(j = alpm_option_get_syncdbs(); j; j = alpm_list_next(j)) { -						pmdb_t *db = alpm_list_getdata(j); -						alpm_list_t *prov = alpm_db_whatprovides(db, targ); -						if(prov) { -							pmpkg_t *pkg = alpm_list_getdata(prov); -							pname = alpm_pkg_get_name(pkg); -							break; -						} -					} -					if(pname != NULL) { -						/* targ is provided by pname */ -						targets = alpm_list_add(targets, strdup(pname)); -					} else { -						ERR(NL, _("'%s': not found in sync db\n"), targ); -						retval = 1; -						goto cleanup; -					} +					fprintf(stderr, _("error: '%s': not found in sync db\n"), targ); +					retval = 1; +					goto cleanup;  				}  			}  		}  	} -	/* Step 2: "compute" the transaction based on targets and flags -	 */ +	/* Step 2: "compute" the transaction based on targets and flags */  	if(alpm_trans_prepare(&data) == -1) { -		long long *pkgsize, *freespace; -		ERR(NL, _("failed to prepare transaction (%s)\n"), alpm_strerror(pm_errno)); +		fprintf(stderr, _("error: failed to prepare transaction (%s)\n"), +		        alpm_strerrorlast());  		switch(pm_errno) { +			alpm_list_t *i;  			case PM_ERR_UNSATISFIED_DEPS:  				for(i = data; i; i = alpm_list_next(i)) {  					pmdepmissing_t *miss = alpm_list_getdata(i); -					MSG(NL, ":: %s %s %s", alpm_dep_get_target(miss), _("requires"), -							    alpm_dep_get_name(miss)); -					switch(alpm_dep_get_mod(miss)) { -						case PM_DEP_MOD_ANY: -							break; -						case PM_DEP_MOD_EQ: -							MSG(CL, "=%s", alpm_dep_get_version(miss)); -							break; -						case PM_DEP_MOD_GE: -							MSG(CL, ">=%s", alpm_dep_get_version(miss)); -							break; -						case PM_DEP_MOD_LE: -							MSG(CL, "<=%s", alpm_dep_get_version(miss)); -							break; -					} -					MSG(CL, "\n"); +					pmdepend_t *dep = alpm_miss_get_dep(miss); +					char *depstring = alpm_dep_get_string(dep); +					printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss), +							depstring); +					free(depstring);  				} -			break; +				break;  			case PM_ERR_CONFLICTING_DEPS:  			  for(i = data; i; i = alpm_list_next(i)) { -					pmdepmissing_t *miss = alpm_list_getdata(i); - -					MSG(NL, _(":: %s: conflicts with %s"), -							alpm_dep_get_target(miss), alpm_dep_get_name(miss)); +					pmconflict_t *conflict = alpm_list_getdata(i); +					printf(_(":: %s: conflicts with %s\n"), +							alpm_conflict_get_package1(conflict), alpm_conflict_get_package2(conflict));  				} -			break; -			case PM_ERR_DISK_FULL: -				pkgsize = alpm_list_getdata(data); -				freespace = alpm_list_getdata(alpm_list_next(data)); -				MSG(NL, _(":: %.1f MB required, have %.1f MB"), -							(double)(*pkgsize / 1048576.0), (double)(*freespace / 1048576.0)); -			break; +				break;  			default: -			break; +				break;  		}  		retval = 1;  		goto cleanup;  	} -	packages = alpm_trans_get_pkgs(); +	alpm_list_t *packages = alpm_trans_get_pkgs();  	if(packages == NULL) {  		/* nothing to do: just exit without complaining */ -		MSG(NL, _(" local database is up to date\n")); +		printf(_(" local database is up to date\n"));  		goto cleanup;  	}  	if(!(alpm_trans_get_flags() & PM_TRANS_FLAG_PRINTURIS)) { -		display_targets(packages); +		int confirm; + +		display_targets(packages, db_local); +		printf("\n");  		if(config->op_s_downloadonly) {  			if(config->noconfirm) { -				MSG(NL, _("\nBeginning download...\n")); +				printf(_("Beginning download...\n"));  				confirm = 1;  			} else { -				MSG(NL, "\n");  				confirm = yesno(_("Proceed with download? [Y/n] "));  			}  		} else { -			/* don't get any confirmation if we're called from makepkg */ -			if(config->op_d_resolve) { +			if(config->noconfirm) { +				printf(_("Beginning upgrade process...\n"));  				confirm = 1;  			} else { -				if(config->noconfirm) { -					MSG(NL, _("\nBeginning upgrade process...\n")); -					confirm = 1; -				} else { -					MSG(NL, "\n"); -					confirm = yesno(_("Proceed with installation? [Y/n] ")); -				} +				confirm = yesno(_("Proceed with installation? [Y/n] "));  			}  		}  		if(!confirm) { @@ -694,55 +672,115 @@ int pacman_sync(alpm_list_t *targets)  		}  	}/* else 'print uris' requested.  We're done at this point */ -	/* Step 3: actually perform the installation -	*/ +	/* Step 3: actually perform the installation */  	if(alpm_trans_commit(&data) == -1) { -		ERR(NL, _("failed to commit transaction (%s)\n"), alpm_strerror(pm_errno)); +		fprintf(stderr, _("error: failed to commit transaction (%s)\n"), +		        alpm_strerrorlast());  		switch(pm_errno) { -		case PM_ERR_FILE_CONFLICTS: -			for(i = data; i; i = alpm_list_next(i)) { -				pmconflict_t *conflict = alpm_list_getdata(i); -				switch(alpm_conflict_get_type(conflict)) { -				case PM_CONFLICT_TYPE_TARGET: -					MSG(NL, _("%s exists in both '%s' and '%s'\n"), -							alpm_conflict_get_file(conflict), -							alpm_conflict_get_target(conflict), -							alpm_conflict_get_ctarget(conflict)); -					break; -				case PM_CONFLICT_TYPE_FILE: -					MSG(NL, _("%s: %s exists in filesystem\n"), -							alpm_conflict_get_target(conflict), -							alpm_conflict_get_file(conflict)); -					break; +			alpm_list_t *i; +			case PM_ERR_FILE_CONFLICTS: +				for(i = data; i; i = alpm_list_next(i)) { +					pmfileconflict_t *conflict = alpm_list_getdata(i); +					switch(alpm_fileconflict_get_type(conflict)) { +						case PM_FILECONFLICT_TARGET: +							printf(_("%s exists in both '%s' and '%s'\n"), +									alpm_fileconflict_get_file(conflict), +									alpm_fileconflict_get_target(conflict), +									alpm_fileconflict_get_ctarget(conflict)); +							break; +						case PM_FILECONFLICT_FILESYSTEM: +							printf(_("%s: %s exists in filesystem\n"), +									alpm_fileconflict_get_target(conflict), +									alpm_fileconflict_get_file(conflict)); +							break; +					}  				} -			} -			MSG(NL, _("\nerrors occurred, no packages were upgraded.\n")); -			break; -		case PM_ERR_PKG_CORRUPTED: -			for(i = data; i; i = alpm_list_next(i)) { -				MSG(NL, "%s", (char*)alpm_list_getdata(i)); -			} -			MSG(NL, _("\nerrors occurred, no packages were upgraded.\n")); -			break; -		default: -			break; +				break; +			case PM_ERR_PKG_CORRUPTED: +				for(i = data; i; i = alpm_list_next(i)) { +					printf("%s", (char*)alpm_list_getdata(i)); +				} +				break; +			default: +				break;  		} +		/* TODO: stderr? */ +		printf(_("Errors occurred, no packages were upgraded.\n"));  		retval = 1;  		goto cleanup;  	} -	/* Step 4: release transaction resources -	 */ +	/* Step 4: release transaction resources */  cleanup:  	if(data) { +		alpm_list_free_inner(data, free);  		alpm_list_free(data);  	}  	if(alpm_trans_release() == -1) { -		ERR(NL, _("failed to release transaction (%s)\n"), alpm_strerror(pm_errno)); +		fprintf(stderr, _("error: failed to release transaction (%s)\n"), +		        alpm_strerrorlast());  		retval = 1;  	}  	return(retval);  } +int pacman_sync(alpm_list_t *targets) +{ +	alpm_list_t *sync_dbs = NULL; +	int sync_only = 0; + +	/* clean the cache */ +	if(config->op_s_clean) { +		int ret = sync_cleancache(config->op_s_clean); +		ret += sync_cleandb_all(); +		return(ret); +	} + +	/* ensure we have at least one valid sync db set up */ +	sync_dbs = alpm_option_get_syncdbs(); +	if(sync_dbs == NULL || alpm_list_count(sync_dbs) == 0) { +		pm_printf(PM_LOG_ERROR, _("no usable package repositories configured.\n")); +		return(1); +	} + +	if(config->op_s_search || config->group +			|| config->op_s_info || config->op_q_list) { +		sync_only = 1; +	} else if(targets == NULL && !(config->op_s_sync || config->op_s_upgrade)) { +		/* don't proceed here unless we have an operation that doesn't require +		 * a target list */ +		pm_printf(PM_LOG_ERROR, _("no targets specified (use -h for help)\n")); +		return(1); +	} + +	if(needs_transaction()) { +		if(sync_trans(targets, sync_only) == 1) { +			return(1); +		} +	} + +	/* search for a package */ +	if(config->op_s_search) { +		return(sync_search(sync_dbs, targets)); +	} + +	/* look for groups */ +	if(config->group) { +		return(sync_group(config->group, sync_dbs, targets)); +	} + +	/* get package info */ +	if(config->op_s_info) { +		return(sync_info(sync_dbs, targets)); +	} + +	/* get a listing of files in sync DBs */ +	if(config->op_q_list) { +		return(sync_list(sync_dbs, targets)); +	} + +	return(0); +} +  /* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/sync.h b/src/pacman/sync.h deleted file mode 100644 index 7175577f..00000000 --- a/src/pacman/sync.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - *  sync.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ -#ifndef _PM_SYNC_H -#define _PM_SYNC_H - -#include <alpm_list.h> - -int pacman_sync(alpm_list_t *targets); - -#endif /* _PM_SYNC_H */ - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/trans.c b/src/pacman/trans.c deleted file mode 100644 index 7f5c61c8..00000000 --- a/src/pacman/trans.c +++ /dev/null @@ -1,383 +0,0 @@ -/* - *  trans.c - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ - -#include "config.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/stat.h> -#include <unistd.h> -#include <dirent.h> -#include <libintl.h> -#include <wchar.h> - -#include <alpm.h> - -/* pacman */ -#include "trans.h" -#include "util.h" -#include "log.h" -#include "conf.h" - -#define LOG_STR_LEN 256 - -extern config_t *config; - -static int prevpercent=0; /* for less progressbar output */ - -/* Callback to handle transaction events - */ -void cb_trans_evt(pmtransevt_t event, void *data1, void *data2) -{ -	char str[LOG_STR_LEN] = ""; - -	switch(event) { -		case PM_TRANS_EVT_CHECKDEPS_START: -		  MSG(NL, _("checking dependencies... ")); -			break; -		case PM_TRANS_EVT_FILECONFLICTS_START: -			if(config->noprogressbar) { -			MSG(NL, _("checking for file conflicts... ")); -			} -			break; -		case PM_TRANS_EVT_CLEANUP_START: -			MSG(NL, _("cleaning up... ")); -			break; -		case PM_TRANS_EVT_RESOLVEDEPS_START: -			MSG(NL, _("resolving dependencies... ")); -			break; -		case PM_TRANS_EVT_INTERCONFLICTS_START: -			MSG(NL, _("looking for inter-conflicts... ")); -			break; -		case PM_TRANS_EVT_FILECONFLICTS_DONE: -			if(config->noprogressbar) { -				MSG(CL, _("done.\n")); -			} -			break; -		case PM_TRANS_EVT_CHECKDEPS_DONE: -		case PM_TRANS_EVT_CLEANUP_DONE: -		case PM_TRANS_EVT_RESOLVEDEPS_DONE: -		case PM_TRANS_EVT_INTERCONFLICTS_DONE: -			MSG(CL, _("done.\n")); -			break; -		case PM_TRANS_EVT_EXTRACT_DONE: -			break; -		case PM_TRANS_EVT_ADD_START: -			if(config->noprogressbar) { -				MSG(NL, _("installing %s... "), alpm_pkg_get_name(data1)); -			} -			break; -		case PM_TRANS_EVT_ADD_DONE: -			if(config->noprogressbar) { -				MSG(CL, _("done.\n")); -			} -			snprintf(str, LOG_STR_LEN, _("installed %s (%s)"), -			         alpm_pkg_get_name(data1), -			         alpm_pkg_get_version(data1)); -			alpm_logaction(str); -			break; -		case PM_TRANS_EVT_REMOVE_START: -			if(config->noprogressbar) { -			MSG(NL, _("removing %s... "), alpm_pkg_get_name(data1)); -			} -			break; -		case PM_TRANS_EVT_REMOVE_DONE: -			if(config->noprogressbar) { -			    MSG(CL, _("done.\n")); -			} -			snprintf(str, LOG_STR_LEN, _("removed %s (%s)"), -			         alpm_pkg_get_name(data1), -			         alpm_pkg_get_version(data1)); -			alpm_logaction(str); -			break; -		case PM_TRANS_EVT_UPGRADE_START: -			if(config->noprogressbar) { -				MSG(NL, _("upgrading %s... "), alpm_pkg_get_name(data1)); -			} -			break; -		case PM_TRANS_EVT_UPGRADE_DONE: -			if(config->noprogressbar) { -				MSG(CL, _("done.\n")); -			} -			snprintf(str, LOG_STR_LEN, _("upgraded %s (%s -> %s)"), -			         (char *)alpm_pkg_get_name(data1), -			         (char *)alpm_pkg_get_version(data2), -			         (char *)alpm_pkg_get_version(data1)); -			alpm_logaction(str); -			break; -		case PM_TRANS_EVT_INTEGRITY_START: -			MSG(NL, _("checking package integrity... ")); -			break; -		case PM_TRANS_EVT_INTEGRITY_DONE: -			MSG(CL, _("done.\n")); -			break; -		case PM_TRANS_EVT_SCRIPTLET_INFO: -			MSG(NL, "%s\n", (char*)data1); -			break; -		case PM_TRANS_EVT_SCRIPTLET_START: -			MSG(NL, (char*)data1); -			MSG(CL, "..."); -			break; -		case PM_TRANS_EVT_SCRIPTLET_DONE: -			if(!(long)data1) { -				MSG(CL, _("done.\n")); -			} else { -				MSG(CL, _("failed.\n")); -			} -			break; -		case PM_TRANS_EVT_PRINTURI: -			MSG(NL, "%s/%s\n", (char*)data1, (char*)data2); -			break; -		case PM_TRANS_EVT_RETRIEVE_START: -			MSG(NL, _(":: Retrieving packages from %s...\n"), (char*)data1); -			fflush(stdout); -			break; -	} -} - -void cb_trans_conv(pmtransconv_t event, void *data1, void *data2, -                   void *data3, int *response) -{ -	char str[LOG_STR_LEN] = ""; - -	switch(event) { -		case PM_TRANS_CONV_INSTALL_IGNOREPKG: -			if(config->noask) { -				if(config->ask & PM_TRANS_CONV_INSTALL_IGNOREPKG) { -					*response = 1; -				} else { -					*response = 0; -				} -			} else if(data2) { -				/* TODO we take this route based on data2 being not null? WTF */ -				snprintf(str, LOG_STR_LEN, _(":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] "), -				         alpm_pkg_get_name(data1), -				         alpm_pkg_get_name(data2)); -				*response = yesno(str); -			} else { -				snprintf(str, LOG_STR_LEN, _(":: %s is in IgnorePkg. Install anyway? [Y/n] "), -				         alpm_pkg_get_name(data1)); -				*response = yesno(str); -			} -			break; -		case PM_TRANS_CONV_REMOVE_HOLDPKG: -			if(config->noask) { -				if(config->ask & PM_TRANS_CONV_REMOVE_HOLDPKG) { -					*response = 1; -				} else { -					*response = 0; -				} -			} else { -				snprintf(str, LOG_STR_LEN, _(":: %s is designated as a HoldPkg. Remove anyway? [Y/n] "), -				         alpm_pkg_get_name(data1)); -				*response = yesno(str); -			} -			break; -		case PM_TRANS_CONV_REPLACE_PKG: -			if(config->noask) { -				if(config->ask & PM_TRANS_CONV_REPLACE_PKG) { -					*response = 1; -				} else { -					*response = 0; -				} -			} else { -				snprintf(str, LOG_STR_LEN, _(":: Replace %s with %s/%s? [Y/n] "), -				         alpm_pkg_get_name(data1), -				         (char *)data3, -				         alpm_pkg_get_name(data2)); -				*response = yesno(str); -			} -			break; -		case PM_TRANS_CONV_CONFLICT_PKG: -			if(config->noask) { -				if(config->ask & PM_TRANS_CONV_CONFLICT_PKG) { -					*response = 1; -				} else { -					*response = 0; -				} -			} else { -				snprintf(str, LOG_STR_LEN, _(":: %s conflicts with %s. Remove %s? [Y/n] "), -				         (char *)data1, -				         (char *)data2, -				         (char *)data2); -				*response = yesno(str); -			} -			break; -		case PM_TRANS_CONV_LOCAL_NEWER: -			if(config->noask) { -				if(config->ask & PM_TRANS_CONV_LOCAL_NEWER) { -					*response = 1; -				} else { -					*response = 0; -				} -			} else { -				if(!config->op_s_downloadonly) { -					snprintf(str, LOG_STR_LEN, _(":: %s-%s: local version is newer. Upgrade anyway? [Y/n] "), -				         alpm_pkg_get_name(data1), -				         alpm_pkg_get_version(data1)); -					*response = yesno(str); -				} else { -					*response = 1; -				} -			} -			break; -		case PM_TRANS_CONV_LOCAL_UPTODATE: -			if(config->noask) { -				if(config->ask & PM_TRANS_CONV_LOCAL_UPTODATE) { -					*response = 1; -				} else { -					*response = 0; -				} -			} else { -				if(!config->op_s_downloadonly) { -					snprintf(str, LOG_STR_LEN, _(":: %s-%s: local version is up to date. Upgrade anyway? [Y/n] "), -				         alpm_pkg_get_name(data1), -				         alpm_pkg_get_version(data1)); -					*response = yesno(str); -				} else { -					*response = 1; -				} -			} -			break; -		case PM_TRANS_CONV_CORRUPTED_PKG: -			if(config->noask) { -				if(config->ask & PM_TRANS_CONV_CORRUPTED_PKG) { -					*response = 1; -				} else { -					*response = 0; -				} -			} else { -				if(!config->noconfirm) { -					snprintf(str, LOG_STR_LEN, _(":: Archive %s is corrupted. Do you want to delete it? [Y/n] "), -				         (char *)data1); -					*response = yesno(str); -				} else { -					*response = 1; -				} -			} -			break; -	} -} - -void cb_trans_progress(pmtransprog_t event, const char *pkgname, int percent, -                       int howmany, int remain) -{ -	float timediff; - -	/* size of line to allocate for text printing (e.g. not progressbar) */ -	const int infolen = 50; -	int tmp, digits, oprlen, textlen, pkglen; -	char *opr = NULL; -	wchar_t *wcopr = NULL; - -	if(config->noprogressbar) { -		return; -	} - -	/* XXX: big fat hack: due to the fact that we switch out printf/pm_fprintf, -	 * not everything honors our 'neednl' newline hackery.  This forces a newline -	 * if we need one before drawing the progress bar */ -	MSG(NL,NULL); - -	if(percent == 0) { -		set_output_padding(1); /* turn on output padding with ' ' */ -		timediff = get_update_timediff(1); -	} else { -		timediff = get_update_timediff(0); -	} - -	if(percent > 0 && percent < 100 && !timediff) { -		/* only update the progress bar when -		 * a) we first start -		 * b) we end the progress -		 * c) it has been long enough since the last call -		 */ -		return; -	} - -	/* if no pkgname, percent is too high or unchanged, then return */ -	if(!pkgname || percent == prevpercent) { -		return; -	} - -	prevpercent=percent; -	/* set text of message to display */ -	switch (event) { -		case PM_TRANS_PROGRESS_ADD_START: -			opr = _("installing"); -			break; -		case PM_TRANS_PROGRESS_UPGRADE_START: -			opr = _("upgrading"); -			break; -		case PM_TRANS_PROGRESS_REMOVE_START: -			opr = _("removing"); -			break; -		case PM_TRANS_PROGRESS_CONFLICTS_START: -			opr = _("checking for file conflicts"); -			break; -	} -	/* convert above strings to wide chars */ -	oprlen = strlen(opr); -	wcopr = (wchar_t*)calloc(oprlen, sizeof(wchar_t)); -	if(!wcopr) { -		fprintf(stderr, "malloc failure: could not allocate %d bytes\n", -		        strlen(opr) * sizeof(wchar_t)); -	} -	oprlen = mbstowcs(wcopr, opr, oprlen); - -	/* find # of digits in package counts to scale output */ -	digits = 1; -	tmp = howmany; -	while((tmp /= 10)) { -		++digits; -	} - -	/* determine room left for non-digits text [not ( 1/12) part] */ -	textlen = infolen - 3 - (2 * digits); -	/* room left for package name */ -	pkglen = textlen - oprlen - 1; - -	switch (event) { -		case PM_TRANS_PROGRESS_ADD_START: -		case PM_TRANS_PROGRESS_UPGRADE_START: -		case PM_TRANS_PROGRESS_REMOVE_START: -			printf("(%2$*1$d/%3$*1$d) %4$s %6$-*5$.*5$s", digits, remain, howmany, -			       opr, pkglen, pkgname); -			break; -		case PM_TRANS_PROGRESS_CONFLICTS_START: -			printf("(%2$*1$d/%3$*1$d) %5$-*4$s", digits, remain, howmany, -			       textlen, opr); -			break; -	} - -	free(wcopr); - -	/* call refactored fill progress function */ -	fill_progress(percent, getcols() - infolen); - -	if(percent >= 100) { -		set_output_padding(0); /* restore padding */ -	} - -} - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c deleted file mode 100644 index a4c94bb7..00000000 --- a/src/pacman/upgrade.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - *  upgrade.c - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  - *  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. - * - *  This program is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  - *  USA. - */ - -#include "config.h" - -#include <stdlib.h> - -#include <alpm.h> -#include <alpm_list.h> - -/* pacman */ -#include "upgrade.h" -#include "add.h" -#include "conf.h" - -extern config_t *config; - -int pacman_upgrade(alpm_list_t *targets) -{ -	/* this is basically just a remove-then-add process. pacman_add() will */ -	/* handle it */ -	config->upgrade = 1; -	return(pacman_add(targets)); -} - - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/util.c b/src/pacman/util.c index 9c79cf5f..89313c83 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -1,8 +1,8 @@  /*   *  util.c - *  + *   *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + *   *  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 @@ -15,32 +15,27 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */  #include "config.h" -#if defined(__APPLE__) || defined(__OpenBSD__) -#include <sys/syslimits.h> -#include <sys/stat.h> -#endif  #include <sys/types.h>  #include <sys/ioctl.h>  #include <sys/time.h> +#include <sys/stat.h>  #include <stdio.h>  #include <stdlib.h> +#include <stdarg.h>  #include <string.h>  #include <errno.h>  #include <fcntl.h>  #include <ctype.h>  #include <dirent.h>  #include <unistd.h> -#include <libintl.h> -#ifdef CYGWIN -#include <limits.h> /* PATH_MAX */ -#endif +#include <limits.h>  #include <alpm.h>  #include <alpm_list.h> @@ -48,9 +43,21 @@  /* pacman */  #include "util.h"  #include "conf.h" -#include "log.h" -extern config_t *config; +int needs_transaction() +{ +	if(config->op != PM_OP_MAIN && config->op != PM_OP_QUERY && config->op != PM_OP_DEPTEST) { +		if((config->op == PM_OP_SYNC && !config->op_s_sync && +				(config->op_s_search || config->group || config->op_q_list || config->op_q_info)) +			 || config->op == PM_OP_DEPTEST) { +			/* special case: PM_OP_SYNC can be used w/ config->op_s_search by any user */ +			return(0); +		} else { +			return(1); +		} +	} +	return(0); +}  /* gets the current screen column width */  int getcols() @@ -86,10 +93,10 @@ int getcols()  }  /* does the same thing as 'mkdir -p' */ -int makepath(char *path) +int makepath(const char *path)  {  	char *orig, *str, *ptr; -	char full[PATH_MAX] = ""; +	char full[PATH_MAX+1] = "";  	mode_t oldmask;  	oldmask = umask(0000); @@ -100,6 +107,7 @@ int makepath(char *path)  		if(strlen(ptr)) {  			struct stat buf; +			/* TODO we should use strncat */  			strcat(full, "/");  			strcat(full, ptr);  			if(stat(full, &buf)) { @@ -117,7 +125,7 @@ int makepath(char *path)  }  /* does the same thing as 'rm -rf' */ -int rmrf(char *path) +int rmrf(const char *path)  {  	int errflag = 0;  	struct dirent *dp; @@ -159,6 +167,28 @@ int rmrf(char *path)  	}  } +/** Parse the basename of a program from a path. +* Grabbed from the uClibc source. +* @param path path to parse basename from +* +* @return everything following the final '/' +*/ +char *mbasename(const char *path) +{ +	const char *s; +	const char *p; + +	p = s = path; + +	while (*s) { +		if (*s++ == '/') { +			p = s; +		} +	} + +	return (char *)p; +} +  /* output a string, but wrap words properly with a specified indentation   */  void indentprint(const char *str, int indent) @@ -169,12 +199,12 @@ void indentprint(const char *str, int indent)  	while(*p) {  		if(*p == ' ') {  			const char *next = NULL; -			unsigned int len; +			int len;  			p++;  			if(p == NULL || *p == ' ') continue;  			next = strchr(p, ' ');  			if(next == NULL) { -				next = p + strlen(p); +				next = p + mbstowcs(NULL, p, 0);  			}  			len = next - p;  			if(len > (getcols() - cidx - 1)) { @@ -214,34 +244,133 @@ char *strtoupper(char *str)  char *strtrim(char *str)  {  	char *pch = str; + +	if(str == NULL || *str == '\0') { +		/* string is empty, so we're done. */ +		return(str); +	} +  	while(isspace(*pch)) {  		pch++;  	}  	if(pch != str) {  		memmove(str, pch, (strlen(pch) + 1));  	} -	 -	pch = (char *)(str + (strlen(str) - 1)); + +	/* check if there wasn't anything but whitespace in the string. */ +	if(*str == '\0') { +		return(str); +	} + +	pch = (str + (strlen(str) - 1));  	while(isspace(*pch)) {  		pch--;  	}  	*++pch = '\0'; -	return str; +	return(str); +} + +/* Helper function for strreplace */ +static void _strnadd(char **str, const char *append, unsigned int count) +{ +	if(*str) { +		*str = realloc(*str, strlen(*str) + count + 1); +	} else { +		*str = calloc(sizeof(char), count + 1); +	} + +	strncat(*str, append, count); +} + +/* Replace all occurances of 'needle' with 'replace' in 'str', returning + * a new string (must be free'd) */ +char *strreplace(const char *str, const char *needle, const char *replace) +{ +	const char *p, *q; +	p = q = str; + +	char *newstr = NULL; +	unsigned int needlesz = strlen(needle), +							 replacesz = strlen(replace); + +	while (1) { +		q = strstr(p, needle); +		if(!q) { /* not found */ +			if(*p) { +				/* add the rest of 'p' */ +				_strnadd(&newstr, p, strlen(p)); +			} +			break; +		} else { /* found match */ +			if(q > p){ +				/* add chars between this occurance and last occurance, if any */ +				_strnadd(&newstr, p, q - p); +			} +			_strnadd(&newstr, replace, replacesz); +			p = q + needlesz; +		} +	} + +	return newstr; +} + +/** Splits a string into a list of strings using the chosen character as + * a delimiter. + * + * @param str the string to split + * @param splitchar the character to split at + * + * @return a list containing the duplicated strings + */ +alpm_list_t *strsplit(const char *str, const char splitchar) +{ +	alpm_list_t *list = NULL; +	const char *prev = str; +	char *dup = NULL; + +	while((str = strchr(str, splitchar))) { +		dup = strndup(prev, str - prev); +		if(dup == NULL) { +			return(NULL); +		} +		list = alpm_list_add(list, dup); + +		str++; +		prev = str; +	} + +	dup = strdup(prev); +	if(dup == NULL) { +		return(NULL); +	} +	list = alpm_list_add(list, strdup(prev)); + +	return(list);  } -void list_display(const char *title, alpm_list_t *list) +void string_display(const char *title, const char *string)  { -	alpm_list_t *i; +	printf("%s ", title); +	if(string == NULL || string[0] == '\0') { +		printf(_("None\n")); +	} else { +		printf("%s\n", string); +	} +} + +void list_display(const char *title, const alpm_list_t *list) +{ +	const alpm_list_t *i;  	int cols, len; -	len = strlen(title); +	len = mbstowcs(NULL, title, 0);  	printf("%s ", title);  	if(list) {  		for(i = list, cols = len; i; i = alpm_list_next(i)) {  			char *str = alpm_list_getdata(i); -			int s = strlen(str) + 2; +			int s = mbstowcs(NULL, str, 0) + 2;  			int maxcols = getcols();  			if(s + cols >= maxcols) {  				int i; @@ -264,14 +393,15 @@ void list_display(const char *title, alpm_list_t *list)   * `pkgs` should be a list of pmsyncpkg_t's,   * retrieved from a transaction object   */ -void display_targets(alpm_list_t *syncpkgs) +/* TODO move to output.c? or just combine util and output */ +void display_targets(const alpm_list_t *syncpkgs, pmdb_t *db_local)  {  	char *str; -	alpm_list_t *i, *j; +	const alpm_list_t *i, *j;  	alpm_list_t *targets = NULL, *to_remove = NULL;  	/* TODO these are some messy variable names */ -	unsigned long size = 0, isize = 0, rsize = 0; -	double mbsize = 0.0, mbisize = 0.0, mbrsize = 0.0; +	unsigned long isize = 0, rsize = 0, dispsize = 0, dlsize = 0; +	double mbisize = 0.0, mbrsize = 0.0, mbdispsize = 0.0, mbdlsize = 0.0;  	for(i = syncpkgs; i; i = alpm_list_next(i)) {  		pmsyncpkg_t *sync = alpm_list_getdata(i); @@ -282,7 +412,7 @@ void display_targets(alpm_list_t *syncpkgs)  		 * installed. */  		if(alpm_sync_get_type(sync) == PM_SYNC_TYPE_REPLACE) {  			alpm_list_t *to_replace = alpm_sync_get_data(sync); -			 +  			for(j = to_replace; j; j = alpm_list_next(j)) {  				pmpkg_t *rp = alpm_list_getdata(j);  				const char *name = alpm_pkg_get_name(rp); @@ -294,153 +424,178 @@ void display_targets(alpm_list_t *syncpkgs)  			}  		} -		size += alpm_pkg_get_size(pkg); +		dispsize = alpm_pkg_get_size(pkg); +		dlsize += alpm_pkg_download_size(pkg, db_local);  		isize += alpm_pkg_get_isize(pkg); -		asprintf(&str, "%s-%s", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); +		/* print the package size with the output if ShowSize option set */ +		if(config->showsize) { +			/* Convert byte size to MB */ +			mbdispsize = dispsize / (1024.0 * 1024.0); + +			asprintf(&str, "%s-%s [%.2f MB]", alpm_pkg_get_name(pkg), +					alpm_pkg_get_version(pkg), mbdispsize); +		} else { +			asprintf(&str, "%s-%s", alpm_pkg_get_name(pkg), +					alpm_pkg_get_version(pkg)); +		}  		targets = alpm_list_add(targets, str);  	}  	/* Convert byte sizes to MB */ -	mbsize = (double)(size) / (1024.0 * 1024.0); -	mbisize = (double)(isize) / (1024.0 * 1024.0); -	mbrsize = (double)(rsize) / (1024.0 * 1024.0); +	mbisize = isize / (1024.0 * 1024.0); +	mbrsize = rsize / (1024.0 * 1024.0); +	mbdlsize = dlsize / (1024.0 * 1024.0); + +	/* start displaying information */ +	printf("\n");  	if(to_remove) { -		MSG(NL, "\n"); /* TODO ugly hack. printing a single NL should be easy */  		list_display(_("Remove:"), to_remove); +		printf("\n");  		FREELIST(to_remove); -	 -		if(mbrsize > 0) { -			/* round up if size is really small */ -			if(mbrsize < 0.1) { -				mbrsize = 0.1; -			} -			MSG(NL, _("\nTotal Removed Size:   %.2f MB\n"), mbrsize); -		} + +		printf(_("Total Removed Size:   %.2f MB\n"), mbrsize); +		printf("\n");  	} -	MSG(NL, "\n"); /* TODO ugly hack. printing a single NL should be easy */   	list_display(_("Targets:"), targets); +	printf("\n"); -	/* round up if size is really small */ -	if(mbsize < 0.1) { -		mbsize = 0.1; -	} -	MSG(NL, _("\nTotal Package Size:   %.2f MB\n"), mbsize); -	 -	if(mbisize > mbsize) { -		/*round up if size is really small */ -		if(mbisize < 0.1) { -			mbisize = 0.1; -		} -		MSG(NL, _("Total Installed Size:   %.2f MB\n"), mbisize); +	printf(_("Total Download Size:    %.2f MB\n"), mbdlsize); + +	/* TODO because all pkgs don't include isize, this is a crude hack */ +	if(mbisize > mbdlsize) { +		printf(_("Total Installed Size:   %.2f MB\n"), mbisize);  	}  	FREELIST(targets);  } -/* Silly little helper function, determines if the caller needs a visual update - * since the last time this function was called. - * This is made for the two progress bar functions, to prevent flicker - * - * first_call indicates if this is the first time it is called, for - * initialization purposes */ -float get_update_timediff(int first_call) +/* presents a prompt and gets a Y/N answer */ +/* TODO there must be a better way */ +int yesno(char *fmt, ...)  { -	float retval = 0.0; -	static struct timeval last_time = {0}; +	char response[32]; +	va_list args; -	/* on first call, simply set the last time and return */ -	if(first_call) { -		gettimeofday(&last_time, NULL); -	} else { -		struct timeval this_time; -		float diff_sec, diff_usec; +	if(config->noconfirm) { +		return(1); +	} -		gettimeofday(&this_time, NULL); -		diff_sec = this_time.tv_sec - last_time.tv_sec; -		diff_usec = this_time.tv_usec - last_time.tv_usec; +	va_start(args, fmt); +	/* Use stderr so questions are always displayed when redirecting output */ +	vfprintf(stderr, fmt, args); +	va_end(args); -		retval = diff_sec + (diff_usec / 1000000.0); +	if(fgets(response, 32, stdin)) { +		if(strlen(response) != 0) { +			strtrim(response); +		} -		/* return 0 and do not update last_time if interval was too short */ -		if(retval < UPDATE_SPEED_SEC) { -			retval = 0.0; -		} else { -			last_time = this_time; -			/* printf("\nupdate retval: %f\n", retval); DEBUG*/ +		if(!strcasecmp(response, _("Y")) || !strcasecmp(response, _("YES")) || strlen(response) == 0) { +			return(1);  		}  	} -	 -	return(retval); +	return(0);  } -/* refactored from cb_trans_progress */ -void fill_progress(const int percent, const int proglen) +int pm_printf(pmloglevel_t level, const char *format, ...)  { -	const unsigned short chomp = alpm_option_get_chomp(); -	const unsigned int hashlen = proglen - 8; -	const unsigned int hash = percent * hashlen / 100; -	static unsigned int lasthash = 0, mouth = 0; -	unsigned int i; +	int ret; +	va_list args; -	/* printf("\ndebug: proglen: %i\n", proglen); DEBUG*/ +	/* print the message using va_arg list */ +	va_start(args, format); +	ret = pm_vfprintf(stdout, level, format, args); +	va_end(args); -	if(percent == 0) { -		lasthash = 0; -		mouth = 0; -	} +	return(ret); +} -	/* magic numbers, how I loathe thee */ -	if(proglen > 8) { -		printf(" ["); -		for(i = hashlen; i > 1; --i) { -			/* if special progress bar enabled */ -			if(chomp) { -				if(i > hashlen - hash) { -					printf("-"); -				} else if(i == hashlen - hash) { -					if(lasthash == hash) { -						if(mouth) { -							printf("\033[1;33mC\033[m"); -						} else { -							printf("\033[1;33mc\033[m"); -						} -					} else { -						lasthash = hash; -						mouth = mouth == 1 ? 0 : 1; -						if(mouth) { -							printf("\033[1;33mC\033[m"); -						} else { -							printf("\033[1;33mc\033[m"); -						} -					} -				} else if(i%3 == 0) { -					printf("\033[0;37mo\033[m"); -				} else { -					printf("\033[0;37m \033[m"); -				} -			} /* else regular progress bar */ -			else if(i > hashlen - hash) { -				printf("#"); -			} else { -				printf("-"); -			} -		} -		printf("]"); +int pm_fprintf(FILE *stream, pmloglevel_t level, const char *format, ...) +{ +	int ret; +	va_list args; + +	/* print the message using va_arg list */ +	va_start(args, format); +	ret = pm_vfprintf(stream, level, format, args); +	va_end(args); + +	return(ret); +} + +int pm_vfprintf(FILE *stream, pmloglevel_t level, const char *format, va_list args) +{ +	int ret = 0; + +	/* if current logmask does not overlap with level, do not print msg */ +	if(!(config->logmask & level)) { +		return ret;  	} -	/* print percent after progress bar */ -	if(proglen > 5) { -		printf(" %3d%%", percent); + +#if defined(PACMAN_DEBUG) +	/* If debug is on, we'll timestamp the output */ +  if(config->logmask & PM_LOG_DEBUG) { +		time_t t; +		struct tm *tmp; +		char timestr[10] = {0}; + +		t = time(NULL); +		tmp = localtime(&t); +		strftime(timestr, 9, "%H:%M:%S", tmp); +		timestr[8] = '\0'; + +		printf("[%s] ", timestr);  	} +#endif -	if(percent == 100) { -		printf("\n"); -	} else { -		printf("\r"); +	/* print a prefix to the message */ +	switch(level) { +		case PM_LOG_DEBUG: +			fprintf(stream, _("debug: ")); +			break; +		case PM_LOG_ERROR: +			fprintf(stream, _("error: ")); +			break; +		case PM_LOG_WARNING: +			fprintf(stream, _("warning: ")); +			break; +		case PM_LOG_FUNCTION: +		  /* TODO we should increase the indent level when this occurs so we can see +			 * program flow easier.  It'll be fun */ +			fprintf(stream, _("function: ")); +			break; +		default: +			break;  	} -	fflush(stdout); + +	/* print the message using va_arg list */ +	ret = vfprintf(stream, format, args); +	return(ret); +} + +#ifndef HAVE_STRNDUP +/* A quick and dirty implementation derived from glibc */ +static size_t strnlen(const char *s, size_t max) +{ +    register const char *p; +    for(p = s; *p && max--; ++p); +    return(p - s);  } +char *strndup(const char *s, size_t n) +{ +  size_t len = strnlen(s, n); +  char *new = (char *) malloc(len + 1); + +  if (new == NULL) +    return NULL; + +  new[len] = '\0'; +  return (char *) memcpy(new, s, len); +} +#endif +  /* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/util.h b/src/pacman/util.h index 6eba38fe..0295d7e5 100644 --- a/src/pacman/util.h +++ b/src/pacman/util.h @@ -1,8 +1,8 @@  /*   *  util.h - *  - *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> - *  + * + *  Copyright (c) 2002-2007 by Judd Vinet <jvinet@zeroflux.org> + *   *  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 @@ -15,52 +15,50 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */  #ifndef _PM_UTIL_H  #define _PM_UTIL_H  #include <stdlib.h> +#include <stdarg.h>  #include <string.h> -#include <libintl.h>  #include <alpm_list.h> -#define MALLOC(p, b) do { \ -	if((b) > 0) { \ -		p = malloc(b); \ -		if (!(p)) { \ -			fprintf(stderr, "malloc failure: could not allocate %d bytes\n", (int)b); \ -			exit(EXIT_FAILURE); \ -		} \ -	} else { \ -		p = NULL; \ -	} \ -} while(0) - -#define FREE(p) do { if (p) { free(p); (p) = NULL; }} while(0) - -#define STRNCPY(s1, s2, len) do { \ -	strncpy(s1, s2, (len)-1); \ -	s1[(len)-1] = 0; \ -} while(0) +#ifdef ENABLE_NLS +#include <libintl.h> /* here so it doesn't need to be included elsewhere */ +/* define _() as shortcut for gettext() */ +#define _(str) gettext(str) +#else +#define _(str) str +#endif  /* update speed for the fill_progress based functions */  #define UPDATE_SPEED_SEC 0.2f -#define _(str) gettext(str) +int needs_transaction();  int getcols(); -int makepath(char *path); -int rmrf(char *path); +int makepath(const char *path); +int rmrf(const char *path); +char *mbasename(const char *path);  void indentprint(const char *str, int indent);  char *strtoupper(char *str);  char *strtrim(char *str); -int reg_match(char *string, char *pattern); -void list_display(const char *title, alpm_list_t *list); -void display_targets(alpm_list_t *syncpkgs); -float get_update_timediff(int first_call); -void fill_progress(const int percent, const int proglen); +char *strreplace(const char *str, const char *needle, const char *replace); +alpm_list_t *strsplit(const char *str, const char splitchar); +void string_display(const char *title, const char *string); +void list_display(const char *title, const alpm_list_t *list); +void display_targets(const alpm_list_t *syncpkgs, pmdb_t *db_local); +int yesno(char *fmt, ...); +int pm_printf(pmloglevel_t level, const char *format, ...) __attribute__((format(printf,2,3))); +int pm_fprintf(FILE *stream, pmloglevel_t level, const char *format, ...) __attribute__((format(printf,3,4))); +int pm_vfprintf(FILE *stream, pmloglevel_t level, const char *format, va_list args) __attribute__((format(printf,3,0))); + +#ifndef HAVE_STRNDUP +char *strndup(const char *s, size_t n); +#endif  #endif /* _PM_UTIL_H */ diff --git a/src/util/.gitignore b/src/util/.gitignore index 8bfb0085..36688806 100644 --- a/src/util/.gitignore +++ b/src/util/.gitignore @@ -1,6 +1,5 @@  .deps  .libs -Makefile -Makefile.in  vercmp  testpkg +testdb diff --git a/src/util/Makefile.am b/src/util/Makefile.am index e79e726d..97a0ffa1 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -1,9 +1,27 @@ -bin_PROGRAMS = vercmp testpkg +# paths set at make time +conffile  = ${sysconfdir}/pacman.conf +dbpath    = ${localstatedir}/lib/pacman/ +cachedir  = ${localstatedir}/cache/pacman/pkg/ +bin_PROGRAMS = vercmp testpkg testdb + +DEFS = -DLOCALEDIR=\"@localedir@\" \ +       -DCONFFILE=\"$(conffile)\" \ +       -DROOTDIR=\"$(ROOTDIR)\" \ +       -DDBPATH=\"$(dbpath)\" \ +       -DCACHEDIR=\"$(cachedir)\" \ +       @DEFS@  INCLUDES = -I$(top_srcdir)/lib/libalpm +AM_CFLAGS = -pedantic -D_GNU_SOURCE +  vercmp_SOURCES = vercmp.c  vercmp_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la  testpkg_SOURCES = testpkg.c  testpkg_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la + +testdb_SOURCES = testdb.c +testdb_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la + +# vim:set ts=2 sw=2 noet: diff --git a/src/util/testdb.c b/src/util/testdb.c new file mode 100644 index 00000000..31b4ff0d --- /dev/null +++ b/src/util/testdb.c @@ -0,0 +1,154 @@ +/* + *  testdb.c : Test a pacman local database for validity + * + *  Copyright (c) 2007 by Aaron Griffin <aaronmgriffin@gmail.com> + * + *  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. + * + *  This program is distributed in the hope that it will be useful, + *  but WITHOUT ANY WARRANTY; without even the implied warranty of + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *  GNU General Public License for more details. + * + *  You should have received a copy of the GNU General Public License + *  along with this program; if not, write to the Free Software + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + *  USA. + */ + +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> +#include <limits.h> +#include <string.h> +#include <sys/stat.h> +#include <dirent.h> +#include <libgen.h> + +#include <alpm.h> +#include <alpm_list.h> + +#define BASENAME "testdb" + +int str_cmp(const void *s1, const void *s2) +{ +  return(strcmp(s1, s2)); +} + +static void cleanup(int signum) { +  if(alpm_release() == -1) { +    fprintf(stderr, "error releasing alpm: %s\n", alpm_strerrorlast()); +  } + +  exit(signum); +} + +void output_cb(pmloglevel_t level, char *fmt, va_list args) +{ +  if(strlen(fmt)) { +    switch(level) { +      case PM_LOG_ERROR: printf("error: "); break; +      case PM_LOG_WARNING: printf("warning: "); break; +      default: return; +    } +    vprintf(fmt, args); +    printf("\n"); +  } +} + +static int db_test(char *dbpath) +{ +  struct dirent *ent; +  char path[PATH_MAX]; +  struct stat buf; +  int ret = 0; + +  DIR *dir; + +  if(!(dir = opendir(dbpath))) { +    fprintf(stderr, "error : %s : %s\n", dbpath, strerror(errno)); +    return(1); +  } + +  while ((ent = readdir(dir)) != NULL) { +    if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) { +      continue; +    } +    /* check for desc, depends, and files */ +    snprintf(path, PATH_MAX, "%s/%s/desc", dbpath, ent->d_name); +    if(stat(path, &buf)) { +      printf("%s: description file is missing\n", ent->d_name); +      ret++; +    } +    snprintf(path, PATH_MAX, "%s/%s/depends", dbpath, ent->d_name); +    if(stat(path, &buf)) { +      printf("%s: dependency file is missing\n", ent->d_name); +      ret++; +    } +    snprintf(path, PATH_MAX, "%s/%s/files", dbpath, ent->d_name); +    if(stat(path, &buf)) { +      printf("%s: file list is missing\n", ent->d_name); +      ret++; +    } +  } +  return(ret); +} + +int main(int argc, char **argv) +{ +  int retval = 0; /* default = false */ +  pmdb_t *db = NULL; +  char *dbpath; +  char localdbpath[PATH_MAX]; +  alpm_list_t *i; + +  if(argc == 1) { +    dbpath = DBPATH; +  } else if(argc == 3 && strcmp(argv[1], "-b") == 0) { +    dbpath = argv[2]; +  } else { +    fprintf(stderr, "usage: %s -b <pacman db>\n", BASENAME); +    return(1); +  } + +  snprintf(localdbpath, PATH_MAX, "%s/local", dbpath); +  retval = db_test(localdbpath); +  if(retval) { +    return(retval); +  } + +  if(alpm_initialize() == -1) { +    fprintf(stderr, "cannot initialize alpm: %s\n", alpm_strerrorlast()); +    return(1); +  } + +  /* let us get log messages from libalpm */ +  alpm_option_set_logcb(output_cb); + +  alpm_option_set_dbpath(dbpath); + +  db = alpm_db_register_local(); +  if(db == NULL) { +    fprintf(stderr, "error: could not register 'local' database (%s)\n", +        alpm_strerrorlast()); +    cleanup(EXIT_FAILURE); +  } + +  /* check dependencies */ +	alpm_list_t *data; +  data = alpm_checkdeps(db, 0, alpm_db_getpkgcache(db), NULL); +  for(i = data; i; i = alpm_list_next(i)) { +    pmdepmissing_t *miss = alpm_list_getdata(i); +    pmdepend_t *dep = alpm_miss_get_dep(miss); +    char *depstring = alpm_dep_get_string(dep); +    printf("missing dependency for %s : %s\n", alpm_miss_get_target(miss), +        depstring); +    free(depstring); +  } + +  cleanup(retval); +} diff --git a/src/util/testpkg.c b/src/util/testpkg.c index a64e6b34..d724bb8a 100644 --- a/src/util/testpkg.c +++ b/src/util/testpkg.c @@ -2,7 +2,7 @@   *  testpkg.c : Test a pacman package for validity   *   *  Copyright (c) 2007 by Aaron Griffin <aaronmgriffin@gmail.com> - *  + *   *  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 @@ -15,27 +15,29 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */  #include "config.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <libgen.h> +#include <stdio.h> /* printf */ +#include <stdarg.h> /* va_list */ +#include <string.h> /* strlen */  #include <alpm.h> -void output_cb(unsigned short level, char *msg) +#define BASENAME "testpkg" + +static void output_cb(pmloglevel_t level, char *fmt, va_list args)  { -	if(strlen(msg)) { +	if(strlen(fmt)) {          switch(level) {          case PM_LOG_ERROR: printf("error: "); break;          case PM_LOG_WARNING: printf("warning: "); break; +		default: break;          } -        puts(msg); +		vprintf(fmt, args);      }  } @@ -45,27 +47,27 @@ int main(int argc, char **argv)      pmpkg_t *pkg = NULL;      if(argc != 2) { -		fprintf(stderr, "usage: %s <package file>\n", basename(argv[0])); +		fprintf(stderr, "usage: %s <package file>\n", BASENAME);  		return(1);  	}  	if(alpm_initialize() == -1) { -		fprintf(stderr, "cannot initilize alpm: %s\n", alpm_strerror(pm_errno)); +		fprintf(stderr, "cannot initilize alpm: %s\n", alpm_strerrorlast());          return(1);  	}      /* let us get log messages from libalpm */  	alpm_option_set_logcb(output_cb); -	if(alpm_pkg_load(argv[1], &pkg) == -1 || pkg == NULL) { +	if(alpm_pkg_load(argv[1], 1, &pkg) == -1 || pkg == NULL) {          retval = 1;  	} else {  		alpm_pkg_free(pkg);          retval = 0;  	} -     +  	if(alpm_release() == -1) { -		fprintf(stderr, "error releasing alpm: %s\n", alpm_strerror(pm_errno)); +		fprintf(stderr, "error releasing alpm: %s\n", alpm_strerrorlast());  	}      return(retval); diff --git a/src/util/vercmp.c b/src/util/vercmp.c index cc951988..29ab121d 100644 --- a/src/util/vercmp.c +++ b/src/util/vercmp.c @@ -1,8 +1,8 @@  /*   *  vercmp.c - *  + *   *  Copyright (c) 2002-2005 by Judd Vinet <jvinet@zeroflux.org> - *  + *   *  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 @@ -15,40 +15,58 @@   *   *  You should have received a copy of the GNU General Public License   *  along with this program; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,  + *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,   *  USA.   */  #include "config.h" -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <unistd.h> -#include <limits.h> -/* TODO this is probably not the best way to do this */ -#ifndef PATH_MAX -#define PATH_MAX 1024 -#endif +#include <stdio.h> /* printf */ +#include <string.h> /* strncpy */  #include <alpm.h> +#define BASENAME "vercmp" + +#define MAX_LEN 255 + +static void usage() +{ +	fprintf(stderr, "usage: %s <ver1> <ver2>\n\n", BASENAME); +	fprintf(stderr, "return values:\n"); +	fprintf(stderr, "  < 0 : if ver1 < ver2\n"); +	fprintf(stderr, "    0 : if ver1 == ver2\n"); +	fprintf(stderr, "  > 0 : if ver1 > ver2\n"); +} +  int main(int argc, char *argv[])  { -	char s1[255] = ""; -	char s2[255] = ""; +	char s1[MAX_LEN] = ""; +	char s2[MAX_LEN] = "";  	int ret; +	if(argc == 1) { +		usage(); +		return(2); +	} +	if(argc > 1 && +			(strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0 +			 || strcmp(argv[1], "--usage") == 0)) { +		usage(); +		return(0); +	}  	if(argc > 1) { -		strncpy(s1, argv[1], 255); +		strncpy(s1, argv[1], MAX_LEN); +		s1[MAX_LEN -1] = '\0';  	}  	if(argc > 2) { -		strncpy(s2, argv[2], 255); +		strncpy(s2, argv[2], MAX_LEN); +		s2[MAX_LEN -1] = '\0';  	} else {  		printf("0\n");  		return(0);  	} -	 +  	ret = alpm_pkg_vercmp(s1, s2);  	printf("%d\n", ret);  	return(ret);  | 
