From d24592cbcdff03d397a185946a15b170d0cd75c9 Mon Sep 17 00:00:00 2001 From: Sergey Tereschenko Date: Sun, 12 Oct 2008 23:19:07 -0500 Subject: Minor updates to Russian translation Signed-off-by: Dan McGee --- lib/libalpm/po/ru.po | 12 ++++++------ po/ru.po | 26 +++++++++++++------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lib/libalpm/po/ru.po b/lib/libalpm/po/ru.po index eb919c68..8430adf8 100644 --- a/lib/libalpm/po/ru.po +++ b/lib/libalpm/po/ru.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Pacman package manager 3.0.0\n" "Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" "POT-Creation-Date: 2008-08-23 10:54-0500\n" -"PO-Revision-Date: 2008-08-24 02:00+0200\n" +"PO-Revision-Date: 2008-08-24 02:01+0300\n" "Last-Translator: Sergey Tereschenko \n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" @@ -145,7 +145,7 @@ msgstr "ошибка при чтении пакета %s: %s\n" #, c-format msgid "missing package metadata in %s\n" -msgstr "отсутствуют метаданые пакета в %s\n" +msgstr "отсутствуют метаданные пакета в %s\n" #, c-format msgid "attempt to re-register the 'local' DB\n" @@ -337,7 +337,7 @@ msgstr "не удается загрузить данные пакета" #, c-format msgid "package not installed or lesser version" -msgstr "пекет не установлен или ранней версии" +msgstr "пакет не установлен или ранней версии" #, c-format msgid "cannot remove all files for package" @@ -373,7 +373,7 @@ msgstr "конфликтующие зависимости" #, c-format msgid "conflicting files" -msgstr "конфликрующие файлы" +msgstr "конфликтующие файлы" #, c-format msgid "user aborted the operation" @@ -421,7 +421,7 @@ msgstr "не могу удалить из базы данных запись %s- #, c-format msgid "could not remove entry '%s' from cache\n" -msgstr "не могу удалить запись '%s' из кеша\n" +msgstr "не могу удалить запись '%s' из кэша\n" #, c-format msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n" @@ -461,7 +461,7 @@ msgstr "удаляю '%s' из списка целей, поскольку он #, c-format msgid "command: %s\n" -msgstr "комманда: %s\n" +msgstr "команда: %s\n" #, c-format msgid "failed to retrieve some files from %s\n" diff --git a/po/ru.po b/po/ru.po index 4405eefc..0f650f13 100644 --- a/po/ru.po +++ b/po/ru.po @@ -327,7 +327,7 @@ msgid "" msgstr "" " -s, --recursive удалить вместе с зависимостями (которые не " "повредят другие пакеты)\n" -" (-ss включая явно установленые зависимости)\n" +" (-ss включая явно установленные зависимости)\n" #, c-format msgid "" @@ -563,7 +563,7 @@ msgstr "'%s' - неверный уровень отладки\n" #, c-format msgid "problem adding cachedir '%s' (%s)\n" -msgstr "не удалось добавить кэш-дирректорию '%s' (%s)\n" +msgstr "не удалось добавить кэш-директорию '%s' (%s)\n" #, c-format msgid "only one operation may be used at a time\n" @@ -1116,16 +1116,16 @@ msgid "Failed to create package file." msgstr "Не удалось создать файл пакета." msgid "Cannot find the xdelta binary! Is xdelta installed?" -msgstr "Не могу найти бинарный фалй xdelta! xdelta установлен?" +msgstr "Не могу найти бинарный файл xdelta! xdelta установлен?" msgid "Making delta from version %s..." msgstr "Ищу отличия от версии %s..." msgid "Recreating package tarball from delta to match md5 signatures" -msgstr "Пересоздание тарбола из дельта-патча для соответствия с md5 подписью" +msgstr "Пересоздание архива из дельта-патча для соответствия с md5 подписью" msgid "NOTE: the delta should ONLY be distributed with this tarball" -msgstr "ЗАМЕЧАНИЕ: дельта-патч следует распространять ТОЛЬКО с этим тарболом" +msgstr "ЗАМЕЧАНИЕ: дельта-патч следует распространять ТОЛЬКО с этим архивом" msgid "Could not generate the package from the delta." msgstr "Не могу создать пакет из дельта-патча." @@ -1296,7 +1296,7 @@ msgid " Are you sure you wish to do this? " msgstr " Вы уверены, что хотите сделать это? " msgid "Problem removing files; you may not have correct permissions in %s" -msgstr "Не могу удалить файлы; возможно, у вас недостаточно привелегий в %s" +msgstr "Не могу удалить файлы; возможно, у вас недостаточно привилегий в %s" msgid "Source cache cleaned." msgstr "Кэш с исходными кодами очищен." @@ -1338,7 +1338,7 @@ msgstr "в массиве BUILDENV в %s." msgid "Running makepkg as an unprivileged user will result in non-root" msgstr "" -"Запуск makepkg от непревелегированного пользователя приведет к созданию" +"Запуск makepkg от непривилегированного пользователя приведет к созданию" msgid "ownership of the packaged files. Try using the fakeroot environment by" msgstr "" @@ -1489,14 +1489,14 @@ msgstr "%s не существует или не является директо msgid "You must have correct permissions to optimize the database." msgstr "" -"У вас должны быть соответствующие привелегии, чтобы оптимизировать базу " +"У вас должны быть соответствующие привилегии, чтобы оптимизировать базу " "данных." msgid "ERROR: Can not create temp directory for database building." msgstr "ОШИБКА: Не могу создать временную директорию для создания базы данных." msgid "MD5sum'ing the old database..." -msgstr "Подсчёт MD5 сумма старой базы данных..." +msgstr "Подсчёт MD5 суммы старой базы данных..." msgid "Tar'ing up %s..." msgstr "Архивирование в tar %s..." @@ -1518,14 +1518,14 @@ msgstr "" "Проверка целостности ЗАВЕРШИЛАСЬ НЕУДАЧЕЙ, возвращаюсь к старой базе данных." msgid "Putting the new database in place..." -msgstr "Перемещение новой базу данных на место..." +msgstr "Перемещение новой базы данных на место..." msgid "Finished. Your pacman database has been optimized." msgstr "Завершено. База данных pacman оптимизирована." msgid "For full benefits of pacman-optimize, run 'sync' now." msgstr "" -"Чтобы полностью использовать приемущества pacman-optimize,сейчас запустите " +"Чтобы полностью использовать преимущества pacman-optimize,сейчас запустите " "'sync'." msgid "Usage: repo-add [-q] ...\\n" @@ -1546,7 +1546,7 @@ msgid "" "\\nspecified on the command line from the given repo database. Multiple" "\\npackages to remove can be specified on the command line.\\n\\n" msgstr "" -"repo-remove обновит базу даннных пакетов, удалив имя пакета, заданного\\nв " +"repo-remove обновит базу данных пакетов, удалив имя пакета, заданного\\nв " "командной строке из указанной базы данных. Можете указать сразу\\nнесколько " "пакетов для удаления в командной строке.\\n\\n" @@ -1608,7 +1608,7 @@ msgid "Cannot create temp directory for database building." msgstr "Не могу создать временную директорию для создания базы данных." msgid "Invalid command name '%s' specified." -msgstr "Указано неверное имя комманды '%s'." +msgstr "Указано неверное имя команды '%s'." msgid "the -f and --force options are no longer recognized" msgstr "опции -f и --force больше не используются" -- cgit v1.2.3-70-g09d2 From d1fec15d8148dec186e437da912d6a03a8d26b11 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sat, 18 Oct 2008 22:46:27 -0500 Subject: Correctly close the pipe used for scriptlet execution We never had a call to pclose() in here before, leaving our file descriptor in some sort of limbo state. In addition, clean up some of the other logic such as directly calling exit(1) on a popen() failure rather than going to our cleanup block, and handling and respecting the exit status of the subprocess correctly. Signed-off-by: Dan McGee --- lib/libalpm/trans.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index f996c02c..acad84e8 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -560,8 +560,7 @@ int _alpm_runscriptlet(const char *root, const char *installfn, if(!pipe) { _alpm_log(PM_LOG_ERROR, _("call to popen failed (%s)"), strerror(errno)); - retval = 1; - goto cleanup; + exit(1); } while(!feof(pipe)) { char line[PATH_MAX]; @@ -570,7 +569,8 @@ int _alpm_runscriptlet(const char *root, const char *installfn, alpm_logaction("%s", line); EVENT(trans, PM_TRANS_EVT_SCRIPTLET_INFO, line, NULL); } - exit(0); + retval = pclose(pipe); + exit(WEXITSTATUS(retval)); } else { /* this code runs for the parent only (wait on the child) */ pid_t retpid; -- cgit v1.2.3-70-g09d2 From 50e3dc02bf1a99ec040988fde1425adba67da4cb Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sat, 18 Oct 2008 21:27:00 -0500 Subject: repo-add: Use openssl instead of md5sum This is similar to the change we made in makepkg so it is cross-platform compatible and doesn't require coreutils. Signed-off-by: Dan McGee --- scripts/repo-add.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index f3a3a4f4..be0859ea 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -121,7 +121,7 @@ db_write_delta() arch=${deltavars[3]} # get md5sum and size of delta - md5sum="$(md5sum "$deltafile" | cut -d ' ' -f 1)" + md5sum="$(openssl dgst -md5 "$deltafile" | awk '{print $NF}')" csize=$(@SIZECMD@ "$deltafile") # ensure variables were found @@ -201,7 +201,7 @@ db_write_entry() # compute checksums msg2 "$(gettext "Computing md5 checksums...")" - echo -e "%MD5SUM%\n$(md5sum "$pkgfile" | cut -d ' ' -f 1)\n" >>desc + echo -e "%MD5SUM%\n$(openssl dgst -md5 "$pkgfile" | awk '{print $NF}')\n" >>desc [ -n "$url" ] && echo -e "%URL%\n$url\n" >>desc write_list_entry "LICENSE" "$_licenses" "desc" -- cgit v1.2.3-70-g09d2 From 1e656c0a6a7f2dcf5dc40f1b1027161847b967b4 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Tue, 28 Oct 2008 21:22:05 +1000 Subject: makepkg: fix updating PKGBUILD when building SCM packages Fixes a bug and resets pkgrel to 1 when bumping pkgver Signed-off-by: Allan McRae Signed-off-by: Dan McGee --- scripts/makepkg.sh.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 1d70f39b..46173a77 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1069,6 +1069,7 @@ devel_check() { if [ "$newpkgver" != "" ]; then msg2 "$(gettext "Version found: %s")" "$newpkgver" pkgver=$newpkgver + pkgrel=1 fi else @@ -1088,8 +1089,9 @@ devel_update() { # _foo=pkgver # if [ "$newpkgver" != "" ]; then - if [ "newpkgver" != "$pkgver" ]; then + if [ "$newpkgver" != "$pkgver" ]; then sed -i "s/^pkgver=[^ ]*/pkgver=$newpkgver/" ./$BUILDSCRIPT + sed -i "s/^pkgrel=[^ ]*/pkgrel=1/" ./$BUILDSCRIPT source $BUILDSCRIPT fi fi -- cgit v1.2.3-70-g09d2 From 2f5d7927254a760a54282d70c827768c56c657b7 Mon Sep 17 00:00:00 2001 From: Lyman Li Date: Tue, 28 Oct 2008 22:06:34 -0500 Subject: Update Chinese translation Signed-off-by: Dan McGee --- lib/libalpm/po/zh_CN.po | 153 ++++++++++++------------- po/zh_CN.po | 299 ++++++++++++++++++++++++------------------------ 2 files changed, 225 insertions(+), 227 deletions(-) diff --git a/lib/libalpm/po/zh_CN.po b/lib/libalpm/po/zh_CN.po index 2d91420d..4d806ec6 100644 --- a/lib/libalpm/po/zh_CN.po +++ b/lib/libalpm/po/zh_CN.po @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: Pacman package manager 3.2.1\n" "Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" "POT-Creation-Date: 2008-08-23 10:54-0500\n" -"PO-Revision-Date: 2008-08-25 08:33+0200\n" -"Last-Translator: 甘露(Lu Gan) \n" +"PO-Revision-Date: 2008-10-28 16:20+0900\n" +"Last-Translator: Lyman Li \n" "Language-Team: Chinese/Simplified \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,11 +19,11 @@ msgstr "" #, c-format msgid "replacing older version %s-%s by %s in target list\n" -msgstr "正在替换老版本 %s-%s 通过在目标清单中的%s\n" +msgstr "正在用目标清单中的 %3$s 替换老版本 %1$s-%2$s\n" #, c-format msgid "skipping %s-%s because newer version %s is in the target list\n" -msgstr "跳过 %s-%s,因为较新版本的 %s 在目标清单中\n" +msgstr "跳过 %1$s-%2$s,因为较新版本的 %3$s 在目标清单中\n" #, c-format msgid "conflicting packages were found in the target list\n" @@ -35,51 +35,51 @@ msgstr "你不能同时安装有冲突的两个软件包\n" #, c-format msgid "replacing packages with -U is not supported yet\n" -msgstr "正在覆盖软件包, -U 目前尚不支持\n" +msgstr "目前尚不支持用 -U 参数替换软件包\n" #, c-format msgid "you can replace packages manually using -Rd and -U\n" -msgstr "你可以使用 -Rd 及 -U 来手动替代软件包\n" +msgstr "你可以使用 -Rd 及 -U 来手动替换软件包\n" #, c-format msgid "" "directory permissions differ on %s\n" "filesystem: %o package: %o\n" msgstr "" -"目录权限不一致 %s\n" -"文件系统:%o 软件包:%o\n" +"目录权限不一致 %1$s\n" +"文件系统:%2$o 软件包:%3$o\n" #, c-format msgid "extract: symlink %s does not point to dir\n" -msgstr "解压缩:链接 %s 没有指向目录\n" +msgstr "解压缩:符号链接 %s 没有指向目录\n" #, c-format msgid "extract: not overwriting dir with file %s\n" -msgstr "解压缩:没有用 %s 覆盖目录\n" +msgstr "解压缩:没有用文件 %s 覆盖目录\n" #, c-format msgid "could not extract %s (%s)\n" -msgstr "无法解压缩 %s (%s)\n" +msgstr "无法解压缩 %1$s (%2$s)\n" #, c-format msgid "could not rename %s to %s (%s)\n" -msgstr "无法重命名 %s 为 %s (%s)\n" +msgstr "无法将 %1$s 重命名为 %2$s (%3$s)\n" #, c-format msgid "%s saved as %s\n" -msgstr "%s 已另存为 %s\n" +msgstr "%1$s 已另存为 %2$s\n" #, c-format msgid "could not install %s as %s (%s)\n" -msgstr "无法安装 %s 作为 %s (%s)\n" +msgstr "无法将 %1$s 安装为 %2$s (%3$s)\n" #, c-format msgid "%s installed as %s\n" -msgstr "%s 已作为 %s 安装\n" +msgstr "%1$s 已安装为 %2$s\n" #, c-format msgid "extracting %s as %s.pacnew\n" -msgstr "正在解压缩 %s 作为 %s.pacnew\n" +msgstr "正在解压缩 %1$s 为 %2$s.pacnew\n" #, c-format msgid "could not get current working directory\n" @@ -95,7 +95,7 @@ msgstr "安装 %s 时出现错误\n" #, c-format msgid "could not update database entry %s-%s\n" -msgstr "无法更新数据库记录 %s-%s\n" +msgstr "无法更新数据库记录 %1$s-%2$s\n" #, c-format msgid "could not add entry '%s' in cache\n" @@ -103,7 +103,7 @@ msgstr "无法在缓存中添加记录 '%s' \n" #, c-format msgid "could not remove database entry %s%s\n" -msgstr "无法删除数据库记录 %s%s\n" +msgstr "无法删除数据库记录 %1$s%2$s\n" #, c-format msgid "invalid name for database entry '%s'\n" @@ -115,19 +115,19 @@ msgstr "损坏的数据库记录 '%s'\n" #, c-format msgid "could not open file %s: %s\n" -msgstr "无法打开文件 %s: %s\n" +msgstr "无法打开文件 %1$s: %2$s\n" #, c-format msgid "%s database is inconsistent: name mismatch on package %s\n" -msgstr "%s 数据库不一致:名字和软件包中的 %s 不一致\n" +msgstr "%1$s 数据库不一致:名字和软件包中的 %2$s 不一致\n" #, c-format msgid "%s database is inconsistent: version mismatch on package %s\n" -msgstr "%s 数据库不一致:版本和软件包中的 %s 不一致\n" +msgstr "%1$s 数据库不一致:版本和软件包中的 %2$s 不一致\n" #, c-format msgid "could not parse package description file in %s\n" -msgstr "无法分析 %s 中的软件包描述文件\n" +msgstr "无法解析 %s 中的软件包描述文件\n" #, c-format msgid "missing package name in %s\n" @@ -139,7 +139,7 @@ msgstr "%s 中缺少软件包版本号\n" #, c-format msgid "error while reading package %s: %s\n" -msgstr "读取软件包%s: %s发生错误\n" +msgstr "读取软件包 %1$s 发生错误: %2$s\n" #, c-format msgid "missing package metadata in %s\n" @@ -151,35 +151,35 @@ msgstr "尝试重新登记“本地”数据库\n" #, c-format msgid "database path is undefined\n" -msgstr "没有指定数据库路径\n" +msgstr "数据库路径未定义\n" #, c-format msgid "dependency cycle detected:\n" -msgstr "探测到依赖关系循环:\n" +msgstr "检测到依赖关系环:\n" #, c-format msgid "%s will be removed after its %s dependency\n" -msgstr "%s 将在它 %s 的依赖关系之后被删除\n" +msgstr "%1$s 将在它 %2$s 的依赖关系之后被删除\n" #, c-format msgid "%s will be installed before its %s dependency\n" -msgstr "%s 将在它 %s 的依赖关系之前被安装\n" +msgstr "%1$s 将在它 %2$s 的依赖关系之前被安装\n" #, c-format msgid "provider package was selected (%s provides %s)\n" -msgstr "已选定提供软件包 (%s 提供 %s)\n" +msgstr "已选定提供软件包 (%1$s 提供 %2$s)\n" #, c-format msgid "cannot resolve \"%s\", a dependency of \"%s\"\n" -msgstr "无法解决 \"%s\",\"%s\" 的依赖关系\n" +msgstr "无法解决 \"%1$s\",\"%2$s\" 的一个依赖关系\n" #, c-format msgid "url '%s' is invalid\n" -msgstr "url %s' 无效\n" +msgstr "url '%s' 无效\n" #, c-format msgid "url scheme not specified, assuming HTTP\n" -msgstr "url 结构没有指定,假定为 HTTP\n" +msgstr "url scheme 未指定,假定为 HTTP\n" #, c-format msgid "disk" @@ -187,7 +187,7 @@ msgstr "硬盘" #, c-format msgid "failed retrieving file '%s' from %s : %s\n" -msgstr "无法从 %s : %s 获取文件 '%s' \n" +msgstr "无法从 %2$s : %3$s 获取文件 '%1$s'\n" #, c-format msgid "cannot resume download, starting over\n" @@ -199,31 +199,31 @@ msgstr "无法写入文件 '%s'\n" #, c-format msgid "error downloading '%s': %s\n" -msgstr "下载 '%s': %s 时出错\n" +msgstr "下载 '%1$s' 时出错: %2$s\n" #, c-format msgid "error writing to file '%s': %s\n" -msgstr "写入文件 '%s': %s 时出错\n" +msgstr "写入文件 '%1$s' 时出错: %2$s\n" #, c-format msgid "could not chdir to %s\n" -msgstr "无法改变目录到 %s\n" +msgstr "无法切换目录到 %s\n" #, c-format msgid "running XferCommand: fork failed!\n" -msgstr "运行 XferCommand:分支失败!\n" +msgstr "正在运行 XferCommand:fork 失败!\n" #, c-format msgid "failed to download %s\n" -msgstr "下载%s失败\n" +msgstr "下载 %s 失败\n" #, c-format msgid "out of memory!" -msgstr "没有内存可用!" +msgstr "内存不足!" #, c-format msgid "unexpected system error" -msgstr "未预计的系统错误" +msgstr "未预期的系统错误" #, c-format msgid "insufficient privileges" @@ -239,11 +239,11 @@ msgstr "无法找到或读取目录" #, c-format msgid "wrong or NULL argument passed" -msgstr "传递了错误的或空的参数" +msgstr "传递了错误的或 NULL 参数" #, c-format msgid "library not initialized" -msgstr "无法初始化函数库" +msgstr "函数库未初始化" #, c-format msgid "library already initialized" @@ -263,7 +263,7 @@ msgstr "无法创建数据库" #, c-format msgid "database not initialized" -msgstr "数据库无法初始化" +msgstr "数据库未初始化" #, c-format msgid "database already registered" @@ -283,7 +283,7 @@ msgstr "无法删除数据库记录" #, c-format msgid "invalid url for server" -msgstr "无效的服务器url" +msgstr "无效的服务器 url" #, c-format msgid "transaction already initialized" @@ -291,7 +291,7 @@ msgstr "处理已初始化" #, c-format msgid "transaction not initialized" -msgstr "处理无法初始化" +msgstr "处理未初始化" #, c-format msgid "duplicate target" @@ -339,7 +339,7 @@ msgstr "软件包没有安装或版本较低" #, c-format msgid "cannot remove all files for package" -msgstr "无法删除软件包全部文件" +msgstr "无法为软件包删除全部文件" #, c-format msgid "package filename is not valid" @@ -351,7 +351,7 @@ msgstr "没有该软件库" #, c-format msgid "invalid or corrupted delta" -msgstr "无效的或已损坏的 delta 包" +msgstr "无效的或已损坏的 delta" #, c-format msgid "delta patch failed" @@ -375,7 +375,7 @@ msgstr "有冲突的文件" #, c-format msgid "user aborted the operation" -msgstr "用户中断操作" +msgstr "用户中断了操作" #, c-format msgid "internal error" @@ -383,11 +383,11 @@ msgstr "内部错误" #, c-format msgid "not confirmed" -msgstr "不能确认" +msgstr "未确认" #, c-format msgid "invalid regular expression" -msgstr "无效的常规表达式" +msgstr "无效的正则表达式" #, c-format msgid "libarchive error" @@ -399,7 +399,7 @@ msgstr "下载函数库出错" #, c-format msgid "error invoking external downloader" -msgstr "激活外部下载程序时出现错误" +msgstr "调用外部下载程序时出错" #, c-format msgid "unexpected error" @@ -411,11 +411,11 @@ msgstr "无法在数据库中找到 %s -- 跳过\n" #, c-format msgid "cannot remove file '%s': %s\n" -msgstr "无法删除文件 '%s': %s\n" +msgstr "无法删除文件 '%1$s': %2$s\n" #, c-format msgid "could not remove database entry %s-%s\n" -msgstr "无法删除数据库记录 %s-%s\n" +msgstr "无法删除数据库记录 %1$s-%2$s\n" #, c-format msgid "could not remove entry '%s' from cache\n" @@ -423,15 +423,15 @@ msgstr "无法从缓存中删除记录 '%s'\n" #, c-format msgid "%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n" -msgstr "%s-%s:忽略软件包更新(由%s-%s替代)\n" +msgstr "%1$s-%2$s:忽略软件包更新(由 %3$s-%4$s 替代)\n" #, c-format msgid "%s: local (%s) is newer than %s (%s)\n" -msgstr "%s:本地(%s)比 %s 的版本更新(%s)\n" +msgstr "%1$s:本地(%2$s)比 %3$s 的版本更新 (%4$s)\n" #, c-format msgid "%s: ignoring package upgrade (%s => %s)\n" -msgstr "%s:忽略软件包更新(%s => %s)\n" +msgstr "%1$s:忽略软件包更新(%2$s => %3$s)\n" #, c-format msgid "repository '%s' not found\n" @@ -439,23 +439,23 @@ msgstr "没有找到软件库 '%s'\n" #, c-format msgid "%s-%s is up to date -- skipping\n" -msgstr "%s-%s 已经为最新 -- 跳过\n" +msgstr "%1$s-%2$s 已经为最新 -- 跳过\n" #, c-format msgid "%s-%s is up to date -- reinstalling\n" -msgstr "%s-%s 已经为最新 -- 重新安装\n" +msgstr "%1$s-%2$s 已经为最新 -- 重新安装\n" #, c-format msgid "downgrading package %s (%s => %s)\n" -msgstr "正在降级软件包 %s (%s => %s)\n" +msgstr "正在降级软件包 %1$s (%2$s => %3$s)\n" #, c-format msgid "unresolvable package conflicts detected\n" -msgstr "探测到无法解决的软件包冲突\n" +msgstr "检测到未解决的软件包冲突\n" #, c-format msgid "removing '%s' from target list because it conflicts with '%s'\n" -msgstr "正在从目标清单中删除 '%s' ,因为它和 '%s' 有冲突\n" +msgstr "正在从目标清单中删除 '%1$s' ,因为它和 '%2$s' 冲突\n" #, c-format msgid "command: %s\n" @@ -463,23 +463,23 @@ msgstr "命令:%s\n" #, c-format msgid "failed to retrieve some files from %s\n" -msgstr "某些文件无法从%s取回\n" +msgstr "无法从 %s 获取某些文件\n" #, c-format msgid "could not create removal transaction\n" -msgstr "无法生成可删除处理\n" +msgstr "无法生成可撤销处理\n" #, c-format msgid "could not initialize the removal transaction\n" -msgstr "无法初始化可删除处理\n" +msgstr "无法初始化可撤销处理\n" #, c-format msgid "could not prepare removal transaction\n" -msgstr "无法准备可删除处理\n" +msgstr "无法准备可撤销处理\n" #, c-format msgid "could not commit removal transaction\n" -msgstr "无法交付可删除处理\n" +msgstr "无法交付可撤销处理\n" #, c-format msgid "could not create transaction\n" @@ -503,7 +503,7 @@ msgstr "无法删除锁定文件 %s\n" #, c-format msgid "No /bin/sh in parent environment, aborting scriptlet\n" -msgstr "父环境中没有 /bin/sh,正在中断脚本\n" +msgstr "父环境中没有 /bin/sh,正在中断小脚本\n" #, c-format msgid "could not create temp directory\n" @@ -511,43 +511,43 @@ msgstr "无法创建临时目录\n" #, c-format msgid "could not copy tempfile to %s (%s)\n" -msgstr "无法复制临时文件到 %s (%s)\n" +msgstr "无法复制临时文件到 %1$s (%2$s)\n" #, c-format msgid "could not change directory to %s (%s)\n" -msgstr "无法更改目录到 %s (%s)\n" +msgstr "无法更改目录到 %1$s (%2$s)\n" #, c-format msgid "could not fork a new process (%s)\n" -msgstr "无法分支新进程(%s)\n" +msgstr "无法 fork 新进程 (%s)\n" #, c-format msgid "could not change the root directory (%s)\n" -msgstr "无法更改根目录(%s)\n" +msgstr "无法更改根目录 (%s)\n" #, c-format msgid "could not change directory to / (%s)\n" -msgstr "无法更改目录到/ (%s)\n" +msgstr "无法切换目录到 / (%s)\n" #, c-format msgid "call to popen failed (%s)" -msgstr "调用 popen 失败(%s)" +msgstr "调用 popen 失败 (%s)" #, c-format msgid "call to waitpid failed (%s)\n" -msgstr "调用 waitpid 失败(%s)\n" +msgstr "调用 waitpid 失败 (%s)\n" #, c-format msgid "scriptlet failed to execute correctly\n" -msgstr "脚本没有被正确执行\n" +msgstr "小脚本未能被正确执行\n" #, c-format msgid "could not remove tmpdir %s\n" -msgstr "无法删除临时目录%s\n" +msgstr "无法删除临时目录 %s\n" #, c-format msgid "could not open %s: %s\n" -msgstr "无法打开 %s: %s\n" +msgstr "无法打开 %1$s: %2$s\n" #, c-format msgid "no %s cache exists, creating...\n" @@ -556,4 +556,3 @@ msgstr "没有 %s 缓存存在,正在创建...\n" #, c-format msgid "couldn't create package cache, using /tmp instead\n" msgstr "无法创建软件包缓存,正在使用 /tmp 代替\n" - diff --git a/po/zh_CN.po b/po/zh_CN.po index e16aa83b..a22aeaa3 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: Pacman package manager 3.1.2\n" "Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" -"POT-Creation-Date: 2008-08-25 20:14+0200\n" -"PO-Revision-Date: 2008-08-24 10:17+0700\n" -"Last-Translator: 甘露(Lu Gan) \n" +"POT-Creation-Date: 2008-10-28 21:55-0500\n" +"PO-Revision-Date: 2008-10-28 16:20+0900\n" +"Last-Translator: Lyman Li \n" "Language-Team: Chinese Simplified \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -58,7 +58,7 @@ msgstr "正在应用 deltas...\n" #, c-format msgid "generating %s with %s... " -msgstr "正在使用 %s 生成 %s..." +msgstr "正在使用 %2$s 生成 %1$s..." #, c-format msgid "success!\n" @@ -76,34 +76,33 @@ msgstr ":: 正在从 %s 软件仓库获取软件包...\n" msgid "" ":: %s requires installing %s from IgnorePkg/IgnoreGroup. Install anyway?" msgstr "" -":: %s 需要安装列在 IgnorePkg/IgnoreGroup(忽略软件包/忽略软件包组)中的 %s。" -"无论如何都安装吗?[Y/n]" +":: %s 需要安装位于 IgnorePkg/IgnoreGroup(忽略软件包/忽略软件包组)中的 %s。" +"一律安装吗?[Y/n]" #, c-format msgid ":: %s is in IgnorePkg/IgnoreGroup. Install anyway?" msgstr "" -":: %s 列在IgnorePkg/IgnoreGroup(忽略软件包/忽略软件包组)中。真的确定要安装" -"吗?" +":: %s 位于 IgnorePkg/IgnoreGroup(忽略软件包/忽略软件包组)中。确定要安装吗?" #, c-format msgid ":: %s is designated as a HoldPkg. Remove anyway?" -msgstr ":: %s 是作为 HoldPkg(保留软件包)指定的。真的确定要删除吗?" +msgstr ":: %s 被指定为 HoldPkg(保留软件包)。确定要删除吗?" #, c-format msgid ":: Replace %s with %s/%s?" -msgstr ":: 用 %s/%s 替代 %s?" +msgstr ":: 用 %2$s/%3$s 替代 %1$s?" #, c-format msgid ":: %s conflicts with %s. Remove %s?" -msgstr ":: %s 与 %s 有冲突。删除 %s?" +msgstr ":: %1$s 与 %2$s 有冲突。删除 %3$s?" #, c-format msgid ":: %s-%s: local version is newer. Upgrade anyway?" -msgstr ":: %s-%s:本地版本较新。真的确定要更新吗?" +msgstr ":: %1$s-%2$s:本地版本较新。确定要更新吗?" #, c-format msgid ":: File %s is corrupted. Do you want to delete it?" -msgstr ":: 文件 %s 已经损坏。你想要删除它吗?" +msgstr ":: 文件 %s 已损坏。你想要删除它吗?" #, c-format msgid "installing" @@ -111,7 +110,7 @@ msgstr "正在安装" #, c-format msgid "upgrading" -msgstr "正在进行更新" +msgstr "正在更新" #, c-format msgid "removing" @@ -255,7 +254,7 @@ msgstr "修改\t%s\n" #, c-format msgid "Not Modified\t%s\n" -msgstr "没有修改过\t%s\n" +msgstr "未修改过\t%s\n" #, c-format msgid "MISSING\t\t%s\n" @@ -505,37 +504,25 @@ msgstr "" " 本程序可以在GNU一般公众许可条款下\n" " 自由分发\n" -#, c-format -msgid "segmentation fault\n" -msgstr "段错误\n" - -#, c-format -msgid "" -"Internal pacman error: Segmentation fault.\n" -"Please submit a full bug report with --debug if appropriate.\n" -msgstr "" -"内部 pacman 错误:段错误\n" -"如果适当,请提交一个使用了 --debug 参数的完全的臭虫报告。\n" - #, c-format msgid "problem setting rootdir '%s' (%s)\n" -msgstr "设置根目录'%s' (%s)时出现问题 \n" +msgstr "设置根目录'%1$s' (%2$s) 时出现问题 \n" #, c-format msgid "problem setting dbpath '%s' (%s)\n" -msgstr "设置数据库路径'%s' (%s)时出现问题 \n" +msgstr "设置数据库路径 '%1$s' (%2$s) 时出现问题 \n" #, c-format msgid "problem setting logfile '%s' (%s)\n" -msgstr "设置日志文件'%s' (%s)时出现问题\n" +msgstr "设置日志文件 '%1$s' (%2$s)时出现问题\n" #, c-format msgid "'%s' is not a valid debug level\n" -msgstr "'%s' 是一个无效的debug标准\n" +msgstr "'%s' 是无效的 debug 等级\n" #, c-format msgid "problem adding cachedir '%s' (%s)\n" -msgstr "设置缓存目录'%s' (%s)时出现问题 \n" +msgstr "设置缓存目录 '%1$s' (%2$s)时出现问题 \n" #, c-format msgid "only one operation may be used at a time\n" @@ -543,43 +530,43 @@ msgstr "一次只能运行一个操作\n" #, c-format msgid "config file %s could not be read.\n" -msgstr "配置文件%s无法读取。\n" +msgstr "配置文件 %s 无法读取。\n" #, c-format msgid "config file %s, line %d: bad section name.\n" -msgstr "配置文件%s,第%d行:坏的章节名。\n" +msgstr "配置文件 %s,第 %d 行:坏的章节名。\n" #, c-format msgid "config file %s, line %d: syntax error in config file- missing key.\n" -msgstr "配置文件%s,第%d行:配置文件中语法错误-缺少关键字。\n" +msgstr "配置文件 %s,第 %d 行:配置文件中语法错误-缺少关键字。\n" #, c-format msgid "config file %s, line %d: All directives must belong to a section.\n" -msgstr "配置文件%s,第%d行:所有的命令必须属于同一章节。\n" +msgstr "配置文件 %s,第 %d 行:所有的命令必须属于同一章节。\n" #, c-format msgid "config file %s, line %d: directive '%s' not recognized.\n" -msgstr "配置文件%s,第%d行:未知命令'%s'\n" +msgstr "配置文件 %s,第 %d 行:未知命令 '%s'\n" #, c-format msgid "invalid value for 'CleanMethod' : '%s'\n" -msgstr "无效值为·'CleanMethod'·:%s'\n" +msgstr "为 'CleanMethod' 设置的无效值: '%s'\n" #, c-format msgid "failed to initialize alpm library (%s)\n" -msgstr "初始化alpm库失败(%s)\n" +msgstr "初始化 alpm 库失败 (%s)\n" #, c-format msgid "you cannot perform this operation unless you are root.\n" -msgstr "非root(根用户)无法执行指定操作。\n" +msgstr "非 root(根用户)无法执行指定操作。\n" #, c-format msgid "could not register 'local' database (%s)\n" -msgstr "无法登记“本地”数据库(%s)\n" +msgstr "无法登记“本地”数据库 (%s)\n" #, c-format msgid "no operation specified (use -h for help)\n" -msgstr "没有指定的操作(使用-h获取帮助)\n" +msgstr "没有指定的操作(使用 -h 获取帮助)\n" #, c-format msgid "no file was specified for --owns\n" @@ -587,7 +574,7 @@ msgstr "错误:没有为 --owns 指定文件\n" #, c-format msgid "failed to read file '%s': %s\n" -msgstr "无法读取文件 '%s': %s\n" +msgstr "无法读取文件 '%1$s': %2$s\n" #, c-format msgid "cannot determine ownership of a directory\n" @@ -595,11 +582,11 @@ msgstr "无法确定目录的所有者属性\n" #, c-format msgid "cannot determine real path for '%s': %s\n" -msgstr "无法确定 '%s': %s 的真实路径。\n" +msgstr "无法确定 '%1$s' 的真实路径:%2$s\n" #, c-format msgid "%s is owned by %s %s\n" -msgstr "%s属于%s %s\n" +msgstr "%1$s 属于 %2$s %3$s\n" #, c-format msgid "No package owns %s\n" @@ -607,7 +594,7 @@ msgstr "没有软件包拥有 %s\n" #, c-format msgid "group \"%s\" was not found\n" -msgstr "没有找到 \"%s\" 组\n" +msgstr "未找到 \"%s\" 组\n" #, c-format msgid "Checking for package upgrades... \n" @@ -627,11 +614,11 @@ msgstr "没有指定目标(使用 -h 获取帮助)\n" #, c-format msgid "package \"%s\" not found\n" -msgstr "软件包 \"%s\" 没有找到\n" +msgstr "软件包 \"%s\" 未找到\n" #, c-format msgid "%s not found, searching for group...\n" -msgstr "%s 没有找到,搜索软件包组中...\n" +msgstr "%s 未找到,正在搜索软件包组...\n" #, c-format msgid "'%s': not found in local db\n" @@ -639,23 +626,23 @@ msgstr "'%s':没有在本地数据库中找到\n" #, c-format msgid ":: group %s:\n" -msgstr ":: 组%s:\n" +msgstr ":: 组 %s:\n" #, c-format msgid " Remove whole content?" -msgstr "····删除全部内容?" +msgstr " 删除全部内容?" #, c-format msgid ":: Remove %s from group %s?" -msgstr ":: 从组 %s 中删除 %s 吗?" +msgstr ":: 从组 %2$s 中删除 %1$s 吗?" #, c-format msgid "failed to prepare transaction (%s)\n" -msgstr "无法准备事务处理(%s)\n" +msgstr "无法准备事务处理 (%s)\n" #, c-format msgid ":: %s: requires %s\n" -msgstr ":: %s: 要求 %s\n" +msgstr ":: %1$s: 要求 %2$s\n" #, c-format msgid "Do you want to remove these packages?" @@ -663,11 +650,11 @@ msgstr "打算删除这些软件包吗?" #, c-format msgid "failed to commit transaction (%s)\n" -msgstr "无法交付处理(%s)\n" +msgstr "无法提交处理 (%s)\n" #, c-format msgid "could not access database directory\n" -msgstr "无法进入数据库目录\n" +msgstr "无法访问数据库目录\n" #, c-format msgid "Do you want to remove %s?" @@ -695,11 +682,11 @@ msgstr "缓存目录:%s\n" #, c-format msgid "Do you want to remove uninstalled packages from cache?" -msgstr "打算从缓存中删除没有安装的软件包吗?" +msgstr "打算从缓存中删除未安装的软件包吗?" #, c-format msgid "Do you want to remove outdated packages from cache?" -msgstr "打算从缓存中删除没有安装的软件包吗?" +msgstr "打算从缓存中删除过期的软件包吗?" #, c-format msgid "removing old packages from cache... " @@ -707,7 +694,7 @@ msgstr "正在从缓存中删除旧软件包..." #, c-format msgid "could not access cache directory\n" -msgstr "无法进入缓存目录\n" +msgstr "无法访问缓存目录\n" #, c-format msgid "done.\n" @@ -731,7 +718,7 @@ msgstr "无法创建新缓存目录\n" #, c-format msgid "failed to update %s (%s)\n" -msgstr "无法升级 %s (%s)\n" +msgstr "无法升级 %1$s (%2$s)\n" #, c-format msgid " %s is up to date\n" @@ -747,23 +734,23 @@ msgstr "软件仓库 '%s' 不存在\n" #, c-format msgid "package '%s' was not found in repository '%s'\n" -msgstr "软件包'%s'没有在'%s'软件仓库里找到\n" +msgstr "软件包 '%1$s' 没有在 '%2$s' 软件仓库里找到\n" #, c-format msgid "package '%s' was not found\n" -msgstr "软件包 '%s' 没有找到\n" +msgstr "软件包 '%s' 未找到\n" #, c-format msgid "repository \"%s\" was not found.\n" -msgstr "软件仓库 \"%s\" 没有找到\n" +msgstr "软件仓库 \"%s\" 未找到\n" #, c-format msgid ":: Starting full system upgrade...\n" -msgstr ":: 正在进行全系统更新...\n" +msgstr ":: 正在进行全面系统更新...\n" #, c-format msgid "%s package not found, searching for group...\n" -msgstr "%s 软件包没有找到,正在搜索软件包组...\n" +msgstr "%s 软件包未找到,正在搜索软件包组...\n" #, c-format msgid ":: group %s (including ignored packages):\n" @@ -775,7 +762,7 @@ msgstr ":: 安装全部内容?" #, c-format msgid ":: Install %s from group %s?" -msgstr ":: 从软件包组 %s 安装 %s 吗?" +msgstr ":: 从软件包组 %2$s 安装 %1$s 吗?" #, c-format msgid "'%s': not found in sync db\n" @@ -783,7 +770,7 @@ msgstr "'%s':没有在同步数据库中找到\n" #, c-format msgid ":: %s: conflicts with %s\n" -msgstr ":: %s: 与 %s 冲突\n" +msgstr ":: %1$s: 与 %2$s 冲突\n" #, c-format msgid " local database is up to date\n" @@ -799,15 +786,15 @@ msgstr "进行安装吗?" #, c-format msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s 存在于 '%s' 和 '%s'\n" +msgstr "%1$s 存在于 '%2$s' 和 '%3$s'\n" #, c-format msgid "%s: %s exists in filesystem\n" -msgstr "%s: 文件系统中已存在 %s \n" +msgstr "%1$s: 文件系统中已存在 %2$s \n" #, c-format msgid "%s is invalid or corrupted\n" -msgstr "%s·无效或已损坏\n" +msgstr "%s 无效或已损坏\n" #, c-format msgid "Errors occurred, no packages were upgraded.\n" @@ -843,7 +830,7 @@ msgstr "" #, c-format msgid "failed to init transaction (%s)\n" -msgstr "无法初始化事务处理(%s)\n" +msgstr "无法初始化事务处理 (%s)\n" #, c-format msgid "" @@ -855,7 +842,7 @@ msgstr "" #, c-format msgid "failed to release transaction (%s)\n" -msgstr "无法释放事务处理(%s)\n" +msgstr "无法释放事务处理 (%s)\n" #, c-format msgid "None" @@ -943,7 +930,7 @@ msgid "Cleaning up..." msgstr "正在清理..." msgid "There is no agent set up to handle %s URLs. Check %s." -msgstr "没有设置程序来处理 %s URLs。请检查 %s。" +msgstr "没有设置程序来处理 %1$s URLs。请检查 %2$s。" msgid "Aborting..." msgstr "正在放弃..." @@ -952,13 +939,13 @@ msgid "The download program %s is not installed." msgstr "下载程序 %s 没有安装。" msgid "Pacman returned a fatal error (%i): %s" -msgstr "Pacman 出现致命错误(%i):%s" +msgstr "Pacman 出现致命错误 (%i):%s" msgid "Installing missing dependencies..." msgstr "正在安装缺少的依赖关系..." msgid "Pacman failed to install missing dependencies." -msgstr "Pacman无法安装缺少的依赖关系..." +msgstr "Pacman 无法安装缺少的依赖关系..." msgid "Failed to install all missing dependencies." msgstr "无法安装所有缺少的依赖关系。" @@ -973,7 +960,7 @@ msgid "Retrieving Sources..." msgstr "获取源代码..." msgid "You do not have write permission to store downloads in %s." -msgstr "你没有写权力把下载存放在 %s。" +msgstr "你没有权限将下载数据写入 %s。" msgid "Found %s in build dir" msgstr "在创建目录中找到 %s" @@ -982,7 +969,7 @@ msgid "Using cached copy of %s" msgstr "使用 %s 在缓存中的复制版本" msgid "%s was not found in the build directory and is not a URL." -msgstr "%s 没有在创建目录中找到,也不是一个URL。" +msgstr "%s 没有在创建目录中找到,也不是一个 URL。" msgid "Downloading %s..." msgstr "正在下载 %s..." @@ -994,22 +981,22 @@ msgid "Generating checksums for source files..." msgstr "正在为源代码文件创建完整性检查值..." msgid "Invalid integrity algorithm '%s' specified." -msgstr "指定了无效的 '%s' 完整性编码" +msgstr "指定了无效的完整性算法 '%s'" msgid "Cannot find openssl." msgstr "无法找到 openssl。" msgid "Unable to find source file %s to generate checksum." -msgstr "无法找到源代码文件 %s 来创建完整性检查码。" +msgstr "无法找到源代码文件 %s 来生成校验值。" msgid "Invalid integrity algorithm '%s' specified" -msgstr "指定了无效的 '%s' 完整性编码" +msgstr "指定了无效的完整性算法 '%s'" msgid "Validating source files with %s..." -msgstr "正在检查源码完整性 %s..." +msgstr "正在验证源代码文件 %s..." msgid "NOT FOUND" -msgstr "没有找到" +msgstr "未找到" msgid "Passed" msgstr "通过" @@ -1021,13 +1008,13 @@ msgid "One or more files did not pass the validity check!" msgstr "一个或多个文件没有通过有效性检查!" msgid "Integrity checks (%s) are missing or incomplete." -msgstr "完整性检查(%s)去少或者不完全" +msgstr "完整性检查 (%s) 缺失或者不完整" msgid "Extracting Sources..." msgstr "解压缩源码..." msgid "Unable to find source file %s for extraction." -msgstr "无法找到源码文件 %s 进行解压缩。" +msgstr "无法找到源代码文件 %s 进行解压缩。" msgid "Failed to extract %s" msgstr "无法解压缩 %s" @@ -1045,10 +1032,10 @@ msgid "Removing info/doc files..." msgstr "正在删除 info/doc 文件..." msgid "Compressing man pages..." -msgstr "正在压缩 man 帮助页..." +msgstr "正在压缩 man 文档..." msgid "Stripping debugging symbols from binaries and libraries..." -msgstr "正在从二进制执行文件和库中删除 debug 符号..." +msgstr "正在从二进制文件和库中清除 debug 符号..." msgid "Removing libtool .la files..." msgstr "正在删除 libtool .la 文件..." @@ -1066,10 +1053,10 @@ msgid "Generating .PKGINFO file..." msgstr "正在生成 .PKGINFO 文件..." msgid "Please add a license line to your %s!" -msgstr "请添加软件许可行到你的 %s!" +msgstr "请添加软件许可证行到你的 %s!" msgid "Example for GPL'ed software: license=('GPL')." -msgstr "GPL软件的列子:license=('GPL')" +msgstr "GPL 软件的列子:license=('GPL')" msgid "Adding install script..." msgstr "正在添加安装脚本..." @@ -1084,10 +1071,10 @@ msgid "Failed to create package file." msgstr "无法创建软件包文件。" msgid "Cannot find the xdelta binary! Is xdelta installed?" -msgstr "无法找到 xdelta 执行文件!是否 xdelta 已经安装?" +msgstr "无法找到 xdelta 执行文件!xdelta 是否已安装?" msgid "Making delta from version %s..." -msgstr "正在从版本 %s 制作delta..." +msgstr "正在从版本 %s 制作 delta..." msgid "Recreating package tarball from delta to match md5 signatures" msgstr "正在从 delta 重新生成软件包打包文档以符合 md5 签名" @@ -1096,7 +1083,7 @@ msgid "NOTE: the delta should ONLY be distributed with this tarball" msgstr "注意:本 delta 应当只与本压缩包一起分发" msgid "Could not generate the package from the delta." -msgstr "无法从 delta 中生成软件包。" +msgstr "无法从 delta 生成软件包。" msgid "Delta was not able to be created." msgstr "无法创建 delta。" @@ -1111,7 +1098,7 @@ msgid "Adding %s..." msgstr "正在添加 %s..." msgid "Install script %s not found." -msgstr "安装脚本 %s 没有找到。" +msgstr "安装脚本 %s 未找到。" msgid "Compressing source package..." msgstr "正在压缩源码包..." @@ -1232,11 +1219,11 @@ msgid "" "software; see the source for copying conditions.\\nThere is NO WARRANTY, to " "the extent permitted by law.\\n" msgstr "" -"Copyright (C) 2002-2007 Judd Vinet .\\n\\n这是免费软件;" +"Copyright (C) 2002-2007 Judd Vinet .\\n\\n这是自由软件;" "版权条款见源码\\n在法律许可下,不承担任何担保责任。\\n" msgid "%s not found." -msgstr "%s 没有找到。" +msgstr "%s 未找到。" msgid "\\0--holdver and --forcever cannot both be specified" msgstr "\\0--holdver 和 --forcever 不能同时指定。" @@ -1248,10 +1235,10 @@ msgid " Are you sure you wish to do this? " msgstr " 你确认要这样做吗? " msgid "Problem removing files; you may not have correct permissions in %s" -msgstr "删除文件发生错误;在 %s 你可能没有正确的权限。" +msgstr "删除文件发生错误;你可能没有 %s 的相关权限。" msgid "Source cache cleaned." -msgstr "源码缓存已清除。" +msgstr "源代码缓存已清除。" msgid "No files have been removed." msgstr "没有文件被删除。" @@ -1263,49 +1250,49 @@ msgid "In addition, please run makepkg -C outside of your cache directory." msgstr "此外,请在你的缓存目录外运行 makepkg -C。" msgid "BUILDSCRIPT is undefined! Ensure you have updated %s." -msgstr "BUILDSCRIPT 没有指定!确认你已经更新过 %s。" +msgstr "BUILDSCRIPT 未定义!确认你已经更新过 %s。" msgid "Running makepkg as root is a BAD idea and can cause" -msgstr "作为 root(根用户)运行 makepkg 是个非常糟糕的主意," +msgstr "以 root(根用户)身份运行 makepkg 的习惯很不好," msgid "permanent, catastrophic damage to your system. If you" -msgstr "可能会造成你的系统永远的,灾难性的损坏;" +msgstr "可能会造成你的系统永久性、灾难性的损坏;" msgid "wish to run as root, please use the --asroot option." -msgstr "如果你希望作为 root(根用户)来运行,请使用--asroot选项。" +msgstr "如果你希望以 root(根用户)来运行,请使用 --asroot 选项。" msgid "The --asroot option is meant for the root user only." msgstr "--asroot 选项仅针对 root(根用户)。" msgid "Please rerun makepkg without the --asroot flag." -msgstr "请重新运行 makepkg 而不带--asroot参数。" +msgstr "请不带 --asroot 参数再运行一次 makepkg。" msgid "Fakeroot must be installed if using the 'fakeroot' option" -msgstr "如果使用了 'fakeroot' 选项,必须安装 fakeroot" +msgstr "要使用 'fakeroot' 选项,必须安装 fakeroot" msgid "in the BUILDENV array in %s." msgstr "在 %s 的 BUILDENV 中。" msgid "Running makepkg as an unprivileged user will result in non-root" -msgstr "作为非特权用户运行 makepkg 将导致打包文件的" +msgstr "以非授权用户身份运行 makepkg 将导致" msgid "ownership of the packaged files. Try using the fakeroot environment by" -msgstr "拥有者权限为非根用户。请尝试通过在 makepkg.conf 中的" +msgstr "打包文件的拥有者权限为非根用户。请尝试" msgid "placing 'fakeroot' in the BUILDENV array in makepkg.conf." -msgstr "BUILDENV 设置行中加入 'fakeroot' 来使用 fakeroot 环境。" +msgstr "在 makepkg.conf 的 BUILDENV 中加入 'fakeroot' 来使用 fakeroot 环境。" msgid "Do not use the '-F' option. This option is only for use by makepkg." -msgstr "不必使用'-F'选项。该选项仅仅供 makepkg 使用。" +msgstr "不要使用 '-F' 选项。该选项仅供 makepkg 使用。" msgid "Cannot find the sudo binary! Is sudo installed?" -msgstr "无法找到sudo命令!sudo是否已安装?" +msgstr "无法找到 sudo 命令!sudo 是否已安装?" msgid "Missing dependencies cannot be installed or removed as a normal user" -msgstr "无法作为普通用户来安装或删除缺少的依赖关系" +msgstr "无 sudo 的情况下,无法以普通用户身份来安装或删除缺少的依赖关系;" msgid "without sudo; install and configure sudo to auto-resolve dependencies." -msgstr "没有 sudo;请安装和配置sudo以自动解决依赖关系。" +msgstr "请安装和配置 sudo 以自动解决依赖关系。" msgid "%s does not exist." msgstr "%s 不存在。" @@ -1314,34 +1301,34 @@ msgid "%s is not allowed to be empty." msgstr "%s 不允许为空。" msgid "%s is not allowed to contain hyphens." -msgstr "%s 不允许含有连字号" +msgstr "%s 不允许含有连字号(减号)" msgid "%s is not available for the '%s' architecture." -msgstr "'%s '架构中没有 %s。" +msgstr "%1$s 不具备 '%2$s' 架构。" msgid "Note that many packages may need a line added to their %s" -msgstr "注意许多软件包都需要添加一行到他们的%s" +msgstr "注意许多软件包可能需要在 %s 中添加" msgid "such as arch=('%s')." -msgstr "诸如arch=('%s')." +msgstr "类似 arch=('%s') 的一行." msgid "Install scriptlet (%s) does not exist." -msgstr "安装小脚本(%s)不存在。" +msgstr "安装小脚本 (%s) 不存在。" msgid "options array contains unknown option '%s'" msgstr "选项组含有未知的选项 '%s'" msgid "A package has already been built, installing existing package..." -msgstr "已有一个编译好的软件包,正在安装现存的软件包..." +msgstr "已有一个编译好的软件包,正在安装现有的软件包..." msgid "A package has already been built. (use -f to overwrite)" -msgstr "已有一个编译好的软件包。(使用-f覆盖)" +msgstr "已有一个编译好的软件包。(使用 -f 覆盖)" msgid "Skipping build." msgstr "跳过编译。" msgid "Leaving fakeroot environment." -msgstr "正在退出fakeroot环境。" +msgstr "正在退出 fakeroot 环境。" msgid "Making package: %s" msgstr "正在创建软件包:%s" @@ -1350,7 +1337,7 @@ msgid "Running makepkg as root..." msgstr "正在作为 root 运行 makepkg..." msgid "Source package created: %s" -msgstr "源码包已创建:%s" +msgstr "源代码包已创建:%s" msgid "Skipping dependency checks." msgstr "跳过依赖关系检查。" @@ -1365,28 +1352,28 @@ msgid "Could not resolve all dependencies." msgstr "无法解决所有的依赖关系。" msgid "pacman was not found in PATH; skipping dependency checks." -msgstr "没有在指定路径找到 pacman;跳过依赖关系检查。" +msgstr "没有在 PATH 中找到 pacman;跳过依赖关系检查。" msgid "Skipping source retrieval -- using existing src/ tree" -msgstr "跳过源码获取 -- 使用现存的 src/" +msgstr "跳过源码获取 -- 使用现有的 src/ 目录树" msgid "Skipping source integrity checks -- using existing src/ tree" -msgstr "跳过源码完整性检查 -- 使用现存的 src/" +msgstr "跳过源码完整性检查 -- 使用现有的 src/ 目录树" msgid "Skipping source extraction -- using existing src/ tree" -msgstr "跳过源码解压缩 -- 使用现存的 src/" +msgstr "跳过源码解压缩 -- 使用现有的 src/ 目录树" msgid "The source directory is empty, there is nothing to build!" -msgstr "源码目录为空,没有东西可编译。" +msgstr "源代码目录为空,没有东西可编译。" msgid "The package directory is empty, there is nothing to repackage!" -msgstr "源码目录为空,没有东西可打包。" +msgstr "软件包目录为空,没有东西可重新打包。" msgid "Sources are ready." -msgstr "源码已准备好。" +msgstr "源代码已就绪。" msgid "Removing existing pkg/ directory..." -msgstr "正在删除现存的 pkg/ 目录..." +msgstr "正在删除现有的 pkg/ 目录..." msgid "Entering fakeroot environment..." msgstr "正在进入 fakeroot 环境..." @@ -1401,8 +1388,8 @@ msgid "" "pacman-optimize is a little hack that should improve the performance\\nof " "pacman when reading/writing to its filesystem-based database.\\n\\n" msgstr "" -"pacman-optimize是一个小hack,它可以提高pacman\\n读取/写入它基于文件系统的数据" -"库时的表现\\n\\n" +"pacman-optimize 是一个小 hack,用于提高 pacman\\n读/写基于文件系统的数据库时" +"的性能。\\n\\n" msgid "" "Because pacman uses many small files to keep track of packages,\\nthere is a " @@ -1412,12 +1399,12 @@ msgid "" "them faster, since the hard drive head\\ndoes not have to move around the " "disk as much.\\n" msgstr "" -"因为pacman使用许多小文件来记录软件包。\\n久而久之这些文件有倾向变得零碎。\\n" -"这个脚本尝试把这些小文件重新放置到你硬盘上的一个连续的位置。\\n结果是硬盘由于" -"不用再在碟片上移来移去,从而可以读取得更快。\\n" +"因为 pacman 使用许多小文件来跟踪软件包。\\n久而久之这些文件有倾向变得零碎。" +"\\n本脚本尝试把这些小文件重新放置到硬盘上的一个连续的位置。\\n结果是硬盘磁头" +"由于不用再在碟片上移来移去,从而可以读取得更快。\\n" msgid "diff tool was not found, please install diffutils." -msgstr "diff工具没有找到,请安装 diffutils。" +msgstr "diff 工具未找到,请安装 diffutils。" msgid "Pacman lock file was found. Cannot run while pacman is running." msgstr "发现 Pacman 锁文件。不能在 pacman 运行时再次运行。" @@ -1426,10 +1413,10 @@ msgid "%s does not exist or is not a directory." msgstr "%s 不存在或不是一个目录。" msgid "You must have correct permissions to optimize the database." -msgstr "你必须拥有正确的权限才能优化数据库。" +msgstr "你必须拥有相应的权限才能优化数据库。" msgid "ERROR: Can not create temp directory for database building." -msgstr "错误:无法为数据库建立创建空目录。" +msgstr "错误:无法为建立数据库而创建临时目录。" msgid "MD5sum'ing the old database..." msgstr "正在为原数据库创建 MD5 校验值..." @@ -1441,7 +1428,7 @@ msgid "Tar'ing up %s failed." msgstr "打包 %s 失败。" msgid "Making and MD5sum'ing the new db..." -msgstr "正在生成新数据库及 MD5 校验值..." +msgstr "正在生成新数据库及其 MD5 校验值..." msgid "Untar'ing %s failed." msgstr "解包 %s 失败。" @@ -1479,19 +1466,19 @@ msgid "" "\\nspecified on the command line from the given repo database. Multiple" "\\npackages to remove can be specified on the command line.\\n\\n" msgstr "" -"repo-remove 通过从给定的库数据库中删除\\n在命令行中指定的软件包名来更新某个软" -"件包数据库。\\n可在命令行中指定同时删除多个软件包。\\n\\n" +"repo-remove 通过在指定软件包数据库中删除\\n在命令行中指定的软件包名来更新这个" +"软件包数据库。\\n可以在命令行中指定删除多个软件包。\\n\\n" msgid "" "The -q/--quiet flag to either program will force silent running except\\nin " "the case of warnings or errors.\\n\\n" -msgstr "-q/--quiet 标志将强制程序安静运行,除了\\nin·出现警告或错误。\\n\\n" +msgstr "-q/--quiet 强制程序安静运行,\\n除非出现警告或错误。\\n\\n" msgid "Example: repo-add /path/to/repo.db.tar.gz pacman-3.0.0.pkg.tar.gz" -msgstr "例子: repo-add /path/to/repo.db.tar.gz pacman-3.0.0.pkg.tar.gz" +msgstr "例子: repo-add /path/to/repo.db.tar.gz pacman-3.0.0.pkg.tar.gz" msgid "Example: repo-remove /path/to/repo.db.tar.gz kernel26" -msgstr "例子:repo-remove /path/to/repo.db.tar.gz kernel26" +msgstr "例子: repo-remove /path/to/repo.db.tar.gz kernel26" msgid "" "Copyright (C) 2006-2008 Aaron Griffin .\\nCopyright (c) " @@ -1519,40 +1506,40 @@ msgid "Creating 'deltas' db entry..." msgstr "正在生成 'deltas' 数据库记录..." msgid "Added delta '%s'" -msgstr "已添加delta '%s'" +msgstr "已添加 delta '%s'" msgid "Could not add delta '%s'" msgstr "无法添加 delta '%s'" msgid "Removing existing package '%s'..." -msgstr "正在删除现有的软件包'%s'..." +msgstr "正在删除现有的软件包 '%s'..." msgid "Either realpath or readlink are required by repo-add." -msgstr "repo-add 要求 realpath 或 readlink 其中一个。" +msgstr "repo-add 要求 realpath 和 readlink 中的一个。" msgid "%s not found. Cannot continue." -msgstr "%s 没有找到。无法继续。" +msgstr "%s 未找到。" msgid "Cannot create temp directory for database building." -msgstr "无法为建立数据库创建空目录。" +msgstr "无法为建立数据库而创建临时目录。" msgid "Invalid command name '%s' specified." -msgstr "指定了无效的 '%s' 命令行名字" +msgstr "指定了无效的命令名 '%s'" msgid "the -f and --force options are no longer recognized" msgstr "-f 和 --force 选项不再被识别" msgid "use options=(force) in the PKGBUILD instead" -msgstr "而应当在 PKGBUILD 使用 options=(force)" +msgstr "应当在 PKGBUILD 使用 options=(force) 取而代之" msgid "Repository file '%s' is not a proper pacman database." -msgstr "库文件 '%s' 不是一个有效的pacman数据库。" +msgstr "库文件 '%s' 不是一个有效的 pacman 数据库。" msgid "Extracting database to a temporary location..." msgstr "正在解压缩数据库到一个临时目录..." msgid "Repository file '%s' was not found." -msgstr "软件仓库文件 '%s' 没有找到" +msgstr "软件仓库文件 '%s' 未找到" msgid "'%s' is not a package file, skipping" msgstr "'%s' 不是一个软件包文件,跳过" @@ -1561,13 +1548,13 @@ msgid "Adding package '%s'" msgstr "正在添加软件包 '%s'" msgid "Package '%s' not found." -msgstr "软件包 '%s' 没有找到。" +msgstr "软件包 '%s' 未找到。" msgid "Searching for package '%s'..." msgstr "正在搜索软件包 '%s'..." msgid "Package matching '%s' not found." -msgstr "没有找到符合 '%s' 的软件包。" +msgstr "未找到符合 '%s' 的软件包。" msgid "Creating updated database file '%s'" msgstr "正在生成更新的数据库文件 '%s'" @@ -1580,3 +1567,15 @@ msgstr "所有软件包已经从数据库中删除。正在删除 '%s'。" msgid "No packages modified, nothing to do." msgstr "没有软件包被修改,无事可做。" + +#~ msgid "New optional dependencies for %s\n" +#~ msgstr "%s 的新可选依赖\n" + +#~ msgid "'%s' is not a valid archive extension." +#~ msgstr "'%s' 是无效的压缩包扩展名。" + +#~ msgid " --config Use an alternate config file (instead of '%s')" +#~ msgstr " --config 使用替代的配置文件(而不是 '%s')" + +#~ msgid "'%s' does not have a valid archive extension." +#~ msgstr "'%s' 未包含有效的压缩包扩展名。" -- cgit v1.2.3-70-g09d2 From a63aeed562c8bdd6604ec50e6a4b684f6edabda3 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 16 Oct 2008 19:47:54 -0500 Subject: Give pacman-optimize a refresher This patch addresses quite a few lingering issues in the pacman-optimize script. FS#11767 provoked this look-over and the following issues were noticed and fixed: * If an alternate dbroot was specified, then the lockfile location was never updated to reflect it. The lockfile location is now set after all dbpath initialization. * The inclusion of a trailing slash on dbroot was problematic and led to the following command being executed: bsdtar -xpf /tmp/pacman-optimize.p12Q4vAUWY/pacman-db.tar.gz \ -C /var/lib/pacman/.new/ It is doubtful we meant to create a hidden directory like this below our database root, only to go and delete it a second later and then re-extract. Fix the whole thing by ensuring our dbpath has its trailing slash stripped and then appending it when necessary. * The DB extraction was performed twice for no real apparent reason. This opens the door for extraction problems the second time around, leaving you with no original database to fall back to. Change the behavior so we only extract once, and then perform a directory shuffle once we verify the checksums are correct. * Perform an explicit sync after we drop the new database on the disk. It should work better this way. * Tighten up our check for a pacman lockfile and the time we create one. There is still a possible race condition but the window is shorter. Signed-off-by: Dan McGee --- scripts/pacman-optimize.sh.in | 55 ++++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/scripts/pacman-optimize.sh.in b/scripts/pacman-optimize.sh.in index 0cd108b7..dbb8ed00 100644 --- a/scripts/pacman-optimize.sh.in +++ b/scripts/pacman-optimize.sh.in @@ -25,7 +25,6 @@ export TEXTDOMAINDIR='@localedir@' myver='@PACKAGE_VERSION@' dbroot='@localstatedir@/lib/pacman/' -lockfile="${dbroot}db.lck" msg() { local mesg=$1; shift @@ -98,11 +97,6 @@ if ! type diff >/dev/null 2>&1; then die "$(gettext "diff tool was not found, please install diffutils.")" fi -# make sure pacman isn't running -if [ -f "$lockfile" ]; then - die "$(gettext "Pacman lock file was found. Cannot run while pacman is running.")" -fi - if [ ! -d "$dbroot" ]; then die "$(gettext "%s does not exist or is not a directory.")" "$dbroot" fi @@ -111,12 +105,21 @@ if [ ! -w "$dbroot" ]; then die "$(gettext "You must have correct permissions to optimize the database.")" fi -workdir=$(mktemp -d /tmp/pacman-optimize.XXXXXXXXXX) || - die_r "$(gettext "ERROR: Can not create temp directory for database building.")\n" >&2 +# strip any trailing slash from our dbroot +dbroot="${dbroot%/}" +# form the path to our lockfile location +lockfile="${dbroot}/db.lck" +# make sure pacman isn't running +if [ -f "$lockfile" ]; then + die "$(gettext "Pacman lock file was found. Cannot run while pacman is running.")" +fi # do not let pacman run while we do this touch "$lockfile" +workdir=$(mktemp -d /tmp/pacman-optimize.XXXXXXXXXX) || + die_r "$(gettext "ERROR: Can not create temp directory for database building.")\n" >&2 + # step 1: sum the old db msg "$(gettext "MD5sum'ing the old database...")" find "$dbroot" -type f | sort | xargs md5sum > "$workdir/pacsums.old" @@ -124,46 +127,56 @@ find "$dbroot" -type f | sort | xargs md5sum > "$workdir/pacsums.old" # step 2: tar it up msg "$(gettext "Tar'ing up %s...")" "$dbroot" cd "$dbroot" -bsdtar -czf "$workdir/pacmanDB.tgz" ./ +bsdtar -czf "$workdir/pacman-db.tar.gz" ./ if [ $? -ne 0 ]; then rm -rf "$workdir" die_r "$(gettext "Tar'ing up %s failed.")" "$dbroot" fi -# step 3: make and sum the new db -msg "$(gettext "Making and MD5sum'ing the new db...")" +# step 3: make and sum the new db side-by-side with the old +msg "$(gettext "Making and MD5sum'ing the new database...")" mkdir "$dbroot.new" -bsdtar -zxpf "$workdir/pacmanDB.tgz" -C "$dbroot.new/" +bsdtar -xpf "$workdir/pacman-db.tar.gz" -C "$dbroot.new" if [ $? -ne 0 ]; then rm -rf "$workdir" die_r "$(gettext "Untar'ing %s failed.")" "$dbroot" fi +# immediate sync following extraction should get it written continuously on HDD +msg "$(gettext "Syncing database to disk...")" +sync find "$dbroot.new" -type f | sort | \ - xargs md5sum | sed 's#.new/##' > "$workdir/pacsums.new" + xargs md5sum | sed 's#.new##' > "$workdir/pacsums.new" # step 4: compare the sums msg "$(gettext "Checking integrity...")" diff "$workdir/pacsums.old" "$workdir/pacsums.new" >/dev/null 2>&1 if [ $? -ne 0 ]; then # failed - # leave /tmp/pacsums.old and .new for checking to see what doesn't match up + # leave our pacman-optimize tmpdir for checking to see what doesn't match up rm -rf "$dbroot.new" die_r "$(gettext "Integrity check FAILED, reverting to old database.")" fi -# step 5: remove the new temporary database and the old one -# and use the .tgz to replace the old one -msg "$(gettext "Putting the new database in place...")" -rm -rf "$dbroot.new" "$dbroot"/* -bsdtar -zxpf "$workdir/pacmanDB.tgz" -C "$dbroot/" +# step 5: shuffle the newly extracted DB into the proper location +msg "$(gettext "Rotating database into place...")" + +fail=0 +mv "$dbroot" "$dbroot.old" || fail=1 +mv "$dbroot.new" "$dbroot" || fail=1 +chmod --reference="$dbroot.old" "$dbroot" || fail=1 +chown --reference="$dbroot.old" "$dbroot" || fail=1 +if [ $fail -ne 0 ]; then + # failure with our directory shuffle + die_r "$(gettext "New database substitution failed. Check for $dbroot,\n$dbroot.old, and $dbroot.new directories.")" +fi +rm -rf "$dbroot.old" -# remove the lock file, sum files, and .tgz of database +# remove the lock file and our working directory with sums and tarfile rm -f "$lockfile" rm -rf "$workdir" echo msg "$(gettext "Finished. Your pacman database has been optimized.")" -msg "$(gettext "For full benefits of pacman-optimize, run 'sync' now.")" echo exit 0 -- cgit v1.2.3-70-g09d2