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); |