diff options
-rw-r--r-- | apt-pkg/contrib/fileutl.cc | 22 | ||||
-rw-r--r-- | apt-private/private-cmndline.cc | 2 | ||||
-rw-r--r-- | debian/changelog | 48 | ||||
-rwxr-xr-x | dselect/install | 9 | ||||
-rw-r--r-- | po/it.po | 175 | ||||
-rw-r--r-- | po/vi.po | 98 | ||||
-rw-r--r-- | test/integration/framework | 56 | ||||
-rwxr-xr-x | test/integration/test-apt-cdrom | 5 | ||||
-rwxr-xr-x | test/integration/test-hashsum-verification | 4 | ||||
-rwxr-xr-x | test/integration/test-pdiff-usage | 4 | ||||
-rwxr-xr-x | test/integration/test-releasefile-verification | 4 |
11 files changed, 177 insertions, 250 deletions
diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 47a91c294..4806ae3f9 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -946,9 +946,6 @@ bool FileFd::Open(string FileName,unsigned int const Mode,APT::Configuration::Co if ((Mode & Atomic) == Atomic) { Flags |= Replace; - char *name = strdup((FileName + ".XXXXXX").c_str()); - TemporaryFileName = string(mktemp(name)); - free(name); } else if ((Mode & (Exclusive | Create)) == (Exclusive | Create)) { @@ -971,11 +968,24 @@ bool FileFd::Open(string FileName,unsigned int const Mode,APT::Configuration::Co if_FLAGGED_SET(Create, O_CREAT); if_FLAGGED_SET(Empty, O_TRUNC); if_FLAGGED_SET(Exclusive, O_EXCL); - else if_FLAGGED_SET(Atomic, O_EXCL); #undef if_FLAGGED_SET - if (TemporaryFileName.empty() == false) - iFd = open(TemporaryFileName.c_str(), fileflags, Perms); + if ((Mode & Atomic) == Atomic) + { + char *name = strdup((FileName + ".XXXXXX").c_str()); + + if((iFd = mkstemp(name)) == -1) + { + free(name); + return FileFdErrno("mkostemp", "Could not create temporary file for %s", FileName.c_str()); + } + + TemporaryFileName = string(name); + free(name); + + if(Perms != 600 && fchmod(iFd, Perms) == -1) + return FileFdErrno("fchmod", "Could not change permissions for temporary file %s", TemporaryFileName.c_str()); + } else iFd = open(FileName.c_str(), fileflags, Perms); diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc index aceb865d5..8902f07d5 100644 --- a/apt-private/private-cmndline.cc +++ b/apt-private/private-cmndline.cc @@ -114,7 +114,7 @@ bool addArgumentsAPTConfig(std::vector<CommandLine::Args> &Args, char const * co bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const * const Cmd)/*{{{*/ { if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade", - "deselect-upgrade", "autoremove")) + "dselect-upgrade", "autoremove")) { addArg(0, "dpkg-progress", "DpkgPM::Progress", 0); addArg('f', "fix-broken", "APT::Get::Fix-Broken", 0); diff --git a/debian/changelog b/debian/changelog index 5d3758850..3ae0d3182 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,18 +1,43 @@ -apt (0.9.11~exp3) UNRELEASEDexperimental; urgency=low +apt (0.9.11.2) UNRELEASED; urgency=low - * fix incorrect bugnumber for the Pre-Install-Pkgs hook + [ Milo Casagrande ] + * Update Italian translation. Closes: #721030 + + [ Trần Ngọc Quân ] + * Update Vietnamese translation. Closes: #720752 + + [ Michael Vogt ] + * dselect/install: + - remove "-f" option for apt-get clean/auto-clean (closes: #720532) + * apt-private/private-cmndline.cc: + - fix typo in CmdMatches() selection for dselect-upgrade (closes: #720532) + + -- Christian Perrier <bubulle@debian.org> Sun, 25 Aug 2013 15:39:40 +0200 - -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 19 Aug 2013 15:53:47 +0200 +apt (0.9.11.1) unstable; urgency=low -apt (0.9.11~exp2) experimental; urgency=low + [ Michael Vogt ] + * more coverity fixes: + - explicit init + - always chdir("/") after chroot() + - ftparchive/override.cc: fix "skip empty lines" code, the pointer + needs to get de-referenced first + * dselect/update: + - remove "-f" option for apt-get update to fix breakage (closes: 720532) + + [ Christopher Baines ] + * Add test for bug #507998 + + [ David Kalnischkies ] + * add a breaks libapt-inst for FileFd changes in 0.9.9 (Closes: 720449) + * add versions to manpages-it Replaces+Breaks - * add lintian override for no-shlibs-control-file so that - the internal libapt-private.so.0.0.0 can be shipped - * adjust apt.install.in to only install libapt-private.so.* + [ Ángel Guzmán Maeso ] + * apt-pkg:contrib Avoid compiler warning about sign-compare - -- Michael Vogt <mvo@debian.org> Mon, 19 Aug 2013 14:54:58 +0200 + -- Michael Vogt <mvo@debian.org> Sat, 24 Aug 2013 09:13:27 +0200 -apt (0.9.11~exp1) experimental; urgency=low +apt (0.9.11) unstable; urgency=low [ Daniel Hartwig ] * Clarify units of Acquire::http::Dl-Limit (closes: #705445) @@ -31,6 +56,9 @@ apt (0.9.11~exp1) experimental; urgency=low - install libapt-private* into the apt binary - add PACKAGE_MATCHER_ABI_COMPAT define so that this branch can be merged without breaking ABI + - add lintian override for no-shlibs-control-file so that + the internal libapt-private.so.0.0.0 can be shipped + - adjust apt.install.in to only install libapt-private.so.* [ David Kalnischkies ] * ensure that pkgTagFile isn't writing past Buffer length (Closes: 719629) @@ -40,7 +68,7 @@ apt (0.9.11~exp1) experimental; urgency=low [ Christian PERRIER ] * French translation update. - -- Michael Vogt <mvo@debian.org> Mon, 19 Aug 2013 13:25:45 +0200 + -- Michael Vogt <mvo@debian.org> Wed, 21 Aug 2013 17:51:09 +0200 apt (0.9.10) unstable; urgency=low diff --git a/dselect/install b/dselect/install index 3ef213550..7104ee280 100755 --- a/dselect/install +++ b/dselect/install @@ -5,7 +5,8 @@ TEXTDOMAIN="apt" # Get the configuration from /etc/apt/apt.conf CLEAN="prompt" -OPTS="-f" +OPTS="" +DSELECT_UPGRADE_OPTS="-f" APTGET="/usr/bin/apt-get" DPKG="/usr/bin/dpkg" DPKG_OPTS="--admindir=$1" @@ -47,12 +48,12 @@ yesno() { } if [ "$WAIT" = "true" ]; then - $APTGET $OPTS "$APT_OPT0" "$APT_OPT1" -d dselect-upgrade + $APTGET $DSELECT_UPGRADE_OPTS $OPTS "$APT_OPT0" "$APT_OPT1" -d dselect-upgrade echo $"Press enter to continue." && read RES - $APTGET $OPTS "$APT_OPT0" "$APT_OPT1" dselect-upgrade + $APTGET $DSELECT_UPGRADE_OPTS $OPTS "$APT_OPT0" "$APT_OPT1" dselect-upgrade RES=$? else - $APTGET $OPTS "$APT_OPT0" "$APT_OPT1" dselect-upgrade + $APTGET $DSELECT_UPGRADE_OPTS $OPTS "$APT_OPT0" "$APT_OPT1" dselect-upgrade RES=$? fi @@ -1,15 +1,15 @@ # Italian translation of apt -# Copyright (C) 2002-2010, 2011, 2012 The Free Software Foundation, Inc. +# Copyright (C) 2002-2010, 2011, 2012, 2013 The Free Software Foundation, Inc. # This file is distributed under the same license as the apt package. # Samuele Giovanni Tonon <samu@debian.org>, 2002. -# Milo Casagrande <milo@ubuntu.com>, 2009, 2010, 2011, 2012. +# Milo Casagrande <milo@ubuntu.com>, 2009, 2010, 2011, 2012, 2013. # msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" "POT-Creation-Date: 2013-07-31 16:24+0200\n" -"PO-Revision-Date: 2012-06-25 21:54+0200\n" +"PO-Revision-Date: 2013-08-27 22:06+0200\n" "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n" "Language-Team: Italian <tp@lists.linux.it>\n" "Language: it\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Launchpad-Export-Date: 2012-06-25 19:48+0000\n" -"X-Generator: Launchpad (build 15482)\n" +"X-Generator: Gtranslator 2.91.6\n" #: cmdline/apt-cache.cc:158 #, c-format @@ -245,6 +245,12 @@ msgid "" "You may try the --cdrom option to set the CD-ROM mount point. See 'man apt-" "cdrom' for more information about the CD-ROM auto-detection and mount point." msgstr "" +"Impossibile rilevare automaticamente un CD-ROM oppure è stato trovato con " +"il\n" +"punto di mount predefinito.\n" +"È possibile provare l'opzione --cdrom per impostare il punto di mount del\n" +"CD-ROM. Per maggiori informazioni sull'autorilevamento e sul punto di mount\n" +"del CD-ROM, consultare \"man apt-cdrom\"." #: cmdline/apt-cdrom.cc:85 msgid "Please provide a name for this Disc, such as 'Debian 5.0.3 Disk 1'" @@ -1547,10 +1553,9 @@ msgid "Temporary failure resolving '%s'" msgstr "Risoluzione di \"%s\" temporaneamente non riuscita" #: methods/connect.cc:209 -#, fuzzy, c-format +#, c-format msgid "System error resolving '%s:%s'" -msgstr "" -"Si è verificato qualcosa di anormale nella risoluzione di \"%s:%s\" (%i - %s)" +msgstr "Errore di sistema nella risoluzione di \"%s:%s\"" #: methods/connect.cc:211 #, c-format @@ -1587,6 +1592,8 @@ msgid "" "Clearsigned file isn't valid, got '%s' (does the network require " "authentication?)" msgstr "" +"Il file con la firma in chiaro non è valido, ottenuto \"%s\" (la rete " +"richiede autenticazione?)" #: methods/gpgv.cc:183 msgid "Unknown error executing gpgv" @@ -1710,9 +1717,9 @@ msgid "Can not read mirror file '%s'" msgstr "Impossibile leggere il file mirror \"%s\"" #: methods/mirror.cc:315 -#, fuzzy, c-format +#, c-format msgid "No entry found in mirror file '%s'" -msgstr "Impossibile leggere il file mirror \"%s\"" +msgstr "Nessuna voce trovata nel file mirror \"%s\"" #: methods/mirror.cc:445 #, c-format @@ -2508,13 +2515,13 @@ msgstr "%c%s... Fatto" #: apt-pkg/contrib/progress.cc:179 msgid "..." -msgstr "" +msgstr "..." #. Print the spinner #: apt-pkg/contrib/progress.cc:195 -#, fuzzy, c-format +#, c-format msgid "%c%s... %u%%" -msgstr "%c%s... Fatto" +msgstr "%c%s... %u%%" #: apt-pkg/contrib/cmndline.cc:80 #, c-format @@ -3610,147 +3617,3 @@ msgstr "" #: apt-pkg/deb/debsystem.cc:121 msgid "Not locked" msgstr "Non bloccato" - -#~ msgid "File %s doesn't start with a clearsigned message" -#~ msgstr "Il file %s non inizia con un messaggio di firma in chiaro" - -#~ msgid "Skipping nonexistent file %s" -#~ msgstr "Saltato il file inesistente %s" - -#~ msgid "Failed to remove %s" -#~ msgstr "Rimozione di %s non riuscita" - -#~ msgid "Unable to create %s" -#~ msgstr "Impossibile creare %s" - -#~ msgid "Failed to stat %sinfo" -#~ msgstr "Esecuzione di stat su %sinfo non riuscita" - -#~ msgid "The info and temp directories need to be on the same filesystem" -#~ msgstr "Le directory temp e info devono essere sullo stesso file system" - -#~ msgid "Failed to change to the admin dir %sinfo" -#~ msgstr "Cambio della directory admin %sinfo non riuscito" - -#~ msgid "Internal error getting a package name" -#~ msgstr "Errore interno nel recuperare un nome di un pacchetto" - -#~ msgid "Reading file listing" -#~ msgstr "Lettura elenco dei file" - -#~ msgid "" -#~ "Failed to open the list file '%sinfo/%s'. If you cannot restore this file " -#~ "then make it empty and immediately re-install the same version of the " -#~ "package!" -#~ msgstr "" -#~ "Impossibile aprire il file dell'elenco \"%sinfo/%s\". Se non è possibile " -#~ "ripristinarlo, crearne uno vuoto e reinstallare immediatamente la stessa " -#~ "versione del pacchetto." - -#~ msgid "Failed reading the list file %sinfo/%s" -#~ msgstr "Lettura del file dell'elenco %sinfo/%s non riuscita" - -#~ msgid "Internal error getting a node" -#~ msgstr "Errore interno nel recuperare un nodo" - -#~ msgid "Failed to open the diversions file %sdiversions" -#~ msgstr "Apertura del file di deviazione %sdiversions non riuscita" - -#~ msgid "The diversion file is corrupted" -#~ msgstr "Il file di deviazione è danneggiato" - -#~ msgid "Invalid line in the diversion file: %s" -#~ msgstr "Riga non valida nel file di diversion: %s" - -#~ msgid "Internal error adding a diversion" -#~ msgstr "Errore interno nell'aggiungere una deviazioni" - -#~ msgid "The pkg cache must be initialized first" -#~ msgstr "La cache dei pacchetti deve prima essere inizializzata" - -#~ msgid "Failed to find a Package: header, offset %lu" -#~ msgstr "Impossibile trovare un Package: header, offset %lu" - -#~ msgid "Bad ConfFile section in the status file. Offset %lu" -#~ msgstr "Sezione ConfFile nel file di stato non corretta. Offset %lu" - -#~ msgid "Error parsing MD5. Offset %lu" -#~ msgstr "Errore nell'analisi MD5. Offset %lu" - -#~ msgid "Couldn't change to %s" -#~ msgstr "Impossibile passare a %s" - -#~ msgid "Failed to locate a valid control file" -#~ msgstr "Impossibile localizzare un file \"control\" valido" - -#~ msgid "Couldn't open pipe for %s" -#~ msgstr "Impossibile aprire una pipe per %s" - -#~ msgid "Read error from %s process" -#~ msgstr "Errore di lettura dal processo %s" - -#~ msgid "Got a single header line over %u chars" -#~ msgstr "Ricevuta una singola riga header su %u caratteri" - -#~ msgid "" -#~ "No apport report written because the error message indicates an issue on " -#~ "the local system" -#~ msgstr "" -#~ "Non è stata scritta alcuna segnalazione di apport poiché il messaggio di " -#~ "errore indica la presenza di un problema nel sistema locale" - -#~ msgid "Malformed override %s line %lu #1" -#~ msgstr "Override non corretto: file %s riga %lu #1" - -#~ msgid "Malformed override %s line %lu #2" -#~ msgstr "Override non corretto: file %s riga %lu #2" - -#~ msgid "Malformed override %s line %lu #3" -#~ msgstr "Override non corretto: file %s riga %lu #3" - -#~ msgid "read, still have %lu to read but none left" -#~ msgstr "lettura, c'erano ancora %lu da leggere ma non ne è rimasto alcuno" - -#~ msgid "write, still have %lu to write but couldn't" -#~ msgstr "scrittura, c'erano ancora %lu da scrivere ma non è stato possibile" - -#~ msgid "Error occurred while processing %s (NewPackage)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (NewPackage)" - -#~ msgid "Error occurred while processing %s (UsePackage1)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (UsePackage1)" - -#~ msgid "Error occurred while processing %s (NewFileDesc1)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (NewFileDesc1)" - -#~ msgid "Error occurred while processing %s (UsePackage2)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (UsePackage2)" - -#~ msgid "Error occurred while processing %s (NewFileVer1)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (NewFileVer1)" - -#~ msgid "Error occurred while processing %s (UsePackage3)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (UsePackage3)" - -#~ msgid "Error occurred while processing %s (NewFileDesc2)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (NewFileDesc2)" - -#~ msgid "Error occurred while processing %s (FindPkg)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (FindPkg)" - -#~ msgid "Error occurred while processing %s (CollectFileProvides)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (CollectFileProvides)" - -#~ msgid "decompressor" -#~ msgstr "de-compressore" - -#~ msgid "Error occurred while processing %s (NewVersion%d)" -#~ msgstr "Si è verificato un errore nell'elaborare %s (NewVersion%d)" - -#~ msgid "" -#~ "Could not perform immediate configuration on already unpacked '%s'. " -#~ "Please see man 5 apt.conf under APT::Immediate-Configure for details." -#~ msgstr "" -#~ "Impossibile eseguire immediatamente la configurazione su \"%s\" già " -#~ "estratto. Per maggiori informazioni, consultare \"man 5 apt.conf\" alla " -#~ "sezione \"APT::Immediate-Configure\"." @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: apt-0.9.9.4\n" +"Project-Id-Version: apt-0.9.11\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" "POT-Creation-Date: 2013-07-31 16:24+0200\n" -"PO-Revision-Date: 2013-08-03 08:52+0700\n" +"PO-Revision-Date: 2013-08-25 14:13+0700\n" "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" "Language: vi\n" @@ -24,7 +24,7 @@ msgstr "" #: cmdline/apt-cache.cc:158 #, c-format msgid "Package %s version %s has an unmet dep:\n" -msgstr "Gói %s phiên bản %s phụ thuộc vào phần mềm chưa có:\n" +msgstr "Gói %s phiên bản %s chưa thỏa mãn quan hệ phụ thuộc:\n" #: cmdline/apt-cache.cc:286 msgid "Total package names: " @@ -112,7 +112,7 @@ msgstr "Bạn phải đưa ra ít nhất một mẫu tìm kiếm" #: cmdline/apt-cache.cc:1431 msgid "This command is deprecated. Please use 'apt-mark showauto' instead." msgstr "" -"Lệnh này đã bị loại bỏ. Xin hãy dùng lệnh 'apt-mark showauto' để thay thế." +"Lệnh này đã lạc hậu. Xin hãy dùng lệnh 'apt-mark showauto' để thay thế." #: cmdline/apt-cache.cc:1526 apt-pkg/cacheset.cc:510 #, c-format @@ -219,7 +219,7 @@ msgstr "" " stats - Hiện phần thống kê cơ bản\n" " dump - Hiện toàn bộ tập tin dạng ngắn (đổ)\n" " dumpavail - In ra một tập tin sẵn dùng ra thiết bị xuất chuẩn\n" -" unmet - Hiện các cách phụ thuộc chưa thỏa mãn\n" +" unmet - Hiện các gói chưa thỏa mãn quan hệ phụ thuộc\n" " search - Tìm kiếm danh sách các gói dựa trên biểu thức chính quy\n" " show - Hiển thị bản ghi có thể đọc cho những gói đó\n" " depends - Hiện thông tin quan hệ phụ thuộc dạng thô cho gói\n" @@ -336,7 +336,7 @@ msgstr "Lỗi biên dịch biểu thức chính quy - %s" #: cmdline/apt-get.cc:289 msgid "The following packages have unmet dependencies:" -msgstr "Những gói theo đây có phần phụ thuộc chưa có:" +msgstr "Những gói theo đây chưa thỏa mãn quan hệ phụ thuộc:" #: cmdline/apt-get.cc:379 #, c-format @@ -443,7 +443,7 @@ msgstr "Ghi chú: đang chọn “%s” cho biểu thức chính quy “%s”\n" #: cmdline/apt-get.cc:686 #, c-format msgid "Package %s is a virtual package provided by:\n" -msgstr "Gói %s là gói ảo được cung cấp do:\n" +msgstr "Gói %s là gói ảo được cung cấp bởi:\n" #: cmdline/apt-get.cc:697 msgid " [Installed]" @@ -560,9 +560,7 @@ msgstr "Bạn có thể chạy lệnh “apt-get -f install” để sửa nhữ #: cmdline/apt-get.cc:1072 msgid "Unmet dependencies. Try using -f." -msgstr "" -"Còn có cách phụ thuộc vào phần mềm chưa có. Như thế thì bạn hãy cố dùng tùy " -"chọn “-f”." +msgstr "Chưa thỏa mãn quan hệ phụ thuộc. Hãy thử dùng tùy chọn “-f”." #: cmdline/apt-get.cc:1097 msgid "WARNING: The following packages cannot be authenticated!" @@ -574,7 +572,7 @@ msgstr "Cảnh báo xác thực bị đè.\n" #: cmdline/apt-get.cc:1108 msgid "Install these packages without verification?" -msgstr "Cài đặt những gói này mà không cần thẩm tra không?" +msgstr "Cài đặt những gói này mà không cần thẩm tra?" #: cmdline/apt-get.cc:1110 msgid "Some packages could not be authenticated" @@ -582,7 +580,7 @@ msgstr "Một số gói không thể được xác thực" #: cmdline/apt-get.cc:1119 cmdline/apt-get.cc:1280 msgid "There are problems and -y was used without --force-yes" -msgstr "Gặp lỗi và đã dùng tùy chọn “-y” mà không có “--force-yes”" +msgstr "Có lỗi và đã dùng tùy chọn “-y” mà không có “--force-yes”" #: cmdline/apt-get.cc:1160 msgid "Internal error, InstallPackages was called with broken packages!" @@ -620,7 +618,7 @@ msgstr "Cần phải lấy %sB từ kho chứa.\n" #: cmdline/apt-get.cc:1237 #, c-format msgid "After this operation, %sB of additional disk space will be used.\n" -msgstr "Sau thao tác này, %sB dung lượng đĩa thêm sẽ được dùng thêm.\n" +msgstr "Sau thao tác này, %sB dung lượng đĩa sẽ bị chiếm dụng.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB @@ -682,7 +680,7 @@ msgstr "Một số tập tin không tải về được" #: cmdline/apt-get.cc:1404 cmdline/apt-get.cc:2698 msgid "Download complete and in download only mode" -msgstr "Mới tải về xong và trong chế độ chỉ tải về" +msgstr "Hoàn tất việc tải về và trong chế độ chỉ tải về" #: cmdline/apt-get.cc:1410 msgid "" @@ -805,8 +803,8 @@ msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -"Gói còn phụ thuộc vào phần mềm chưa có. Hãy cố chạy lệnh “apt-get -f " -"install” mà không có gói nào (hoặc chỉ định cách thức giải quyết)." +"Thưa thỏa mãn quan hệ phụ thuộc. Hãy thử chạy lệnh “apt-get -f install” mà " +"không có gói nào (hoặc chỉ định cách thức giải quyết)." #: cmdline/apt-get.cc:2002 msgid "" @@ -816,9 +814,9 @@ msgid "" "or been moved out of Incoming." msgstr "" "Không thể cài đặt một số gói. Điều đó có nghĩa là bạn đã yêu cầu\n" -"một trường hợp không thể, hoặc nếu bạn sử dụng bản phân phối\n" +"một trường hợp không thể, hoặc nếu bạn đang sử dụng bản phân phối\n" "chưa ổn định cái mà yêu cầu các gói mà nó còn chưa được tạo ra\n" -"hoặc di chuyển chúng ra khỏi phần Incoming (Đến)." +"hay chưa được chuyển ra khỏi phần Incoming (Đến)." #: cmdline/apt-get.cc:2023 msgid "Broken packages" @@ -851,8 +849,8 @@ msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -"Lệnh này đã bị loại bỏ. Xin hãy dùng lệnh 'apt-mark auto' và 'apt-mark " -"manual' để thay thế." +"Lệnh này đã lỗi thời. Xin hãy dùng lệnh 'apt-mark auto' và 'apt-mark manual' " +"để thay thế." #: cmdline/apt-get.cc:2213 msgid "Calculating upgrade... " @@ -899,7 +897,7 @@ msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -"GHI CHÚ: sự đóng gói “%s” được bảo trì trong hệ thống điều khiển phiên bản " +"GHI CHÚ: việc đóng gói “%s” được bảo trì trong hệ thống quản lý mã nguồn " "“%s” tại:\n" "%s\n" @@ -945,7 +943,7 @@ msgstr "Lấy mã nguồn %s\n" #: cmdline/apt-get.cc:2693 msgid "Failed to fetch some archives." -msgstr "Gặp lỗi lkhi lấy một số kho." +msgstr "Gặp lỗi khi lấy một số kho." #: cmdline/apt-get.cc:2724 #, c-format @@ -1008,13 +1006,15 @@ msgstr "" msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" -msgstr "cách phụ thuộc %s cho %s không thể được thỏa vì không tìm thấy gọi %s" +msgstr "" +"cách phụ thuộc %s cho %s không thể được thỏa mãn vì không tìm thấy gói %s" #: cmdline/apt-get.cc:3081 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -"Việc cố thỏa cách phụ thuộc %s cho %s bị lỗi vì gói đã cài đặt %s là quá mới" +"Việc cố thỏa mãn quan hệ phụ thuộc %s cho %s bị lỗi vì gói đã cài đặt %s là " +"quá mới" #: cmdline/apt-get.cc:3120 #, c-format @@ -1111,22 +1111,23 @@ msgstr "" "remove: gỡ bỏ\n" "source: nguồn\n" "\n" -"apt-get là một giao diện dòng lệnh đơn giản để tải về và cài đặt gói phần " -"mềm.\n" +"apt-get là một giao diện dòng lệnh đơn giản dùng để tải về và cài đặt gói " +"phần mềm.\n" "Những lệnh được dùng thường nhất là update (cập nhật) và install (cài đặt).\n" "\n" "Lệnh:\n" " update - Lấy danh sách gói mới (cập nhật cơ sở dữ liệu)\n" -" upgrade - Nâng cấp\n" +" upgrade - Nâng cấp lên phiên bản mới hơn\n" " install - Cài đặt gói mới (gói có dạng libc6 không phải libc6.deb)\n" " remove - Gỡ bỏ gói phần mềm\n" " autoremove - Tự động gỡ bỏ tất cả các gói không dùng\n" " purge - Gỡ bỏ và tẩy xóa gói\n" " source - Tải về kho nguồn\n" " build-dep - Định cấu hình quan hệ phụ thuộc khi xây dụng, cho gói nguồn\n" -" dist-upgrade - Nâng cấp bản phân phối hãy xem apt-get(8)\n" +" dist-upgrade - Nâng cấp hệ điều hành lên phiên bản mới hơn, hãy xem apt-" +"get(8)\n" " dselect-upgrade - Cho phép chọn dselect\n" -" clean - Xóa các tập tin kho đã tải về (dọn dẹp thư mục lưu)\n" +" clean - Xóa các tập tin kho đã tải về (dọn dẹp thư mục lưu trữ)\n" " autoclean - Xóa các tập tin kho cũ đã tải về (tự động làm sạch)\n" " check - Kiểm tra xem có quan hệ phụ thuộc bị sai không\n" " changelog - Tải về và hiển thị các thay đổi cho gói đã cho\n" @@ -1299,7 +1300,7 @@ msgid "" "cannot be used to add new CD-ROMs" msgstr "" "Hãy sử dụng lệnh “apt-cdrom” để làm cho APT chấp nhận đĩa CD này. Không thể " -"sử dụng lệnh “apt-get update” (lấy cập nhật) để thêm đĩa CD mới." +"sử dụng lệnh “apt-get update” (cập nhật cơ sở dữ liệu) để thêm đĩa CD mới." #: methods/cdrom.cc:222 msgid "Wrong CD-ROM" @@ -1564,8 +1565,8 @@ msgid "" "Clearsigned file isn't valid, got '%s' (does the network require " "authentication?)" msgstr "" -"Tập tin Clearsigned không hợp lệ, nhận được '%s' (mạng yêu cầu xác nhận " -"phải không?)" +"Tập tin Clearsigned không hợp lệ, nhận được '%s' (mạng yêu cầu xác nhận phải " +"không?)" #: methods/gpgv.cc:183 msgid "Unknown error executing gpgv" @@ -1588,7 +1589,7 @@ msgstr "Các tập tin trống rỗng không phải là kho lưu hợp lệ" #: methods/http.cc:394 msgid "Waiting for headers" -msgstr "Đang đợi những phần đầu..." +msgstr "Đang đợi phần đầu dữ liệu..." #: methods/http.cc:544 msgid "Bad header line" @@ -1601,7 +1602,7 @@ msgstr "Máy phục vụ HTTP đã gửi một dòng đầu trả lời không h #: methods/http.cc:606 msgid "The HTTP server sent an invalid Content-Length header" msgstr "" -"Máy phục vụ HTTP đã gửi một dòng đầu Content-Length (độ dài nội dụng) không " +"Máy phục vụ HTTP đã gửi một dòng đầu Content-Length (độ dài nội dung) không " "hợp lệ" #: methods/http.cc:621 @@ -1612,7 +1613,7 @@ msgstr "" #: methods/http.cc:623 msgid "This HTTP server has broken range support" -msgstr "Máy phục vụ HTTP đã ngắt cách hỗ trợ phạm vi" +msgstr "Máy phục vụ HTTP không hỗ trợ tải một phần tập tin" #: methods/http.cc:647 msgid "Unknown date format" @@ -1628,7 +1629,7 @@ msgstr "Kết nối đã quá giờ" #: methods/http.cc:854 msgid "Error writing to output file" -msgstr "Gặp lỗi khi ghi vào tập tin xuất" +msgstr "Gặp lỗi khi ghi vào tập tin đầu ra" #: methods/http.cc:885 msgid "Error writing to file" @@ -1782,8 +1783,8 @@ msgid "" msgstr "" "Cách dùng: apt-extracttemplates tập_tin1 [tập_tin2 ...]\n" "\n" -"[extract: rút;\n" -"templates: những biểu mẫu]\n" +"[extract: rút trích;\n" +"templates: mẫu]\n" "\n" "apt-extracttemplates là một công cụ rút thông tin kiểu cấu hình\n" "\tvà biểu mẫu đều từ gói Debian\n" @@ -2156,7 +2157,7 @@ msgstr "" #: cmdline/apt-sortpkgs.cc:89 msgid "Unknown package record!" -msgstr "Không rõ bản ghi gói!" +msgstr "Không hiểu bản ghi gói!" #: cmdline/apt-sortpkgs.cc:153 msgid "" @@ -2211,16 +2212,16 @@ msgstr "Chữ ký kho không hợp lệ" #: apt-inst/contrib/arfile.cc:82 msgid "Error reading archive member header" -msgstr "Gặp lỗi khi đọc phần đầu bộ phận kho" +msgstr "Gặp lỗi khi đọc phần đầu thành viên kho" #: apt-inst/contrib/arfile.cc:94 #, c-format msgid "Invalid archive member header %s" -msgstr "Phần đầu bộ phận kho lưu không hợp lệ %s" +msgstr "Phần đầu thành viên kho lưu không hợp lệ %s" #: apt-inst/contrib/arfile.cc:106 msgid "Invalid archive member header" -msgstr "Phần đầu bộ phận kho không hợp lê" +msgstr "Phần đầu thành viên kho không hợp lê" #: apt-inst/contrib/arfile.cc:135 msgid "Archive is too short" @@ -2927,7 +2928,7 @@ msgstr "" #: apt-pkg/algorithms.cc:1240 msgid "Unable to correct problems, you have held broken packages." -msgstr "Không thể sửa vấn đề, bạn đã giữ lại một số gói bị ngắt." +msgstr "Không thể sửa trục trặc này, bạn đã giữ lại một số gói bị hỏng." #: apt-pkg/algorithms.cc:1592 apt-pkg/algorithms.cc:1594 msgid "" @@ -2967,12 +2968,12 @@ msgstr "Đang tải tập tin %li trong tổng số %li" #: apt-pkg/acquire-worker.cc:112 #, c-format msgid "The method driver %s could not be found." -msgstr "Không tìm thấy trình điều khiển phương pháp %s." +msgstr "Không tìm thấy trình điều khiển phương thức %s." #: apt-pkg/acquire-worker.cc:161 #, c-format msgid "Method %s did not start correctly" -msgstr "Phương pháp %s đã không bắt đầu cho đúng." +msgstr "Phương thức %s đã không khởi chạy đúng đắn." #: apt-pkg/acquire-worker.cc:447 #, c-format @@ -3000,12 +3001,13 @@ msgstr "" #: apt-pkg/cachefile.cc:87 msgid "The package lists or status file could not be parsed or opened." -msgstr "Không thể phân tích hay mở danh sách gói hay tâp tin trạng thái." +msgstr "Không thể phân tích hay mở danh sách gói hay tập tin trạng thái." #: apt-pkg/cachefile.cc:91 msgid "You may want to run apt-get update to correct these problems" msgstr "" -"Bạn nên chạy lệnh “apt-get update” (lấy cập nhật) để sửa các vấn đề này" +"Bạn nên lấy cơ sở dữ liệu mới bằng lệnh “apt-get update” để sửa các vấn đề " +"này" #: apt-pkg/cachefile.cc:109 msgid "The list of sources could not be read." @@ -3052,7 +3054,7 @@ msgstr "Bộ nhớ tạm có hệ thống điều khiển phiên bản không t #: apt-pkg/pkgcachegen.cc:563 #, c-format msgid "Error occurred while processing %s (%s%d)" -msgstr "Gặp lỗi khi xử lý %s (%s%d)" +msgstr "Có lỗi phát sinh khi xử lý %s (%s%d)" #: apt-pkg/pkgcachegen.cc:251 msgid "Wow, you exceeded the number of package names this APT is capable of." diff --git a/test/integration/framework b/test/integration/framework index 54d35fef8..4003d932c 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -194,6 +194,7 @@ setupenvironment() { echo 'quiet::NoUpdate "true";' >> aptconfig.conf export LC_ALL=C export PATH="${PATH}:/usr/local/sbin:/usr/sbin:/sbin" + configcompression '.' 'gz' #'bz2' 'lzma' 'xz' msgdone "info" } @@ -240,7 +241,13 @@ configdpkg() { if echo "$ARCHS" | grep -E -q '[^ ]+ [^ ]+'; then DPKGARCH="$(dpkg --print-architecture)" for ARCH in ${ARCHS}; do - if [ "${ARCH}" != "${DPKGARCH}" ]; then dpkg --add-architecture ${ARCH}; fi + if [ "${ARCH}" != "${DPKGARCH}" ]; then + if ! dpkg --add-architecture ${ARCH}; then + # old-style used e.g. in Ubuntu-P – and as it seems travis + echo "DPKG::options:: \"--foreign-architecture\";" >> aptconfig.conf + echo "DPKG::options:: \"${ARCH}\";" >> aptconfig.conf + fi + fi done if [ "0" = "$(dpkg -l dpkg 2> /dev/null | grep '^i' | wc -l)" ]; then # dpkg doesn't really check the version as long as it is fully installed, @@ -251,6 +258,20 @@ configdpkg() { fi } +configcompression() { + while [ -n "$1" ]; do + case "$1" in + '.') echo ".\t.\tcat";; + 'gz') echo "gzip\tgz\tgzip";; + 'bz2') echo "bzip2\tbz2\tbzip2";; + 'lzma') echo "lzma\tlzma\txz --format=lzma";; + 'xz') echo "xz\txz\txz";; + *) echo "$1\t$1\t$1";; + esac + shift + done > ${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf +} + setupsimplenativepackage() { local NAME="$1" local ARCH="$2" @@ -421,6 +442,8 @@ buildaptarchive() { } createaptftparchiveconfig() { + local COMPRESSORS="$(cut -d' ' -f 1 ${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf | tr '\n' ' ')" + COMPRESSORS="${COMPRESSORS%* }" local ARCHS="$(find pool/ -name '*.deb' | grep -oE '_[a-z0-9-]+\.deb$' | sort | uniq | sed -e '/^_all.deb$/ d' -e 's#^_\([a-z0-9-]*\)\.deb$#\1#' | tr '\n' ' ')" if [ -z "$ARCHS" ]; then # the pool is empty, so we will operate on faked packages - let us use the configured archs @@ -438,10 +461,10 @@ createaptftparchiveconfig() { echo -n '"; }; Default { - Packages::Compress ". gzip bzip2 lzma xz"; - Sources::Compress ". gzip bzip2 lzma xz"; - Contents::Compress ". gzip bzip2 lzma xz"; - Translation::Compress ". gzip bzip2 lzma xz"; + Packages::Compress "'"$COMPRESSORS"'"; + Sources::Compress "'"$COMPRESSORS"'"; + Contents::Compress "'"$COMPRESSORS"'"; + Translation::Compress "'"$COMPRESSORS"'"; LongDescription "false"; }; TreeDefault { @@ -611,18 +634,27 @@ buildaptarchivefromfiles() { msginfo "Build APT archive for ${CCMD}$(basename $0)${CINFO} based on prebuild files…" find aptarchive -name 'Packages' -o -name 'Sources' | while read line; do msgninfo "\t${line} file… " - cat ${line} | gzip > ${line}.gz - cat ${line} | bzip2 > ${line}.bz2 - cat ${line} | xz --format=lzma > ${line}.lzma - cat ${line} | xz > ${line}.xz - if [ -n "$1" ]; then - touch -d "$1" ${line}.gz ${line}.bz2 ${line}.lzma ${line}.xz - fi + compressfile "$line" "$1" msgdone "info" done generatereleasefiles "$@" } +compressfile() { + cat ${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf | while read compressor extension command; do + if [ "$compressor" = '.' ]; then + if [ -n "$2" ]; then + touch -d "$2" "$1" + fi + continue + fi + cat "$1" | $command > "${1}.${extension}" + if [ -n "$2" ]; then + touch -d "$2" "${1}.${extension}" + fi + done +} + # can be overridden by testcases for their pleasure getcodenamefromsuite() { echo -n "$1"; } getreleaseversionfromsuite() { true; } diff --git a/test/integration/test-apt-cdrom b/test/integration/test-apt-cdrom index 85c3a2fee..cc3483f9b 100755 --- a/test/integration/test-apt-cdrom +++ b/test/integration/test-apt-cdrom @@ -18,10 +18,7 @@ echo 'Description-de: automatisch generiertes Testpaket testing=0.8.15/stable Diese Pakete sind nur für das testen von APT gedacht, sie erfüllen keinen Zweck auf einem normalen System… ' >> Translation-de -cat Translation-de | gzip > Translation-de.gz -cat Translation-de | bzip2 > Translation-de.bz2 -cat Translation-de | xz --format=lzma > Translation-de.lzma -cat Translation-de | xz > Translation-de.xz +compressfile Translation-de rm Translation-en Translation-de cd - > /dev/null addtrap 'prefix' "chmod -R +w $PWD/rootdir/media/cdrom/dists/;" diff --git a/test/integration/test-hashsum-verification b/test/integration/test-hashsum-verification index 99ea8bffa..e77efb46e 100755 --- a/test/integration/test-hashsum-verification +++ b/test/integration/test-hashsum-verification @@ -21,9 +21,7 @@ prepare() { done cp $1 aptarchive/Packages find aptarchive -name 'Release' -delete - cat aptarchive/Packages | gzip > aptarchive/Packages.gz - cat aptarchive/Packages | bzip2 > aptarchive/Packages.bz2 - cat aptarchive/Packages | xz --format=lzma > aptarchive/Packages.lzma + compressfile aptarchive/Packages # create Release file with incorret checksums cat > aptarchive/Release <<EOF Date: Fri, 05 Aug 2011 09:22:08 UTC diff --git a/test/integration/test-pdiff-usage b/test/integration/test-pdiff-usage index 994489ee5..ac0563b7f 100755 --- a/test/integration/test-pdiff-usage +++ b/test/integration/test-pdiff-usage @@ -19,9 +19,7 @@ testequal "$(cat ${PKGFILE}) " aptcache show apt oldstuff cp ${PKGFILE}-new aptarchive/Packages -cat aptarchive/Packages | gzip > aptarchive/Packages.gz -cat aptarchive/Packages | bzip2 > aptarchive/Packages.bz2 -cat aptarchive/Packages | xz --format=lzma > aptarchive/Packages.lzma +compressfile 'aptarchive/Packages' rm -rf aptarchive/Packages.diff mkdir -p aptarchive/Packages.diff PATCHFILE="aptarchive/Packages.diff/$(date +%Y-%m-%d-%H%M.%S)" diff --git a/test/integration/test-releasefile-verification b/test/integration/test-releasefile-verification index daba3919b..a9f4b9775 100755 --- a/test/integration/test-releasefile-verification +++ b/test/integration/test-releasefile-verification @@ -22,9 +22,7 @@ prepare() { aptget clean cp $1 aptarchive/Packages find aptarchive -name 'Release' -delete - cat aptarchive/Packages | gzip > aptarchive/Packages.gz - cat aptarchive/Packages | bzip2 > aptarchive/Packages.bz2 - cat aptarchive/Packages | xz --format=lzma > aptarchive/Packages.lzma + compressfile 'aptarchive/Packages' generatereleasefiles "$DATE" } |