summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile5
-rw-r--r--apt-inst/contrib/arfile.cc5
-rw-r--r--apt-inst/contrib/arfile.h2
-rw-r--r--apt-inst/contrib/extracttar.cc4
-rw-r--r--apt-inst/database.cc2
-rw-r--r--apt-inst/deb/debfile.cc2
-rw-r--r--apt-inst/deb/dpkgdb.cc2
-rw-r--r--apt-inst/dirstream.cc2
-rw-r--r--apt-inst/extract.cc2
-rw-r--r--apt-inst/filelist.cc2
-rw-r--r--apt-inst/makefile2
-rw-r--r--apt-pkg/acquire-item.cc133
-rw-r--r--apt-pkg/acquire-item.h57
-rw-r--r--apt-pkg/acquire-method.cc19
-rw-r--r--apt-pkg/acquire-method.h5
-rw-r--r--apt-pkg/acquire-worker.cc18
-rw-r--r--apt-pkg/acquire-worker.h11
-rw-r--r--apt-pkg/acquire.cc51
-rw-r--r--apt-pkg/acquire.h54
-rw-r--r--apt-pkg/algorithms.cc161
-rw-r--r--apt-pkg/algorithms.h9
-rw-r--r--apt-pkg/aptconfiguration.cc8
-rw-r--r--apt-pkg/aptconfiguration.h5
-rw-r--r--apt-pkg/cachefile.cc18
-rw-r--r--apt-pkg/cachefile.h4
-rw-r--r--apt-pkg/cachefilter.cc2
-rw-r--r--apt-pkg/cachefilter.h2
-rw-r--r--apt-pkg/cacheiterators.h8
-rw-r--r--apt-pkg/cacheset.cc6
-rw-r--r--apt-pkg/cacheset.h2
-rw-r--r--apt-pkg/cdrom.cc41
-rw-r--r--apt-pkg/cdrom.h8
-rw-r--r--apt-pkg/clean.cc10
-rw-r--r--apt-pkg/clean.h3
-rw-r--r--apt-pkg/contrib/cdromutl.cc10
-rw-r--r--apt-pkg/contrib/cmndline.cc4
-rw-r--r--apt-pkg/contrib/configuration.cc24
-rw-r--r--apt-pkg/contrib/configuration.h1
-rw-r--r--apt-pkg/contrib/crc-16.cc4
-rw-r--r--apt-pkg/contrib/crc-16.h2
-rw-r--r--apt-pkg/contrib/error.cc11
-rw-r--r--apt-pkg/contrib/fileutl.cc51
-rw-r--r--apt-pkg/contrib/fileutl.h36
-rw-r--r--apt-pkg/contrib/hashes.cc53
-rw-r--r--apt-pkg/contrib/hashes.h12
-rw-r--r--apt-pkg/contrib/hashsum.cc28
-rw-r--r--apt-pkg/contrib/hashsum_template.h107
-rw-r--r--apt-pkg/contrib/md5.cc85
-rw-r--r--apt-pkg/contrib/md5.h37
-rw-r--r--apt-pkg/contrib/mmap.cc25
-rw-r--r--apt-pkg/contrib/mmap.h8
-rw-r--r--apt-pkg/contrib/netrc.cc8
-rw-r--r--apt-pkg/contrib/progress.cc39
-rw-r--r--apt-pkg/contrib/progress.h17
-rw-r--r--apt-pkg/contrib/sha1.cc98
-rw-r--r--apt-pkg/contrib/sha1.h32
-rw-r--r--apt-pkg/contrib/sha2.h103
-rw-r--r--apt-pkg/contrib/sha256.cc424
-rw-r--r--apt-pkg/contrib/sha256.h68
-rw-r--r--apt-pkg/contrib/sha2_internal.cc1066
-rw-r--r--apt-pkg/contrib/sha2_internal.h188
-rw-r--r--apt-pkg/contrib/strutl.cc119
-rw-r--r--apt-pkg/contrib/strutl.h5
-rw-r--r--apt-pkg/deb/debindexfile.cc8
-rw-r--r--apt-pkg/deb/debindexfile.h20
-rw-r--r--apt-pkg/deb/deblistparser.cc48
-rw-r--r--apt-pkg/deb/deblistparser.h10
-rw-r--r--apt-pkg/deb/debmetaindex.cc52
-rw-r--r--apt-pkg/deb/debmetaindex.h7
-rw-r--r--apt-pkg/deb/debrecords.cc23
-rw-r--r--apt-pkg/deb/debrecords.h8
-rw-r--r--apt-pkg/deb/debsrcrecords.cc2
-rw-r--r--apt-pkg/deb/debsrcrecords.h5
-rw-r--r--apt-pkg/deb/debsystem.cc67
-rw-r--r--apt-pkg/deb/debsystem.h13
-rw-r--r--apt-pkg/deb/debversion.cc1
-rw-r--r--apt-pkg/deb/dpkgpm.cc131
-rw-r--r--apt-pkg/deb/dpkgpm.h11
-rw-r--r--apt-pkg/depcache.cc162
-rw-r--r--apt-pkg/depcache.h40
-rw-r--r--apt-pkg/edsp.cc566
-rw-r--r--apt-pkg/edsp.h222
-rw-r--r--apt-pkg/edsp/edspindexfile.cc80
-rw-r--r--apt-pkg/edsp/edspindexfile.h28
-rw-r--r--apt-pkg/edsp/edsplistparser.cc92
-rw-r--r--apt-pkg/edsp/edsplistparser.h38
-rw-r--r--apt-pkg/edsp/edspsystem.cc127
-rw-r--r--apt-pkg/edsp/edspsystem.h41
-rw-r--r--apt-pkg/indexcopy.cc71
-rw-r--r--apt-pkg/indexcopy.h14
-rw-r--r--apt-pkg/indexfile.cc5
-rw-r--r--apt-pkg/indexrecords.cc31
-rw-r--r--apt-pkg/indexrecords.h4
-rw-r--r--apt-pkg/init.cc83
-rw-r--r--apt-pkg/init.h4
-rw-r--r--apt-pkg/makefile18
-rw-r--r--apt-pkg/metaindex.h4
-rw-r--r--apt-pkg/orderlist.cc98
-rw-r--r--apt-pkg/orderlist.h4
-rw-r--r--apt-pkg/packagemanager.cc81
-rw-r--r--apt-pkg/pkgcache.cc43
-rw-r--r--apt-pkg/pkgcache.h22
-rw-r--r--apt-pkg/pkgcachegen.cc85
-rw-r--r--apt-pkg/pkgcachegen.h2
-rw-r--r--apt-pkg/pkgrecords.cc8
-rw-r--r--apt-pkg/pkgrecords.h12
-rw-r--r--apt-pkg/pkgsystem.cc2
-rw-r--r--apt-pkg/policy.cc42
-rw-r--r--apt-pkg/policy.h7
-rw-r--r--apt-pkg/sourcelist.cc40
-rw-r--r--apt-pkg/sourcelist.h3
-rw-r--r--apt-pkg/srcrecords.cc16
-rw-r--r--apt-pkg/srcrecords.h4
-rw-r--r--apt-pkg/tagfile.cc134
-rw-r--r--apt-pkg/tagfile.h27
-rw-r--r--apt-pkg/vendor.cc2
-rw-r--r--apt-pkg/vendorlist.cc8
-rw-r--r--apt-pkg/version.cc2
-rw-r--r--apt-pkg/versionmatch.cc10
-rw-r--r--buildlib/config.h.in3
-rw-r--r--buildlib/defaults.mak4
-rw-r--r--cmdline/acqprogress.cc22
-rw-r--r--cmdline/apt-cache.cc114
-rw-r--r--cmdline/apt-cdrom.cc8
-rw-r--r--cmdline/apt-config.cc7
-rw-r--r--cmdline/apt-dump-solver.cc50
-rw-r--r--cmdline/apt-extracttemplates.cc5
-rw-r--r--cmdline/apt-get.cc419
-rw-r--r--cmdline/apt-internal-solver.cc190
-rwxr-xr-xcmdline/apt-key7
-rw-r--r--cmdline/apt-mark.cc7
-rw-r--r--cmdline/apt-sortpkgs.cc9
-rw-r--r--cmdline/makefile14
-rw-r--r--configure.in8
-rw-r--r--debian/apt-doc.docs1
-rw-r--r--debian/apt-utils.dirs2
-rw-r--r--debian/apt-utils.install2
-rw-r--r--debian/apt-utils.links1
-rw-r--r--debian/apt.dirs1
-rw-r--r--debian/apt.install3
-rw-r--r--debian/apt.postinst5
-rw-r--r--debian/changelog462
-rw-r--r--debian/control85
-rw-r--r--debian/libapt-inst1.4.install2
-rw-r--r--debian/libapt-inst1.4.symbols (renamed from debian/apt-utils.symbols)5
-rw-r--r--debian/libapt-pkg4.12.install2
-rw-r--r--debian/libapt-pkg4.12.symbols (renamed from debian/apt.symbols)387
-rwxr-xr-xdebian/rules79
-rw-r--r--doc/apt-cache.8.xml2
-rw-r--r--doc/apt-get.8.xml32
-rw-r--r--doc/apt.conf.5.xml35
-rw-r--r--doc/examples/configure-index2
-rw-r--r--doc/external-dependency-solver-protocol.txt299
-rw-r--r--doc/po/apt-doc.pot147
-rw-r--r--doc/po/de.po218
-rw-r--r--doc/po/es.po187
-rw-r--r--doc/po/fr.po217
-rw-r--r--doc/po/it.po152
-rw-r--r--doc/po/ja.po182
-rw-r--r--doc/po/pl.po192
-rw-r--r--doc/po/pt.po188
-rw-r--r--doc/po/pt_BR.po155
-rw-r--r--doc/sources.list.5.xml23
-rw-r--r--ftparchive/apt-ftparchive.cc37
-rw-r--r--ftparchive/cachedb.cc46
-rw-r--r--ftparchive/cachedb.h26
-rw-r--r--ftparchive/contents.cc8
-rw-r--r--ftparchive/contents.h6
-rw-r--r--ftparchive/multicompress.cc26
-rw-r--r--ftparchive/multicompress.h2
-rw-r--r--ftparchive/override.cc28
-rw-r--r--ftparchive/writer.cc89
-rw-r--r--ftparchive/writer.h8
-rw-r--r--methods/bzip2.cc2
-rw-r--r--methods/cdrom.cc5
-rw-r--r--methods/connect.cc4
-rw-r--r--methods/copy.cc2
-rw-r--r--methods/file.cc2
-rw-r--r--methods/ftp.cc21
-rw-r--r--methods/ftp.h4
-rw-r--r--methods/gpgv.cc25
-rw-r--r--methods/gzip.cc4
-rw-r--r--methods/http.cc44
-rw-r--r--methods/http.h40
-rw-r--r--methods/http_main.cc2
-rw-r--r--methods/https.cc7
-rw-r--r--methods/mirror.cc28
-rw-r--r--methods/rfc2553emu.cc4
-rw-r--r--methods/rred.cc11
-rw-r--r--methods/rsh.cc21
-rw-r--r--methods/rsh.h8
-rw-r--r--po/apt-all.pot277
-rw-r--r--po/ar.po274
-rw-r--r--po/ast.po289
-rw-r--r--po/bg.po290
-rw-r--r--po/bs.po274
-rw-r--r--po/ca.po290
-rw-r--r--po/cs.po285
-rw-r--r--po/cy.po284
-rw-r--r--po/da.po287
-rw-r--r--po/de.po289
-rw-r--r--po/dz.po282
-rw-r--r--po/el.po282
-rw-r--r--po/es.po289
-rw-r--r--po/eu.po282
-rw-r--r--po/fi.po282
-rw-r--r--po/fr.po289
-rw-r--r--po/gl.po290
-rw-r--r--po/hu.po284
-rw-r--r--po/it.po289
-rw-r--r--po/ja.po289
-rw-r--r--po/km.po278
-rw-r--r--po/ko.po289
-rw-r--r--po/ku.po274
-rw-r--r--po/lt.po282
-rw-r--r--po/mr.po278
-rw-r--r--po/nb.po287
-rw-r--r--po/ne.po278
-rw-r--r--po/nl.po284
-rw-r--r--po/nn.po280
-rw-r--r--po/pl.po284
-rw-r--r--po/pt.po289
-rw-r--r--po/pt_BR.po284
-rw-r--r--po/ro.po284
-rw-r--r--po/ru.po290
-rw-r--r--po/sk.po285
-rw-r--r--po/sl.po285
-rw-r--r--po/sv.po289
-rw-r--r--po/th.po278
-rw-r--r--po/tl.po284
-rw-r--r--po/uk.po282
-rw-r--r--po/vi.po285
-rw-r--r--po/zh_CN.po283
-rw-r--r--po/zh_TW.po286
-rw-r--r--test/Makefile16
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages25
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release13
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg7
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages25
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release13
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg7
-rw-r--r--test/authReliability/sources.list.failure2
-rw-r--r--test/authReliability/sources.list.good2
-rw-r--r--test/conf.cc37
-rw-r--r--test/conf_clear.cc23
-rw-r--r--test/fake-status16
-rw-r--r--test/hash.cc70
-rw-r--r--test/integration/Packages-hashsum-verification18
-rw-r--r--test/integration/framework99
-rw-r--r--test/integration/makefile10
-rwxr-xr-xtest/integration/run-tests21
-rwxr-xr-xtest/integration/test-bug-254770-segfault-if-cache-not-buildable1
-rwxr-xr-xtest/integration/test-bug-407511-fail-invalid-default-release47
-rwxr-xr-xtest/integration/test-bug-590438-broken-provides-thanks-to-remove-order2
-rwxr-xr-xtest/integration/test-bug-595691-empty-and-broken-archive-files2
-rwxr-xr-xtest/integration/test-bug-596498-trusted-unsigned-repo47
-rwxr-xr-xtest/integration/test-bug-601016-description-translation2
-rwxr-xr-xtest/integration/test-bug-618288-multiarch-same-lockstep15
-rwxr-xr-xtest/integration/test-bug-632221-cross-dependency-satisfaction183
-rwxr-xr-xtest/integration/test-bug-633350-do-not-kill-last-char-in-Release27
-rwxr-xr-xtest/integration/test-compressed-indexes17
-rwxr-xr-xtest/integration/test-disappearing-packages8
-rwxr-xr-xtest/integration/test-handling-broken-orgroups4
-rwxr-xr-xtest/integration/test-hashsum-verification81
-rwxr-xr-xtest/integration/test-policy-pinning7
-rwxr-xr-xtest/integration/test-release-candidate-switching2
-rwxr-xr-xtest/integration/test-releasefile-valid-until95
-rwxr-xr-xtest/integration/test-releasefile-verification3
-rwxr-xr-xtest/integration/test-resolve-by-keep-new-recommends20
-rwxr-xr-xtest/integration/test-ubuntu-bug-784473-InRelease-one-message-only31
-rwxr-xr-xtest/integration/test-ubuntu-bug-802901-multiarch-early-remove24
-rwxr-xr-xtest/integration/test-ubuntu-bug-806274-install-suggests81
-rwxr-xr-xtest/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first31
-rw-r--r--test/interactive-helper/extract-control.cc (renamed from test/extract-control.cc)0
-rw-r--r--test/interactive-helper/makefile (renamed from test/makefile)37
-rw-r--r--test/interactive-helper/mthdcat.cc (renamed from test/mthdcat.cc)0
-rw-r--r--test/interactive-helper/networkless-install-fixes/README (renamed from test/networkless-install-fixes/README)0
-rw-r--r--test/interactive-helper/networkless-install-fixes/sources.test.list (renamed from test/networkless-install-fixes/sources.test.list)0
-rwxr-xr-xtest/interactive-helper/networkless-install-fixes/test.sh (renamed from test/networkless-install-fixes/test.sh)0
-rw-r--r--test/interactive-helper/rpmver.cc (renamed from test/rpmver.cc)0
-rw-r--r--test/interactive-helper/test_udevcdrom.cc (renamed from test/test_udevcdrom.cc)5
-rw-r--r--test/interactive-helper/testdeb.cc (renamed from test/testdeb.cc)0
-rw-r--r--test/interactive-helper/testextract.cc (renamed from test/testextract.cc)0
-rw-r--r--test/libapt/assert.h50
-rw-r--r--test/libapt/compareversion_test.cc7
-rw-r--r--test/libapt/configuration_test.cc78
-rw-r--r--test/libapt/getarchitectures_test.cc13
-rw-r--r--test/libapt/getlanguages_test.cc11
-rw-r--r--test/libapt/getlistoffilesindir_test.cc7
-rw-r--r--test/libapt/globalerror_test.cc2
-rw-r--r--test/libapt/hashsums_test.cc156
-rw-r--r--test/libapt/makefile28
-rwxr-xr-xtest/libapt/run-tests33
-rw-r--r--test/libapt/strutil_test.cc46
-rw-r--r--test/libapt/uri_test.cc112
-rw-r--r--test/libapt/versions.lst (renamed from test/versions.lst)0
-rw-r--r--test/local-repo/Packages11
-rw-r--r--test/local-repo/Packages.gzbin269 -> 0 bytes
-rw-r--r--test/local-repo/Packages.gz.savebin603 -> 0 bytes
-rw-r--r--test/local-repo/Release13
-rw-r--r--test/local-repo/Release.gpg7
-rw-r--r--test/local-repo/gdebi-test4.debbin2306 -> 0 bytes
-rwxr-xr-xtest/pre-upload-check.py266
-rw-r--r--test/scratch.cc105
-rwxr-xr-xtest/test-indexes.sh235
-rw-r--r--test/testkeys/mvo.key1182
-rw-r--r--test/testsources.list/sources.list.all-gpg-broken2
-rw-r--r--test/testsources.list/sources.list.all-gpg-ok2
-rw-r--r--test/testsources.list/sources.list.all-release-broken1
-rw-r--r--test/testsources.list/sources.list.all-release-ok1
-rw-r--r--test/testsources.list/sources.list.all-validuntil-broken1
-rw-r--r--test/testsources.list/sources.list.md5-package-broken2
-rw-r--r--test/testsources.list/sources.list.md5-package-ok2
-rw-r--r--test/testsources.list/sources.list.md5-release-broken1
-rw-r--r--test/testsources.list/sources.list.md5-release-ok1
-rw-r--r--test/testsources.list/sources.list.sha1-release-broken1
-rw-r--r--test/testsources.list/sources.list.sha1-release-ok1
-rw-r--r--test/testsources.list/sources.list.sha256-package-broken2
-rw-r--r--test/testsources.list/sources.list.sha256-package-ok2
-rw-r--r--test/testsources.list/sources.list.sha256-release-broken1
-rw-r--r--test/testsources.list/sources.list.sha256-release-ok1
-rw-r--r--test/uri.cc34
322 files changed, 15512 insertions, 10759 deletions
diff --git a/Makefile b/Makefile
index 664caca41..9a47014c3 100644
--- a/Makefile
+++ b/Makefile
@@ -9,8 +9,8 @@ endif
.PHONY: default
default: startup all
-.PHONY: headers library clean veryclean all binary program doc
-all headers library clean veryclean binary program doc dirs:
+.PHONY: headers library clean veryclean all binary program doc test
+all headers library clean veryclean binary program doc dirs test:
$(MAKE) -C apt-pkg $@
$(MAKE) -C apt-inst $@
$(MAKE) -C methods $@
@@ -19,6 +19,7 @@ all headers library clean veryclean binary program doc dirs:
$(MAKE) -C dselect $@
$(MAKE) -C doc $@
$(MAKE) -C po $@
+ $(MAKE) -C test $@
# Some very common aliases
.PHONY: maintainer-clean dist-clean distclean pristine sanity
diff --git a/apt-inst/contrib/arfile.cc b/apt-inst/contrib/arfile.cc
index 8018f4d30..533c563f9 100644
--- a/apt-inst/contrib/arfile.cc
+++ b/apt-inst/contrib/arfile.cc
@@ -14,13 +14,16 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/arfile.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
#include <stdlib.h>
- /*}}}*/
+
#include <apti18n.h>
+ /*}}}*/
struct ARArchive::MemberHeader
{
diff --git a/apt-inst/contrib/arfile.h b/apt-inst/contrib/arfile.h
index 7f6c68302..e2063cd71 100644
--- a/apt-inst/contrib/arfile.h
+++ b/apt-inst/contrib/arfile.h
@@ -54,7 +54,7 @@ struct ARArchive::Member
unsigned long UID;
unsigned long GID;
unsigned long Mode;
- unsigned long Size;
+ unsigned long long Size;
// Location of the data.
unsigned long Start;
diff --git a/apt-inst/contrib/extracttar.cc b/apt-inst/contrib/extracttar.cc
index 01b6b3836..487027c3d 100644
--- a/apt-inst/contrib/extracttar.cc
+++ b/apt-inst/contrib/extracttar.cc
@@ -16,8 +16,9 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include <apt-pkg/extracttar.h>
+#include<config.h>
+#include <apt-pkg/extracttar.h>
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/configuration.h>
@@ -28,6 +29,7 @@
#include <signal.h>
#include <fcntl.h>
#include <iostream>
+
#include <apti18n.h>
/*}}}*/
diff --git a/apt-inst/database.cc b/apt-inst/database.cc
index a5020f3d7..0647959a9 100644
--- a/apt-inst/database.cc
+++ b/apt-inst/database.cc
@@ -8,6 +8,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/database.h>
/*}}}*/
diff --git a/apt-inst/deb/debfile.cc b/apt-inst/deb/debfile.cc
index a40cd1ae8..e80d8c735 100644
--- a/apt-inst/deb/debfile.cc
+++ b/apt-inst/deb/debfile.cc
@@ -16,6 +16,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/debfile.h>
#include <apt-pkg/extracttar.h>
#include <apt-pkg/error.h>
diff --git a/apt-inst/deb/dpkgdb.cc b/apt-inst/deb/dpkgdb.cc
index a75cf59ca..3112acdbd 100644
--- a/apt-inst/deb/dpkgdb.cc
+++ b/apt-inst/deb/dpkgdb.cc
@@ -13,6 +13,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/dpkgdb.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
diff --git a/apt-inst/dirstream.cc b/apt-inst/dirstream.cc
index 9b6a56848..bb0bf96c1 100644
--- a/apt-inst/dirstream.cc
+++ b/apt-inst/dirstream.cc
@@ -11,6 +11,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/dirstream.h>
#include <apt-pkg/error.h>
diff --git a/apt-inst/extract.cc b/apt-inst/extract.cc
index cd8edb27a..d48ff63ac 100644
--- a/apt-inst/extract.cc
+++ b/apt-inst/extract.cc
@@ -44,6 +44,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/extract.h>
#include <apt-pkg/error.h>
#include <apt-pkg/debversion.h>
diff --git a/apt-inst/filelist.cc b/apt-inst/filelist.cc
index 060aa53d7..879c07855 100644
--- a/apt-inst/filelist.cc
+++ b/apt-inst/filelist.cc
@@ -32,6 +32,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/filelist.h>
#include <apt-pkg/mmap.h>
#include <apt-pkg/error.h>
diff --git a/apt-inst/makefile b/apt-inst/makefile
index 785dc62ba..1b9cc2676 100644
--- a/apt-inst/makefile
+++ b/apt-inst/makefile
@@ -14,7 +14,7 @@ include ../buildlib/libversion.mak
# The library name
LIBRARY=apt-inst
-MAJOR=1.2
+MAJOR=1.4
MINOR=0
SLIBS=$(PTHREADLIB) -lapt-pkg
APT_DOMAIN:=libapt-inst$(MAJOR)
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index c3817f6ee..b46489f87 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -13,6 +13,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/aptconfiguration.h>
@@ -24,8 +26,6 @@
#include <apt-pkg/sha1.h>
#include <apt-pkg/tagfile.h>
-#include <apti18n.h>
-
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
@@ -33,6 +33,8 @@
#include <sstream>
#include <stdio.h>
#include <ctime>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -94,7 +96,7 @@ void pkgAcquire::Item::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
// ---------------------------------------------------------------------
/* Stash status and the file size. Note that setting Complete means
sub-phases of the acquire process such as decompresion are operating */
-void pkgAcquire::Item::Start(string /*Message*/,unsigned long Size)
+void pkgAcquire::Item::Start(string /*Message*/,unsigned long long Size)
{
Status = StatFetching;
if (FileSize == 0 && Complete == false)
@@ -104,7 +106,7 @@ void pkgAcquire::Item::Start(string /*Message*/,unsigned long Size)
// Acquire::Item::Done - Item downloaded OK /*{{{*/
// ---------------------------------------------------------------------
/* */
-void pkgAcquire::Item::Done(string Message,unsigned long Size,string Hash,
+void pkgAcquire::Item::Done(string Message,unsigned long long Size,string Hash,
pkgAcquire::MethodConfig *Cnf)
{
// We just downloaded something..
@@ -245,7 +247,7 @@ void pkgAcqSubIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{*
}
}
/*}}}*/
-void pkgAcqSubIndex::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/
+void pkgAcqSubIndex::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/
pkgAcquire::MethodConfig *Cnf)
{
if(Debug)
@@ -544,7 +546,7 @@ void pkgAcqDiffIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{
Dequeue();
}
/*}}}*/
-void pkgAcqDiffIndex::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/
+void pkgAcqDiffIndex::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/
pkgAcquire::MethodConfig *Cnf)
{
if(Debug)
@@ -681,17 +683,17 @@ bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/
// remove all patches until the next matching patch is found
// this requires the Index file to be ordered
for(vector<DiffInfo>::iterator I=available_patches.begin();
- available_patches.size() > 0 &&
+ available_patches.empty() == false &&
I != available_patches.end() &&
- (*I).sha1 != local_sha1;
- I++)
+ I->sha1 != local_sha1;
+ ++I)
{
available_patches.erase(I);
}
// error checking and falling back if no patch was found
- if(available_patches.size() == 0)
- {
+ if(available_patches.empty() == true)
+ {
Failed("", NULL);
return false;
}
@@ -710,7 +712,7 @@ bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/
return true;
}
/*}}}*/
-void pkgAcqIndexDiffs::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/
+void pkgAcqIndexDiffs::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/
pkgAcquire::MethodConfig *Cnf)
{
if(Debug)
@@ -756,7 +758,7 @@ void pkgAcqIndexDiffs::Done(string Message,unsigned long Size,string Md5Hash, /*
chmod(FinalFile.c_str(),0644);
// see if there is more to download
- if(available_patches.size() > 0) {
+ if(available_patches.empty() == false) {
new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc,
ExpectedHash, ServerSha1, available_patches);
return Finish();
@@ -808,6 +810,13 @@ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner, IndexTarget const *Target,
if (CompressionExtension.empty() == false)
CompressionExtension.erase(CompressionExtension.end()-1);
+ // only verify non-optional targets, see acquire-item.h for a FIXME
+ // to make this more flexible
+ if (Target->IsOptional())
+ Verify = false;
+ else
+ Verify = true;
+
Init(Target->URI, Target->Description, Target->ShortDesc);
}
/*}}}*/
@@ -881,7 +890,7 @@ void pkgAcqIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{*/
to the uncompressed version of the file. If this is so the file
is copied into the partial directory. In all other cases the file
is decompressed with a gzip uri. */
-void pkgAcqIndex::Done(string Message,unsigned long Size,string Hash,
+void pkgAcqIndex::Done(string Message,unsigned long long Size,string Hash,
pkgAcquire::MethodConfig *Cfg)
{
Item::Done(Message,Size,Hash,Cfg);
@@ -905,6 +914,7 @@ void pkgAcqIndex::Done(string Message,unsigned long Size,string Hash,
/* Verify the index file for correctness (all indexes must
* have a Package field) (LP: #346386) (Closes: #627642) */
+ if (Verify == true)
{
FileFd fd(DestFile, FileFd::ReadOnly);
pkgTagSection sec;
@@ -1123,7 +1133,7 @@ string pkgAcqMetaSig::Custom600Headers()
return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime);
}
-void pkgAcqMetaSig::Done(string Message,unsigned long Size,string MD5,
+void pkgAcqMetaSig::Done(string Message,unsigned long long Size,string MD5,
pkgAcquire::MethodConfig *Cfg)
{
Item::Done(Message,Size,MD5,Cfg);
@@ -1232,7 +1242,7 @@ string pkgAcqMetaIndex::Custom600Headers()
return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime);
}
/*}}}*/
-void pkgAcqMetaIndex::Done(string Message,unsigned long Size,string Hash, /*{{{*/
+void pkgAcqMetaIndex::Done(string Message,unsigned long long Size,string Hash, /*{{{*/
pkgAcquire::MethodConfig *Cfg)
{
Item::Done(Message,Size,Hash,Cfg);
@@ -1258,7 +1268,8 @@ void pkgAcqMetaIndex::Done(string Message,unsigned long Size,string Hash, /*{{{*
if (SigFile == "")
{
// There was no signature file, so we are finished. Download
- // the indexes without verification.
+ // the indexes and do only hashsum verification if possible
+ MetaIndexParser->Load(DestFile);
QueueIndexes(false);
}
else
@@ -1374,35 +1385,33 @@ void pkgAcqMetaIndex::QueueIndexes(bool verify) /*{{{*/
#endif
for (vector <struct IndexTarget*>::const_iterator Target = IndexTargets->begin();
Target != IndexTargets->end();
- Target++)
+ ++Target)
{
HashString ExpectedIndexHash;
- if (verify)
+ const indexRecords::checkSum *Record = MetaIndexParser->Lookup((*Target)->MetaKey);
+ if (Record == NULL)
{
- const indexRecords::checkSum *Record = MetaIndexParser->Lookup((*Target)->MetaKey);
- if (Record == NULL)
+ if (verify == true && (*Target)->IsOptional() == false)
{
- if ((*Target)->IsOptional() == false)
- {
- Status = StatAuthError;
- strprintf(ErrorText, _("Unable to find expected entry '%s' in Release file (Wrong sources.list entry or malformed file)"), (*Target)->MetaKey.c_str());
- return;
- }
+ Status = StatAuthError;
+ strprintf(ErrorText, _("Unable to find expected entry '%s' in Release file (Wrong sources.list entry or malformed file)"), (*Target)->MetaKey.c_str());
+ return;
}
- else
+ }
+ else
+ {
+ ExpectedIndexHash = Record->Hash;
+ if (_config->FindB("Debug::pkgAcquire::Auth", false))
{
- ExpectedIndexHash = Record->Hash;
- if (_config->FindB("Debug::pkgAcquire::Auth", false))
- {
- std::cerr << "Queueing: " << (*Target)->URI << std::endl;
- std::cerr << "Expected Hash: " << ExpectedIndexHash.toStr() << std::endl;
- }
- if (ExpectedIndexHash.empty() == true && (*Target)->IsOptional() == false)
- {
- Status = StatAuthError;
- strprintf(ErrorText, _("Unable to find hash sum for '%s' in Release file"), (*Target)->MetaKey.c_str());
- return;
- }
+ std::cerr << "Queueing: " << (*Target)->URI << std::endl;
+ std::cerr << "Expected Hash: " << ExpectedIndexHash.toStr() << std::endl;
+ std::cerr << "For: " << Record->MetaKeyFilename << std::endl;
+ }
+ if (verify == true && ExpectedIndexHash.empty() == true && (*Target)->IsOptional() == false)
+ {
+ Status = StatAuthError;
+ strprintf(ErrorText, _("Unable to find hash sum for '%s' in Release file"), (*Target)->MetaKey.c_str());
+ return;
}
}
@@ -1473,8 +1482,10 @@ bool pkgAcqMetaIndex::VerifyVendor(string Message) /*{{{*/
// TRANSLATOR: The first %s is the URL of the bad Release file, the second is
// the time since then the file is invalid - formated in the same way as in
// the download progress display (e.g. 7d 3h 42min 1s)
- return _error->Error(_("Release file expired, ignoring %s (invalid since %s)"),
- RealURI.c_str(), TimeToStr(invalid_since).c_str());
+ return _error->Error(
+ _("Release file for %s is expired (invalid since %s). "
+ "Updates for this repository will not be applied."),
+ RealURI.c_str(), TimeToStr(invalid_since).c_str());
}
if (_config->FindB("Debug::pkgAcquire::Auth", false))
@@ -1669,7 +1680,7 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources,
// check if we have one trusted source for the package. if so, switch
// to "TrustedOnly" mode
- for (pkgCache::VerFileIterator i = Version.FileList(); i.end() == false; i++)
+ for (pkgCache::VerFileIterator i = Version.FileList(); i.end() == false; ++i)
{
pkgIndexFile *Index;
if (Sources->FindIndex(i.File(),Index) == false)
@@ -1706,7 +1717,7 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources,
bool pkgAcqArchive::QueueNext()
{
string const ForceHash = _config->Find("Acquire::ForceHash");
- for (; Vf.end() == false; Vf++)
+ for (; Vf.end() == false; ++Vf)
{
// Ignore not source sources
if ((Vf.File()->Flags & pkgCache::Flag::NotSource) != 0)
@@ -1730,6 +1741,8 @@ bool pkgAcqArchive::QueueNext()
string PkgFile = Parse.FileName();
if (ForceHash.empty() == false)
{
+ if(stringcasecmp(ForceHash, "sha512") == 0)
+ ExpectedHash = HashString("SHA512", Parse.SHA512Hash());
if(stringcasecmp(ForceHash, "sha256") == 0)
ExpectedHash = HashString("SHA256", Parse.SHA256Hash());
else if (stringcasecmp(ForceHash, "sha1") == 0)
@@ -1740,7 +1753,9 @@ bool pkgAcqArchive::QueueNext()
else
{
string Hash;
- if ((Hash = Parse.SHA256Hash()).empty() == false)
+ if ((Hash = Parse.SHA512Hash()).empty() == false)
+ ExpectedHash = HashString("SHA512", Hash);
+ else if ((Hash = Parse.SHA256Hash()).empty() == false)
ExpectedHash = HashString("SHA256", Hash);
else if ((Hash = Parse.SHA1Hash()).empty() == false)
ExpectedHash = HashString("SHA1", Hash);
@@ -1764,7 +1779,7 @@ bool pkgAcqArchive::QueueNext()
if (stat(FinalFile.c_str(),&Buf) == 0)
{
// Make sure the size matches
- if ((unsigned)Buf.st_size == Version->Size)
+ if ((unsigned long long)Buf.st_size == Version->Size)
{
Complete = true;
Local = true;
@@ -1783,7 +1798,7 @@ bool pkgAcqArchive::QueueNext()
if (stat(FinalFile.c_str(),&Buf) == 0)
{
// Make sure the size matches
- if ((unsigned)Buf.st_size == Version->Size)
+ if ((unsigned long long)Buf.st_size == Version->Size)
{
Complete = true;
Local = true;
@@ -1803,7 +1818,7 @@ bool pkgAcqArchive::QueueNext()
if (stat(DestFile.c_str(),&Buf) == 0)
{
// Hmm, the partial file is too big, erase it
- if ((unsigned)Buf.st_size > Version->Size)
+ if ((unsigned long long)Buf.st_size > Version->Size)
unlink(DestFile.c_str());
else
PartialSize = Buf.st_size;
@@ -1817,7 +1832,7 @@ bool pkgAcqArchive::QueueNext()
Desc.ShortDesc = Version.ParentPkg().Name();
QueueURI(Desc);
- Vf++;
+ ++Vf;
return true;
}
return false;
@@ -1826,7 +1841,7 @@ bool pkgAcqArchive::QueueNext()
// AcqArchive::Done - Finished fetching /*{{{*/
// ---------------------------------------------------------------------
/* */
-void pkgAcqArchive::Done(string Message,unsigned long Size,string CalcHash,
+void pkgAcqArchive::Done(string Message,unsigned long long Size,string CalcHash,
pkgAcquire::MethodConfig *Cfg)
{
Item::Done(Message,Size,CalcHash,Cfg);
@@ -1891,7 +1906,7 @@ void pkgAcqArchive::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
StringToBool(LookupTag(Message,"Transient-Failure"),false) == true)
{
// Vf = Version.FileList();
- while (Vf.end() == false) Vf++;
+ while (Vf.end() == false) ++Vf;
StoreFilename = string();
Item::Failed(Message,Cnf);
return;
@@ -1937,7 +1952,7 @@ void pkgAcqArchive::Finished()
// ---------------------------------------------------------------------
/* The file is added to the queue */
pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash,
- unsigned long Size,string Dsc,string ShortDesc,
+ unsigned long long Size,string Dsc,string ShortDesc,
const string &DestDir, const string &DestFilename,
bool IsIndexFile) :
Item(Owner), ExpectedHash(Hash), IsIndexFile(IsIndexFile)
@@ -1965,7 +1980,7 @@ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash,
if (stat(DestFile.c_str(),&Buf) == 0)
{
// Hmm, the partial file is too big, erase it
- if ((unsigned)Buf.st_size > Size)
+ if ((unsigned long long)Buf.st_size > Size)
unlink(DestFile.c_str());
else
PartialSize = Buf.st_size;
@@ -1977,7 +1992,7 @@ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash,
// AcqFile::Done - Item downloaded OK /*{{{*/
// ---------------------------------------------------------------------
/* */
-void pkgAcqFile::Done(string Message,unsigned long Size,string CalcHash,
+void pkgAcqFile::Done(string Message,unsigned long long Size,string CalcHash,
pkgAcquire::MethodConfig *Cnf)
{
Item::Done(Message,Size,CalcHash,Cnf);
@@ -2065,13 +2080,3 @@ string pkgAcqFile::Custom600Headers()
return "";
}
/*}}}*/
-bool IndexTarget::IsOptional() const {
- if (strncmp(ShortDesc.c_str(), "Translation", 11) != 0)
- return false;
- return true;
-}
-bool IndexTarget::IsSubIndex() const {
- if (ShortDesc != "TranslationIndex")
- return false;
- return true;
-}
diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h
index f763577ee..13be17a01 100644
--- a/apt-pkg/acquire-item.h
+++ b/apt-pkg/acquire-item.h
@@ -194,7 +194,7 @@ class pkgAcquire::Item : public WeakPointable
*
* \sa pkgAcqMethod
*/
- virtual void Done(string Message,unsigned long Size,string Hash,
+ virtual void Done(string Message,unsigned long long Size,string Hash,
pkgAcquire::MethodConfig *Cnf);
/** \brief Invoked when the worker starts to fetch this object.
@@ -206,7 +206,7 @@ class pkgAcquire::Item : public WeakPointable
*
* \sa pkgAcqMethod
*/
- virtual void Start(string Message,unsigned long Size);
+ virtual void Start(string Message,unsigned long long Size);
/** \brief Custom headers to be sent to the fetch process.
*
@@ -309,7 +309,7 @@ class pkgAcqSubIndex : public pkgAcquire::Item
public:
// Specialized action members
virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
- virtual void Done(string Message,unsigned long Size,string Md5Hash,
+ virtual void Done(string Message,unsigned long long Size,string Md5Hash,
pkgAcquire::MethodConfig *Cnf);
virtual string DescURI() {return Desc.URI;};
virtual string Custom600Headers();
@@ -372,7 +372,7 @@ class pkgAcqDiffIndex : public pkgAcquire::Item
public:
// Specialized action members
virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
- virtual void Done(string Message,unsigned long Size,string Md5Hash,
+ virtual void Done(string Message,unsigned long long Size,string Md5Hash,
pkgAcquire::MethodConfig *Cnf);
virtual string DescURI() {return RealURI + "Index";};
virtual string Custom600Headers();
@@ -508,7 +508,7 @@ class pkgAcqIndexDiffs : public pkgAcquire::Item
*/
virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
- virtual void Done(string Message,unsigned long Size,string Md5Hash,
+ virtual void Done(string Message,unsigned long long Size,string Md5Hash,
pkgAcquire::MethodConfig *Cnf);
virtual string DescURI() {return RealURI + "Index";};
@@ -559,6 +559,16 @@ class pkgAcqIndex : public pkgAcquire::Item
*/
bool Erase;
+ /** \brief Verify for correctness by checking if a "Package"
+ * tag is found in the index. This can be set to
+ * false for optional index targets
+ *
+ */
+ // FIXME: instead of a bool it should use a verify string that will
+ // then be used in the pkgAcqIndex::Done method to ensure that
+ // the downloaded file contains the expected tag
+ bool Verify;
+
/** \brief The download request that is currently being
* processed.
*/
@@ -581,7 +591,7 @@ class pkgAcqIndex : public pkgAcquire::Item
// Specialized action members
virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
- virtual void Done(string Message,unsigned long Size,string Md5Hash,
+ virtual void Done(string Message,unsigned long long Size,string Md5Hash,
pkgAcquire::MethodConfig *Cnf);
virtual string Custom600Headers();
virtual string DescURI() {return Desc.URI;};
@@ -646,8 +656,9 @@ class pkgAcqIndexTrans : public pkgAcqIndex
};
/*}}}*/
/** \brief Information about an index file. */ /*{{{*/
-struct IndexTarget
+class IndexTarget
{
+ public:
/** \brief A URI from which the index file can be downloaded. */
string URI;
@@ -662,14 +673,28 @@ struct IndexTarget
*/
string MetaKey;
- //FIXME: We should use virtual methods here instead…
- bool IsOptional() const;
- bool IsSubIndex() const;
+ virtual bool IsOptional() const {
+ return false;
+ }
+ virtual bool IsSubIndex() const {
+ return false;
+ }
};
/*}}}*/
/** \brief Information about an optional index file. */ /*{{{*/
-struct OptionalIndexTarget : public IndexTarget
+class OptionalIndexTarget : public IndexTarget
+{
+ virtual bool IsOptional() const {
+ return true;
+ }
+};
+ /*}}}*/
+/** \brief Information about an subindex index file. */ /*{{{*/
+class SubIndexTarget : public IndexTarget
{
+ virtual bool IsSubIndex() const {
+ return true;
+ }
};
/*}}}*/
@@ -723,7 +748,7 @@ class pkgAcqMetaSig : public pkgAcquire::Item
// Specialized action members
virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
- virtual void Done(string Message,unsigned long Size,string Md5Hash,
+ virtual void Done(string Message,unsigned long long Size,string Md5Hash,
pkgAcquire::MethodConfig *Cnf);
virtual string Custom600Headers();
virtual string DescURI() {return RealURI; };
@@ -818,7 +843,7 @@ class pkgAcqMetaIndex : public pkgAcquire::Item
// Specialized action members
virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
- virtual void Done(string Message,unsigned long Size, string Hash,
+ virtual void Done(string Message,unsigned long long Size, string Hash,
pkgAcquire::MethodConfig *Cnf);
virtual string Custom600Headers();
virtual string DescURI() {return RealURI; };
@@ -918,7 +943,7 @@ class pkgAcqArchive : public pkgAcquire::Item
public:
virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
- virtual void Done(string Message,unsigned long Size,string Hash,
+ virtual void Done(string Message,unsigned long long Size,string Hash,
pkgAcquire::MethodConfig *Cnf);
virtual string DescURI() {return Desc.URI;};
virtual string ShortDesc() {return Desc.ShortDesc;};
@@ -975,7 +1000,7 @@ class pkgAcqFile : public pkgAcquire::Item
// Specialized action members
virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
- virtual void Done(string Message,unsigned long Size,string CalcHash,
+ virtual void Done(string Message,unsigned long long Size,string CalcHash,
pkgAcquire::MethodConfig *Cnf);
virtual string DescURI() {return Desc.URI;};
virtual string HashSum() {return ExpectedHash.toStr(); };
@@ -1012,7 +1037,7 @@ class pkgAcqFile : public pkgAcquire::Item
* is the absolute name to which the file should be downloaded.
*/
- pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long Size,
+ pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long long Size,
string Desc, string ShortDesc,
const string &DestDir="", const string &DestFilename="",
bool IsIndexFile=false);
diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc
index e9e102488..1ae139b40 100644
--- a/apt-pkg/acquire-method.cc
+++ b/apt-pkg/acquire-method.cc
@@ -15,6 +15,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
@@ -81,7 +83,7 @@ void pkgAcqMethod::Fail(bool Transient)
void pkgAcqMethod::Fail(string Err,bool Transient)
{
// Strip out junk from the error messages
- for (string::iterator I = Err.begin(); I != Err.end(); I++)
+ for (string::iterator I = Err.begin(); I != Err.end(); ++I)
{
if (*I == '\r')
*I = ' ';
@@ -166,6 +168,8 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
std::cout << "SHA1-Hash: " << Res.SHA1Sum << "\n";
if (Res.SHA256Sum.empty() == false)
std::cout << "SHA256-Hash: " << Res.SHA256Sum << "\n";
+ if (Res.SHA512Sum.empty() == false)
+ std::cout << "SHA512-Hash: " << Res.SHA512Sum << "\n";
if (UsedMirror.empty() == false)
std::cout << "UsedMirror: " << UsedMirror << "\n";
if (Res.GPGVOutput.empty() == false)
@@ -199,7 +203,9 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
std::cout << "Alt-SHA1-Hash: " << Alt->SHA1Sum << "\n";
if (Alt->SHA256Sum.empty() == false)
std::cout << "Alt-SHA256-Hash: " << Alt->SHA256Sum << "\n";
-
+ if (Alt->SHA512Sum.empty() == false)
+ std::cout << "Alt-SHA512-Hash: " << Alt->SHA512Sum << "\n";
+
if (Alt->IMSHit == true)
std::cout << "Alt-IMS-Hit: true\n";
}
@@ -421,12 +427,8 @@ void pkgAcqMethod::Status(const char *Format,...)
to keep the pipeline synchronized. */
void pkgAcqMethod::Redirect(const string &NewURI)
{
- std::cout << "103 Redirect\nURI: ";
- if (Queue != 0)
- std::cout << Queue->Uri << "\n";
- else
- std::cout << "<UNKNOWN>\n";
- std::cout << "New-URI: " << NewURI << "\n"
+ std::cout << "103 Redirect\nURI: " << Queue->Uri << "\n"
+ << "New-URI: " << NewURI << "\n"
<< "\n" << std::flush;
// Change the URI for the request.
@@ -460,5 +462,6 @@ void pkgAcqMethod::FetchResult::TakeHashes(Hashes &Hash)
MD5Sum = Hash.MD5.Result();
SHA1Sum = Hash.SHA1.Result();
SHA256Sum = Hash.SHA256.Result();
+ SHA512Sum = Hash.SHA512.Result();
}
/*}}}*/
diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h
index 72efa8065..6551170c4 100644
--- a/apt-pkg/acquire-method.h
+++ b/apt-pkg/acquire-method.h
@@ -46,12 +46,13 @@ class pkgAcqMethod
string MD5Sum;
string SHA1Sum;
string SHA256Sum;
+ string SHA512Sum;
vector<string> GPGVOutput;
time_t LastModified;
bool IMSHit;
string Filename;
- unsigned long Size;
- unsigned long ResumePoint;
+ unsigned long long Size;
+ unsigned long long ResumePoint;
void TakeHashes(Hashes &Hash);
FetchResult();
diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc
index 75e03232a..3bb977e14 100644
--- a/apt-pkg/acquire-worker.cc
+++ b/apt-pkg/acquire-worker.cc
@@ -12,6 +12,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-worker.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/configuration.h>
@@ -19,18 +21,18 @@
#include <apt-pkg/fileutl.h>
#include <apt-pkg/strutl.h>
-#include <apti18n.h>
-
#include <iostream>
#include <sstream>
#include <fstream>
-
+
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
#include <errno.h>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -256,9 +258,9 @@ bool pkgAcquire::Worker::RunMessages()
CurrentItem = Itm;
CurrentSize = 0;
- TotalSize = atoi(LookupTag(Message,"Size","0").c_str());
- ResumePoint = atoi(LookupTag(Message,"Resume-Point","0").c_str());
- Itm->Owner->Start(Message,atoi(LookupTag(Message,"Size","0").c_str()));
+ TotalSize = strtoull(LookupTag(Message,"Size","0").c_str(), NULL, 10);
+ ResumePoint = strtoull(LookupTag(Message,"Resume-Point","0").c_str(), NULL, 10);
+ Itm->Owner->Start(Message,strtoull(LookupTag(Message,"Size","0").c_str(), NULL, 10));
// Display update before completion
if (Log != 0 && Log->MorePulses == true)
@@ -287,9 +289,9 @@ bool pkgAcquire::Worker::RunMessages()
Log->Pulse(Owner->GetOwner());
OwnerQ->ItemDone(Itm);
- unsigned long const ServerSize = atol(LookupTag(Message,"Size","0").c_str());
+ unsigned long long const ServerSize = strtoull(LookupTag(Message,"Size","0").c_str(), NULL, 10);
if (TotalSize != 0 && ServerSize != TotalSize)
- _error->Warning("Size of file %s is not what the server reported %s %lu",
+ _error->Warning("Size of file %s is not what the server reported %s %llu",
Owner->DestFile.c_str(), LookupTag(Message,"Size","0").c_str(),TotalSize);
// see if there is a hash to verify
diff --git a/apt-pkg/acquire-worker.h b/apt-pkg/acquire-worker.h
index 06283922e..ce19091e4 100644
--- a/apt-pkg/acquire-worker.h
+++ b/apt-pkg/acquire-worker.h
@@ -44,6 +44,9 @@
*/
class pkgAcquire::Worker : public WeakPointable
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
friend class pkgAcquire;
protected:
@@ -244,17 +247,17 @@ class pkgAcquire::Worker : public WeakPointable
/** \brief How many bytes of the file have been downloaded. Zero
* if the current progress of the file cannot be determined.
*/
- unsigned long CurrentSize;
+ unsigned long long CurrentSize;
/** \brief The total number of bytes to be downloaded. Zero if the
* total size of the final is unknown.
*/
- unsigned long TotalSize;
+ unsigned long long TotalSize;
/** \brief How much of the file was already downloaded prior to
* starting this worker.
*/
- unsigned long ResumePoint;
+ unsigned long long ResumePoint;
/** \brief Tell the subprocess to download the given item.
*
@@ -314,7 +317,7 @@ class pkgAcquire::Worker : public WeakPointable
* Closes the file descriptors; if MethodConfig::NeedsCleanup is
* \b false, also rudely interrupts the worker with a SIGINT.
*/
- ~Worker();
+ virtual ~Worker();
};
/** @} */
diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc
index 9478cdfb4..cdc3fba4b 100644
--- a/apt-pkg/acquire.cc
+++ b/apt-pkg/acquire.cc
@@ -13,6 +13,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/acquire-worker.h>
@@ -21,8 +23,6 @@
#include <apt-pkg/strutl.h>
#include <apt-pkg/fileutl.h>
-#include <apti18n.h>
-
#include <iostream>
#include <sstream>
#include <stdio.h>
@@ -30,6 +30,8 @@
#include <dirent.h>
#include <sys/time.h>
#include <errno.h>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -37,9 +39,9 @@ using namespace std;
// Acquire::pkgAcquire - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* We grab some runtime state from the configuration space */
-pkgAcquire::pkgAcquire() : Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0),
+pkgAcquire::pkgAcquire() : LockFD(-1), Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0),
Debug(_config->FindB("Debug::pkgAcquire",false)),
- Running(false), LockFD(-1)
+ Running(false)
{
string const Mode = _config->Find("Acquire::Queue-Mode","host");
if (strcasecmp(Mode.c_str(),"host") == 0)
@@ -47,10 +49,10 @@ pkgAcquire::pkgAcquire() : Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch
if (strcasecmp(Mode.c_str(),"access") == 0)
QueueMode = QueueAccess;
}
-pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : Queues(0), Workers(0),
+pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : LockFD(-1), Queues(0), Workers(0),
Configs(0), Log(Progress), ToFetch(0),
Debug(_config->FindB("Debug::pkgAcquire",false)),
- Running(false), LockFD(-1)
+ Running(false)
{
string const Mode = _config->Find("Acquire::Queue-Mode","host");
if (strcasecmp(Mode.c_str(),"host") == 0)
@@ -116,7 +118,7 @@ pkgAcquire::~pkgAcquire()
/* */
void pkgAcquire::Shutdown()
{
- while (Items.size() != 0)
+ while (Items.empty() == false)
{
if (Items[0]->Status == Item::StatFetching)
Items[0]->Status = Item::StatError;
@@ -155,7 +157,7 @@ void pkgAcquire::Remove(Item *Itm)
I = Items.begin();
}
else
- I++;
+ ++I;
}
}
/*}}}*/
@@ -411,7 +413,7 @@ pkgAcquire::RunResult pkgAcquire::Run(int PulseIntervall)
I->Shutdown(false);
// Shut down the items
- for (ItemIterator I = Items.begin(); I != Items.end(); I++)
+ for (ItemIterator I = Items.begin(); I != Items.end(); ++I)
(*I)->Finished();
if (_error->PendingError())
@@ -445,6 +447,10 @@ pkgAcquire::Worker *pkgAcquire::WorkerStep(Worker *I)
if it is part of the download set. */
bool pkgAcquire::Clean(string Dir)
{
+ // non-existing directories are by definition clean…
+ if (DirectoryExists(Dir) == false)
+ return true;
+
DIR *D = opendir(Dir.c_str());
if (D == 0)
return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str());
@@ -467,7 +473,7 @@ bool pkgAcquire::Clean(string Dir)
// Look in the get list
ItemCIterator I = Items.begin();
- for (; I != Items.end(); I++)
+ for (; I != Items.end(); ++I)
if (flNotDir((*I)->DestFile) == Dir->d_name)
break;
@@ -488,7 +494,7 @@ bool pkgAcquire::Clean(string Dir)
unsigned long long pkgAcquire::TotalNeeded()
{
unsigned long long Total = 0;
- for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); I++)
+ for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I)
Total += (*I)->FileSize;
return Total;
}
@@ -499,7 +505,7 @@ unsigned long long pkgAcquire::TotalNeeded()
unsigned long long pkgAcquire::FetchNeeded()
{
unsigned long long Total = 0;
- for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); I++)
+ for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I)
if ((*I)->Local == false)
Total += (*I)->FileSize;
return Total;
@@ -511,7 +517,7 @@ unsigned long long pkgAcquire::FetchNeeded()
unsigned long long pkgAcquire::PartialPresent()
{
unsigned long long Total = 0;
- for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); I++)
+ for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I)
if ((*I)->Local == false)
Total += (*I)->PartialSize;
return Total;
@@ -781,11 +787,11 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner)
unsigned int Unknown = 0;
unsigned int Count = 0;
for (pkgAcquire::ItemCIterator I = Owner->ItemsBegin(); I != Owner->ItemsEnd();
- I++, Count++)
+ ++I, ++Count)
{
TotalItems++;
if ((*I)->Status == pkgAcquire::Item::StatDone)
- CurrentItems++;
+ ++CurrentItems;
// Totally ignore local items
if ((*I)->Local == true)
@@ -795,11 +801,11 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner)
if ((*I)->Complete == true)
CurrentBytes += (*I)->FileSize;
if ((*I)->FileSize == 0 && (*I)->Complete == false)
- Unknown++;
+ ++Unknown;
}
// Compute the current completion
- unsigned long ResumeSize = 0;
+ unsigned long long ResumeSize = 0;
for (pkgAcquire::Worker *I = Owner->WorkersBegin(); I != 0;
I = Owner->WorkerStep(I))
if (I->CurrentItem != 0 && I->CurrentItem->Owner->Complete == false)
@@ -838,7 +844,7 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner)
else
CurrentCPS = ((CurrentBytes - ResumeSize) - LastBytes)/Delta;
LastBytes = CurrentBytes - ResumeSize;
- ElapsedTime = (unsigned long)Delta;
+ ElapsedTime = (unsigned long long)Delta;
Time = NewTime;
}
@@ -849,8 +855,9 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner)
char msg[200];
long i = CurrentItems < TotalItems ? CurrentItems + 1 : CurrentItems;
- unsigned long ETA =
- (unsigned long)((TotalBytes - CurrentBytes) / CurrentCPS);
+ unsigned long long ETA = 0;
+ if(CurrentCPS > 0)
+ ETA = (TotalBytes - CurrentBytes) / CurrentCPS;
// only show the ETA if it makes sense
if (ETA > 0 && ETA < 172800 /* two days */ )
@@ -906,13 +913,13 @@ void pkgAcquireStatus::Stop()
else
CurrentCPS = FetchedBytes/Delta;
LastBytes = CurrentBytes;
- ElapsedTime = (unsigned int)Delta;
+ ElapsedTime = (unsigned long long)Delta;
}
/*}}}*/
// AcquireStatus::Fetched - Called when a byte set has been fetched /*{{{*/
// ---------------------------------------------------------------------
/* This is used to get accurate final transfer rate reporting. */
-void pkgAcquireStatus::Fetched(unsigned long Size,unsigned long Resume)
+void pkgAcquireStatus::Fetched(unsigned long long Size,unsigned long long Resume)
{
FetchedBytes += Size - Resume;
}
diff --git a/apt-pkg/acquire.h b/apt-pkg/acquire.h
index e3a4435b8..ae555df22 100644
--- a/apt-pkg/acquire.h
+++ b/apt-pkg/acquire.h
@@ -91,6 +91,12 @@ class pkgAcquireStatus;
*/
class pkgAcquire
{
+ private:
+ /** \brief FD of the Lock file we acquire in Setup (if any) */
+ int LockFD;
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
public:
class Item;
@@ -142,12 +148,7 @@ class pkgAcquire
/** \brief The progress indicator for this download. */
pkgAcquireStatus *Log;
- /** \brief The total size of the files which are to be fetched.
- *
- * This is not necessarily the total number of bytes to download
- * when, e.g., download resumption and list updates via patches
- * are taken into account.
- */
+ /** \brief The number of files which are to be fetched. */
unsigned long ToFetch;
// Configurable parameters for the scheduler
@@ -348,6 +349,8 @@ class pkgAcquire
*/
bool Setup(pkgAcquireStatus *Progress = NULL, string const &Lock = "");
+ void SetLog(pkgAcquireStatus *Progress) { Log = Progress; }
+
/** \brief Construct a new pkgAcquire. */
pkgAcquire(pkgAcquireStatus *Log) __deprecated;
pkgAcquire();
@@ -359,9 +362,6 @@ class pkgAcquire
*/
virtual ~pkgAcquire();
- private:
- /** \brief FD of the Lock file we acquire in Setup (if any) */
- int LockFD;
};
/** \brief Represents a single download source from which an item
@@ -391,6 +391,9 @@ class pkgAcquire::Queue
friend class pkgAcquire::UriIterator;
friend class pkgAcquire::Worker;
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
/** \brief The next queue in the pkgAcquire object's list of queues. */
Queue *Next;
@@ -478,7 +481,7 @@ class pkgAcquire::Queue
*
* \todo Unimplemented. Implement it or remove?
*/
- bool ItemStart(QItem *Itm,unsigned long Size);
+ bool ItemStart(QItem *Itm,unsigned long long Size);
/** \brief Remove the given item from this queue and set its state
* to pkgAcquire::Item::StatDone.
@@ -540,12 +543,15 @@ class pkgAcquire::Queue
/** Shut down all the worker processes associated with this queue
* and empty the queue.
*/
- ~Queue();
+ virtual ~Queue();
};
/*}}}*/
/** \brief Iterates over all the URIs being fetched by a pkgAcquire object. {{{*/
class pkgAcquire::UriIterator
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
/** The next queue to iterate over. */
pkgAcquire::Queue *CurQ;
/** The item that we currently point at. */
@@ -581,11 +587,15 @@ class pkgAcquire::UriIterator
CurQ = CurQ->Next;
}
}
+ virtual ~UriIterator() {};
};
/*}}}*/
/** \brief Information about the properties of a single acquire method. {{{*/
struct pkgAcquire::MethodConfig
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
/** \brief The next link on the acquire method list.
*
* \todo Why not an STL container?
@@ -634,16 +644,20 @@ struct pkgAcquire::MethodConfig
* appropriate.
*/
MethodConfig();
+
+ /* \brief Destructor, empty currently */
+ virtual ~MethodConfig() {};
};
/*}}}*/
/** \brief A monitor object for downloads controlled by the pkgAcquire class. {{{
*
* \todo Why protected members?
- *
- * \todo Should the double members be uint64_t?
*/
class pkgAcquireStatus
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
protected:
/** \brief The last time at which this monitor object was updated. */
@@ -655,34 +669,34 @@ class pkgAcquireStatus
/** \brief The number of bytes fetched as of the previous call to
* pkgAcquireStatus::Pulse, including local items.
*/
- double LastBytes;
+ unsigned long long LastBytes;
/** \brief The current rate of download as of the most recent call
* to pkgAcquireStatus::Pulse, in bytes per second.
*/
- double CurrentCPS;
+ unsigned long long CurrentCPS;
/** \brief The number of bytes fetched as of the most recent call
* to pkgAcquireStatus::Pulse, including local items.
*/
- double CurrentBytes;
+ unsigned long long CurrentBytes;
/** \brief The total number of bytes that need to be fetched.
*
* \warning This member is inaccurate, as new items might be
* enqueued while the download is in progress!
*/
- double TotalBytes;
+ unsigned long long TotalBytes;
/** \brief The total number of bytes accounted for by items that
* were successfully fetched.
*/
- double FetchedBytes;
+ unsigned long long FetchedBytes;
/** \brief The amount of time that has elapsed since the download
* started.
*/
- unsigned long ElapsedTime;
+ unsigned long long ElapsedTime;
/** \brief The total number of items that need to be fetched.
*
@@ -715,7 +729,7 @@ class pkgAcquireStatus
*
* \param ResumePoint How much of the file was already fetched.
*/
- virtual void Fetched(unsigned long Size,unsigned long ResumePoint);
+ virtual void Fetched(unsigned long long Size,unsigned long long ResumePoint);
/** \brief Invoked when the user should be prompted to change the
* inserted removable media.
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index 2dae4258a..40368c91f 100644
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@ -14,18 +14,23 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/algorithms.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/version.h>
#include <apt-pkg/sptr.h>
#include <apt-pkg/acquire-item.h>
-
-#include <apti18n.h>
+#include <apt-pkg/edsp.h>
+
#include <sys/types.h>
#include <cstdlib>
#include <algorithm>
#include <iostream>
+#include <stdio.h>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -91,7 +96,7 @@ bool pkgSimulate::Install(PkgIterator iPkg,string /*File*/)
Sim.MarkInstall(Pkg,false);
// Look for broken conflicts+predepends.
- for (PkgIterator I = Sim.PkgBegin(); I.end() == false; I++)
+ for (PkgIterator I = Sim.PkgBegin(); I.end() == false; ++I)
{
if (Sim[I].InstallVer == 0)
continue;
@@ -140,7 +145,7 @@ bool pkgSimulate::Configure(PkgIterator iPkg)
Sim.Update();
// Print out each package and the failed dependencies
- for (pkgCache::DepIterator D = Sim[Pkg].InstVerIter(Sim).DependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = Sim[Pkg].InstVerIter(Sim).DependsList(); D.end() == false; ++D)
{
if (Sim.IsImportantDep(D) == false ||
(Sim[D] & pkgDepCache::DepInstall) != 0)
@@ -204,7 +209,7 @@ bool pkgSimulate::Remove(PkgIterator iPkg,bool Purge)
void pkgSimulate::ShortBreaks()
{
cout << " [";
- for (PkgIterator I = Sim.PkgBegin(); I.end() == false; I++)
+ for (PkgIterator I = Sim.PkgBegin(); I.end() == false; ++I)
{
if (Sim[I].InstBroken() == true)
{
@@ -226,7 +231,7 @@ bool pkgApplyStatus(pkgDepCache &Cache)
{
pkgDepCache::ActionGroup group(Cache);
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (I->VersionList == 0)
continue;
@@ -295,13 +300,13 @@ bool pkgFixBroken(pkgDepCache &Cache)
pkgDepCache::ActionGroup group(Cache);
// Auto upgrade all broken packages
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
if (Cache[I].NowBroken() == true)
Cache.MarkInstall(I, true, 0, false);
/* Fix packages that are in a NeedArchive state but don't have a
downloadable install version */
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (I.State() != pkgCache::PkgIterator::NeedsUnpack ||
Cache[I].Delete() == true)
@@ -327,6 +332,12 @@ bool pkgFixBroken(pkgDepCache &Cache)
*/
bool pkgDistUpgrade(pkgDepCache &Cache)
{
+ std::string const solver = _config->Find("APT::Solver", "internal");
+ if (solver != "internal") {
+ OpTextProgress Prog(*_config);
+ return EDSP::ResolveExternal(solver.c_str(), Cache, false, true, false, &Prog);
+ }
+
pkgDepCache::ActionGroup group(Cache);
/* Upgrade all installed packages first without autoinst to help the resolver
@@ -338,19 +349,19 @@ bool pkgDistUpgrade(pkgDepCache &Cache)
/* Auto upgrade all installed packages, this provides the basis
for the installation */
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
if (I->CurrentVer != 0)
Cache.MarkInstall(I, true, 0, false);
/* Now, auto upgrade all essential packages - this ensures that
the essential packages are present and working */
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
if ((I->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential)
Cache.MarkInstall(I, true, 0, false);
/* We do it again over all previously installed packages to force
conflict resolution on them all. */
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
if (I->CurrentVer != 0)
Cache.MarkInstall(I, false, 0, false);
@@ -359,7 +370,7 @@ bool pkgDistUpgrade(pkgDepCache &Cache)
// Hold back held packages.
if (_config->FindB("APT::Ignore-Hold",false) == false)
{
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (I->SelectedState == pkgCache::State::Hold)
{
@@ -379,6 +390,12 @@ bool pkgDistUpgrade(pkgDepCache &Cache)
to install packages not marked for install */
bool pkgAllUpgrade(pkgDepCache &Cache)
{
+ std::string const solver = _config->Find("APT::Solver", "internal");
+ if (solver != "internal") {
+ OpTextProgress Prog(*_config);
+ return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, &Prog);
+ }
+
pkgDepCache::ActionGroup group(Cache);
pkgProblemResolver Fix(&Cache);
@@ -387,7 +404,7 @@ bool pkgAllUpgrade(pkgDepCache &Cache)
return false;
// Upgrade all installed packages
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (Cache[I].Install() == true)
Fix.Protect(I);
@@ -421,7 +438,7 @@ bool pkgMinimizeUpgrade(pkgDepCache &Cache)
do
{
Change = false;
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
// Not interesting
if (Cache[I].Upgrade() == false || Cache[I].NewInstall() == true)
@@ -438,7 +455,7 @@ bool pkgMinimizeUpgrade(pkgDepCache &Cache)
Change = true;
}
}
- Count++;
+ ++Count;
}
while (Change == true && Count < 10);
@@ -525,7 +542,7 @@ void pkgProblemResolver::MakeScores()
<< " AddEssential => " << AddEssential << endl;
// Generate the base scores for a package based on its properties
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (Cache[I].InstallVer == 0)
continue;
@@ -552,12 +569,12 @@ void pkgProblemResolver::MakeScores()
}
// Now that we have the base scores we go and propogate dependencies
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (Cache[I].InstallVer == 0)
continue;
- for (pkgCache::DepIterator D = Cache[I].InstVerIter(Cache).DependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = Cache[I].InstVerIter(Cache).DependsList(); D.end() == false; ++D)
{
if (D->Type == pkgCache::Dep::Depends ||
D->Type == pkgCache::Dep::PreDepends)
@@ -574,12 +591,12 @@ void pkgProblemResolver::MakeScores()
/* Now we cause 1 level of dependency inheritance, that is we add the
score of the packages that depend on the target Package. This
fortifies high scoring packages */
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (Cache[I].InstallVer == 0)
continue;
- for (pkgCache::DepIterator D = I.RevDependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = I.RevDependsList(); D.end() == false; ++D)
{
// Only do it for the install version
if ((pkgCache::Version *)D.ParentVer() != Cache[D.ParentPkg()].InstallVer ||
@@ -594,9 +611,9 @@ void pkgProblemResolver::MakeScores()
/* Now we propogate along provides. This makes the packages that
provide important packages extremely important */
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
- for (pkgCache::PrvIterator P = I.ProvidesList(); P.end() == false; P++)
+ for (pkgCache::PrvIterator P = I.ProvidesList(); P.end() == false; ++P)
{
// Only do it once per package
if ((pkgCache::Version *)P.OwnerVer() != Cache[P.OwnerPkg()].InstallVer)
@@ -607,7 +624,7 @@ void pkgProblemResolver::MakeScores()
/* Protected things are pushed really high up. This number should put them
ahead of everything */
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if ((Flags[I->ID] & Protected) != 0)
Scores[I->ID] += AddProtected;
@@ -704,7 +721,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg)
if (Start == End)
break;
- Start++;
+ ++Start;
}
if (Fail == true)
break;
@@ -725,7 +742,20 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg)
return true;
}
/*}}}*/
-// ProblemResolver::Resolve - Run the resolution pass /*{{{*/
+// ProblemResolver::Resolve - calls a resolver to fix the situation /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool pkgProblemResolver::Resolve(bool BrokenFix)
+{
+ std::string const solver = _config->Find("APT::Solver", "internal");
+ if (solver != "internal") {
+ OpTextProgress Prog(*_config);
+ return EDSP::ResolveExternal(solver.c_str(), Cache, false, false, false, &Prog);
+ }
+ return ResolveInternal(BrokenFix);
+}
+ /*}}}*/
+// ProblemResolver::ResolveInternal - Run the resolution pass /*{{{*/
// ---------------------------------------------------------------------
/* This routines works by calculating a score for each package. The score
is derived by considering the package's priority and all reverse
@@ -739,18 +769,16 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg)
The BrokenFix flag enables a mode where the algorithm tries to
upgrade packages to advoid problems. */
-bool pkgProblemResolver::Resolve(bool BrokenFix)
+bool pkgProblemResolver::ResolveInternal(bool const BrokenFix)
{
pkgDepCache::ActionGroup group(Cache);
- unsigned long Size = Cache.Head().PackageCount;
-
// Record which packages are marked for install
bool Again = false;
do
{
Again = false;
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (Cache[I].Install() == true)
Flags[I->ID] |= PreInstalled;
@@ -774,14 +802,16 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
clog << "Starting" << endl;
MakeScores();
-
+
+ unsigned long const Size = Cache.Head().PackageCount;
+
/* We have to order the packages so that the broken fixing pass
operates from highest score to lowest. This prevents problems when
high score packages cause the removal of lower score packages that
would cause the removal of even lower score packages. */
SPtrArray<pkgCache::Package *> PList = new pkgCache::Package *[Size];
pkgCache::Package **PEnd = PList;
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
*PEnd++ = I;
This = this;
qsort(PList,PEnd - PList,sizeof(*PList),&ScoreSort);
@@ -901,7 +931,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
}
else
{
- Start++;
+ ++Start;
// We only worry about critical deps.
if (Start.IsCritical() != true)
continue;
@@ -1150,7 +1180,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
{
// See if this is the result of a hold
pkgCache::PkgIterator I = Cache.PkgBegin();
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
{
if (Cache[I].InstBroken() == false)
continue;
@@ -1162,7 +1192,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
// set the auto-flags (mvo: I'm not sure if we _really_ need this)
pkgCache::PkgIterator I = Cache.PkgBegin();
- for (;I.end() != true; I++) {
+ for (;I.end() != true; ++I) {
if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) {
if(_config->FindI("Debug::pkgAutoRemove",false)) {
std::clog << "Resolve installed new pkg: " << I.FullName(false)
@@ -1176,6 +1206,31 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
return true;
}
/*}}}*/
+
+// ProblemResolver::BreaksInstOrPolicy - Check if the given pkg is broken/*{{{*/
+// ---------------------------------------------------------------------
+/* This checks if the given package is broken either by a hard dependency
+ (InstBroken()) or by introducing a new policy breakage e.g. new
+ unsatisfied recommends for a package that was in "policy-good" state
+
+ Note that this is not perfect as it will ignore further breakage
+ for already broken policy (recommends)
+*/
+bool pkgProblemResolver::InstOrNewPolicyBroken(pkgCache::PkgIterator I)
+{
+
+ // a broken install is always a problem
+ if (Cache[I].InstBroken() == true)
+ return true;
+
+ // a newly broken policy (recommends/suggests) is a problem
+ if (Cache[I].NowPolicyBroken() == false &&
+ Cache[I].InstPolicyBroken() == true)
+ return true;
+
+ return false;
+}
+
// ProblemResolver::ResolveByKeep - Resolve problems using keep /*{{{*/
// ---------------------------------------------------------------------
/* This is the work horse of the soft upgrade routine. It is very gental
@@ -1183,6 +1238,21 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
system was non-broken previously. */
bool pkgProblemResolver::ResolveByKeep()
{
+ std::string const solver = _config->Find("APT::Solver", "internal");
+ if (solver != "internal") {
+ OpTextProgress Prog(*_config);
+ return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, &Prog);
+ }
+ return ResolveByKeepInternal();
+}
+ /*}}}*/
+// ProblemResolver::ResolveByKeepInternal - Resolve problems using keep /*{{{*/
+// ---------------------------------------------------------------------
+/* This is the work horse of the soft upgrade routine. It is very gental
+ in that it does not install or remove any packages. It is assumed that the
+ system was non-broken previously. */
+bool pkgProblemResolver::ResolveByKeepInternal()
+{
pkgDepCache::ActionGroup group(Cache);
unsigned long Size = Cache.Head().PackageCount;
@@ -1195,7 +1265,7 @@ bool pkgProblemResolver::ResolveByKeep()
would cause the removal of even lower score packages. */
pkgCache::Package **PList = new pkgCache::Package *[Size];
pkgCache::Package **PEnd = PList;
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
*PEnd++ = I;
This = this;
qsort(PList,PEnd - PList,sizeof(*PList),&ScoreSort);
@@ -1220,9 +1290,12 @@ bool pkgProblemResolver::ResolveByKeep()
{
pkgCache::PkgIterator I(Cache,*K);
- if (Cache[I].InstallVer == 0 || Cache[I].InstBroken() == false)
+ if (Cache[I].InstallVer == 0)
continue;
+ if (InstOrNewPolicyBroken(I) == false)
+ continue;
+
/* Keep the package. If this works then great, otherwise we have
to be significantly more agressive and manipulate its dependencies */
if ((Flags[I->ID] & Protected) == 0)
@@ -1230,7 +1303,7 @@ bool pkgProblemResolver::ResolveByKeep()
if (Debug == true)
clog << "Keeping package " << I.FullName(false) << endl;
Cache.MarkKeep(I, false, false);
- if (Cache[I].InstBroken() == false)
+ if (InstOrNewPolicyBroken(I) == false)
{
K = PList - 1;
continue;
@@ -1280,23 +1353,23 @@ bool pkgProblemResolver::ResolveByKeep()
Cache.MarkKeep(Pkg, false, false);
}
- if (Cache[I].InstBroken() == false)
+ if (InstOrNewPolicyBroken(I) == false)
break;
}
- if (Cache[I].InstBroken() == false)
+ if (InstOrNewPolicyBroken(I) == false)
break;
if (Start == End)
break;
- Start++;
+ ++Start;
}
- if (Cache[I].InstBroken() == false)
+ if (InstOrNewPolicyBroken(I) == false)
break;
}
- if (Cache[I].InstBroken() == true)
+ if (InstOrNewPolicyBroken(I) == true)
continue;
// Restart again.
@@ -1316,7 +1389,7 @@ void pkgProblemResolver::InstallProtect()
{
pkgDepCache::ActionGroup group(Cache);
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if ((Flags[I->ID] & Protected) == Protected)
{
@@ -1396,7 +1469,7 @@ bool ListUpdate(pkgAcquireStatus &Stat,
bool Failed = false;
bool TransientNetworkFailure = false;
for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin();
- I != Fetcher.ItemsEnd(); I++)
+ I != Fetcher.ItemsEnd(); ++I)
{
if ((*I)->Status == pkgAcquire::Item::StatDone)
continue;
diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h
index ebe31cc10..86d5fbd53 100644
--- a/apt-pkg/algorithms.h
+++ b/apt-pkg/algorithms.h
@@ -78,6 +78,9 @@ private:
/*}}}*/
class pkgProblemResolver /*{{{*/
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
pkgDepCache &Cache;
typedef pkgCache::PkgIterator PkgIterator;
typedef pkgCache::VerIterator VerIterator;
@@ -105,7 +108,13 @@ class pkgProblemResolver /*{{{*/
void MakeScores();
bool DoUpgrade(pkgCache::PkgIterator Pkg);
+
+ bool ResolveInternal(bool const BrokenFix = false);
+ bool ResolveByKeepInternal();
+ protected:
+ bool InstOrNewPolicyBroken(pkgCache::PkgIterator Pkg);
+
public:
inline void Protect(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= Protected; Cache.MarkProtected(Pkg);};
diff --git a/apt-pkg/aptconfiguration.cc b/apt-pkg/aptconfiguration.cc
index e8c8e73d0..e1bc94f31 100644
--- a/apt-pkg/aptconfiguration.cc
+++ b/apt-pkg/aptconfiguration.cc
@@ -8,6 +8,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
@@ -53,7 +55,7 @@ const Configuration::getCompressionTypes(bool const &Cached) {
// load the order setting into our vector
std::vector<std::string> const order = _config->FindVector("Acquire::CompressionTypes::Order");
for (std::vector<std::string>::const_iterator o = order.begin();
- o != order.end(); o++) {
+ o != order.end(); ++o) {
if ((*o).empty() == true)
continue;
// ignore types we have no method ready to use
@@ -274,7 +276,7 @@ std::vector<std::string> const Configuration::getLanguages(bool const &All,
// then needed and ensure the codes are not listed twice.
bool noneSeen = false;
for (std::vector<string>::const_iterator l = lang.begin();
- l != lang.end(); l++) {
+ l != lang.end(); ++l) {
if (*l == "environment") {
for (std::vector<string>::const_iterator e = environment.begin();
e != environment.end(); ++e) {
@@ -352,7 +354,7 @@ std::vector<std::string> const Configuration::getArchitectures(bool const &Cache
if (archs.empty() == true ||
std::find(archs.begin(), archs.end(), arch) == archs.end())
- archs.push_back(arch);
+ archs.insert(archs.begin(), arch);
// erase duplicates and empty strings
for (std::vector<string>::reverse_iterator a = archs.rbegin();
diff --git a/apt-pkg/aptconfiguration.h b/apt-pkg/aptconfiguration.h
index 815db6cae..e098d0fd6 100644
--- a/apt-pkg/aptconfiguration.h
+++ b/apt-pkg/aptconfiguration.h
@@ -13,6 +13,7 @@
// Include Files /*{{{*/
#include <string>
#include <vector>
+#include <limits>
/*}}}*/
namespace APT {
class Configuration { /*{{{*/
@@ -36,7 +37,7 @@ public: /*{{{*/
* \param Cached saves the result so we need to calculated it only once
* this parameter should ony be used for testing purposes.
*
- * \return a vector of (all) Language Codes in the prefered usage order
+ * \return a vector of the compression types in the prefered usage order
*/
std::vector<std::string> static const getCompressionTypes(bool const &Cached = true);
@@ -94,7 +95,7 @@ public: /*{{{*/
Compressor(char const *name, char const *extension, char const *binary,
char const *compressArg, char const *uncompressArg,
unsigned short const cost);
- Compressor() {};
+ Compressor() : Cost(std::numeric_limits<unsigned short>::max()) {};
};
/** \brief Return a vector of Compressors supported for data.tar's
diff --git a/apt-pkg/cachefile.cc b/apt-pkg/cachefile.cc
index 964c5bd8b..f38dfc581 100644
--- a/apt-pkg/cachefile.cc
+++ b/apt-pkg/cachefile.cc
@@ -12,6 +12,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/cachefile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/sourcelist.h>
@@ -21,7 +23,7 @@
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/fileutl.h>
-
+
#include <apti18n.h>
/*}}}*/
// CacheFile::CacheFile - Constructor /*{{{*/
@@ -163,6 +165,20 @@ bool pkgCacheFile::Open(OpProgress *Progress, bool WithLock)
return true;
}
/*}}}*/
+// CacheFile::RemoveCaches - remove all cache files from disk /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+void pkgCacheFile::RemoveCaches()
+{
+ std::string const pkgcache = _config->FindFile("Dir::cache::pkgcache");
+ std::string const srcpkgcache = _config->FindFile("Dir::cache::srcpkgcache");
+
+ if (pkgcache.empty() == false && RealFileExists(pkgcache) == true)
+ unlink(pkgcache.c_str());
+ if (srcpkgcache.empty() == false && RealFileExists(srcpkgcache) == true)
+ unlink(srcpkgcache.c_str());
+}
+ /*}}}*/
// CacheFile::Close - close the cache files /*{{{*/
// ---------------------------------------------------------------------
/* */
diff --git a/apt-pkg/cachefile.h b/apt-pkg/cachefile.h
index 09d3ec267..243061f0f 100644
--- a/apt-pkg/cachefile.h
+++ b/apt-pkg/cachefile.h
@@ -25,6 +25,9 @@
class pkgCacheFile
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
protected:
MMap *Map;
@@ -57,6 +60,7 @@ class pkgCacheFile
bool Open(OpProgress *Progress = NULL, bool WithLock = true);
inline bool ReadOnlyOpen(OpProgress *Progress = NULL) { return Open(Progress, false); };
__deprecated bool Open(OpProgress &Progress,bool const &WithLock = true) { return Open(&Progress, WithLock); };
+ static void RemoveCaches();
void Close();
inline pkgCache* GetPkgCache() { BuildCaches(NULL, false); return Cache; };
diff --git a/apt-pkg/cachefilter.cc b/apt-pkg/cachefilter.cc
index 8f0725ea3..210a9a9ab 100644
--- a/apt-pkg/cachefilter.cc
+++ b/apt-pkg/cachefilter.cc
@@ -4,6 +4,8 @@
Collection of functor classes */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/cachefilter.h>
#include <apt-pkg/error.h>
#include <apt-pkg/pkgcache.h>
diff --git a/apt-pkg/cachefilter.h b/apt-pkg/cachefilter.h
index e7ab1723f..5d426008b 100644
--- a/apt-pkg/cachefilter.h
+++ b/apt-pkg/cachefilter.h
@@ -16,6 +16,8 @@ namespace APT {
namespace CacheFilter {
// PackageNameMatchesRegEx /*{{{*/
class PackageNameMatchesRegEx {
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
regex_t* pattern;
public:
PackageNameMatchesRegEx(std::string const &Pattern);
diff --git a/apt-pkg/cacheiterators.h b/apt-pkg/cacheiterators.h
index 0c9813c6d..b97a1a589 100644
--- a/apt-pkg/cacheiterators.h
+++ b/apt-pkg/cacheiterators.h
@@ -206,15 +206,10 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> {
inline const char *VerStr() const {return S->VerStr == 0?0:Owner->StrP + S->VerStr;};
inline const char *Section() const {return S->Section == 0?0:Owner->StrP + S->Section;};
inline const char *Arch() const {
- if (S->MultiArch == pkgCache::Version::All ||
- S->MultiArch == pkgCache::Version::AllForeign ||
- S->MultiArch == pkgCache::Version::AllAllowed)
+ if (S->MultiArch == pkgCache::Version::All)
return "all";
return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
};
- __deprecated inline const char *Arch(bool const pseudo) const {
- return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
- };
inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);};
inline DescIterator DescriptionList() const;
@@ -227,7 +222,6 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> {
string RelStr() const;
bool Automatic() const;
- __deprecated bool Pseudo() const;
VerFileIterator NewestFile() const;
inline VerIterator(pkgCache &Owner,Version *Trg = 0) : Iterator<Version, VerIterator>(Owner, Trg) {
diff --git a/apt-pkg/cacheset.cc b/apt-pkg/cacheset.cc
index a1de613e2..386ecfb5f 100644
--- a/apt-pkg/cacheset.cc
+++ b/apt-pkg/cacheset.cc
@@ -9,6 +9,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/cachefilter.h>
#include <apt-pkg/cacheset.h>
@@ -16,11 +18,11 @@
#include <apt-pkg/strutl.h>
#include <apt-pkg/versionmatch.h>
-#include <apti18n.h>
-
#include <vector>
#include <regex.h>
+
+#include <apti18n.h>
/*}}}*/
namespace APT {
// FromTask - Return all packages in the cache from a specific task /*{{{*/
diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h
index eb4f04d72..061d0a2f4 100644
--- a/apt-pkg/cacheset.h
+++ b/apt-pkg/cacheset.h
@@ -257,7 +257,6 @@ public: /*{{{*/
inline const char *VerStr() const { return (**this).VerStr(); };
inline const char *Section() const { return (**this).Section(); };
inline const char *Arch() const { return (**this).Arch(); };
- __deprecated inline const char *Arch(bool const pseudo) const { return (**this).Arch(); };
inline pkgCache::PkgIterator ParentPkg() const { return (**this).ParentPkg(); };
inline pkgCache::DescIterator DescriptionList() const { return (**this).DescriptionList(); };
inline pkgCache::DescIterator TranslatedDescription() const { return (**this).TranslatedDescription(); };
@@ -268,7 +267,6 @@ public: /*{{{*/
inline const char *PriorityType() const { return (**this).PriorityType(); };
inline string RelStr() const { return (**this).RelStr(); };
inline bool Automatic() const { return (**this).Automatic(); };
- __deprecated inline bool Pseudo() const { return false; };
inline pkgCache::VerFileIterator NewestFile() const { return (**this).NewestFile(); };
};
/*}}}*/
diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc
index 2a914c665..392cd890e 100644
--- a/apt-pkg/cdrom.cc
+++ b/apt-pkg/cdrom.cc
@@ -1,5 +1,6 @@
/*
*/
+#include<config.h>
#include<apt-pkg/init.h>
#include<apt-pkg/error.h>
@@ -10,8 +11,6 @@
#include<sstream>
#include<fstream>
-#include<config.h>
-#include<apti18n.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
@@ -22,6 +21,8 @@
#include "indexcopy.h"
+#include<apti18n.h>
+
using namespace std;
// FindPackages - Find the package files on the CDROM /*{{{*/
@@ -310,7 +311,7 @@ void pkgCdrom::ReduceSourcelist(string CD,vector<string> &List)
sort(List.begin(),List.end());
// Collect similar entries
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
{
// Find a space..
string::size_type Space = (*I).find(' ');
@@ -322,7 +323,7 @@ void pkgCdrom::ReduceSourcelist(string CD,vector<string> &List)
string Word1 = string(*I,Space,SSpace-Space);
string Prefix = string(*I,0,Space);
- for (vector<string>::iterator J = List.begin(); J != I; J++)
+ for (vector<string>::iterator J = List.begin(); J != I; ++J)
{
// Find a space..
string::size_type Space2 = (*J).find(' ');
@@ -405,7 +406,7 @@ bool pkgCdrom::WriteDatabase(Configuration &Cnf)
that were the same. */
bool pkgCdrom::WriteSourceList(string Name,vector<string> &List,bool Source)
{
- if (List.size() == 0)
+ if (List.empty() == true)
return true;
string File = _config->FindFile("Dir::Etc::sourcelist");
@@ -455,7 +456,7 @@ bool pkgCdrom::WriteSourceList(string Name,vector<string> &List,bool Source)
if (First == true)
{
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
{
string::size_type Space = (*I).find(' ');
if (Space == string::npos)
@@ -489,7 +490,7 @@ bool pkgCdrom::WriteSourceList(string Name,vector<string> &List,bool Source)
// Just in case the file was empty
if (First == true)
{
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
{
string::size_type Space = (*I).find(' ');
if (Space == string::npos)
@@ -661,13 +662,13 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/
if (_config->FindB("Debug::aptcdrom",false) == true)
{
cout << "I found (binary):" << endl;
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
cout << *I << endl;
cout << "I found (source):" << endl;
- for (vector<string>::iterator I = SourceList.begin(); I != SourceList.end(); I++)
+ for (vector<string>::iterator I = SourceList.begin(); I != SourceList.end(); ++I)
cout << *I << endl;
cout << "I found (Signatures):" << endl;
- for (vector<string>::iterator I = SigList.begin(); I != SigList.end(); I++)
+ for (vector<string>::iterator I = SigList.begin(); I != SigList.end(); ++I)
cout << *I << endl;
}
@@ -688,7 +689,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/
log->Update(msg.str(), STEP_SCAN);
}
- if (List.size() == 0 && SourceList.size() == 0)
+ if (List.empty() == true && SourceList.empty() == true)
{
if (_config->FindB("APT::CDROM::NoMount",false) == false)
UnmountCdrom(CDROM);
@@ -712,7 +713,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/
{
// Escape special characters
string::iterator J = Name.begin();
- for (; J != Name.end(); J++)
+ for (; J != Name.end(); ++J)
if (*J == '"' || *J == ']' || *J == '[')
*J = '_';
@@ -757,7 +758,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/
// Escape special characters
string::iterator J = Name.begin();
- for (; J != Name.end(); J++)
+ for (; J != Name.end(); ++J)
if (*J == '"' || *J == ']' || *J == '[')
*J = '_';
@@ -804,7 +805,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/
if(log != NULL)
log->Update(_("Source list entries for this disc are:\n"));
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
{
string::size_type Space = (*I).find(' ');
if (Space == string::npos)
@@ -823,7 +824,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/
}
}
- for (vector<string>::iterator I = SourceList.begin(); I != SourceList.end(); I++)
+ for (vector<string>::iterator I = SourceList.begin(); I != SourceList.end(); ++I)
{
string::size_type Space = (*I).find(' ');
if (Space == string::npos)
@@ -874,9 +875,7 @@ pkgUdevCdromDevices::Dlopen() /*{{{*/
libudev_handle = h;
udev_new = (udev* (*)(void)) dlsym(h, "udev_new");
udev_enumerate_add_match_property = (int (*)(udev_enumerate*, const char*, const char*))dlsym(h, "udev_enumerate_add_match_property");
-#if 0 // FIXME: uncomment on next ABI break
udev_enumerate_add_match_sysattr = (int (*)(udev_enumerate*, const char*, const char*))dlsym(h, "udev_enumerate_add_match_sysattr");
-#endif
udev_enumerate_scan_devices = (int (*)(udev_enumerate*))dlsym(h, "udev_enumerate_scan_devices");
udev_enumerate_get_list_entry = (udev_list_entry* (*)(udev_enumerate*))dlsym(h, "udev_enumerate_get_list_entry");
udev_device_new_from_syspath = (udev_device* (*)(udev*, const char*))dlsym(h, "udev_device_new_from_syspath");
@@ -890,10 +889,8 @@ pkgUdevCdromDevices::Dlopen() /*{{{*/
return true;
}
/*}}}*/
-
/*{{{*/
-// compatiblity only with the old API/ABI, can be removed on the next
-// ABI break
+// convenience interface, this will just call ScanForRemovable
vector<CdromDevice>
pkgUdevCdromDevices::Scan()
{
@@ -918,10 +915,6 @@ pkgUdevCdromDevices::ScanForRemovable(bool CdromOnly)
if (CdromOnly)
udev_enumerate_add_match_property(enumerate, "ID_CDROM", "1");
else {
-#if 1 // FIXME: remove the next two lines on the next ABI break
- int (*udev_enumerate_add_match_sysattr)(struct udev_enumerate *udev_enumerate, const char *property, const char *value);
- udev_enumerate_add_match_sysattr = (int (*)(udev_enumerate*, const char*, const char*))dlsym(libudev_handle, "udev_enumerate_add_match_sysattr");
-#endif
udev_enumerate_add_match_sysattr(enumerate, "removable", "1");
}
diff --git a/apt-pkg/cdrom.h b/apt-pkg/cdrom.h
index e83c38582..614062cbb 100644
--- a/apt-pkg/cdrom.h
+++ b/apt-pkg/cdrom.h
@@ -92,9 +92,7 @@ class pkgUdevCdromDevices /*{{{*/
struct udev_enumerate *(*udev_enumerate_new) (struct udev *udev);
struct udev_list_entry *(*udev_list_entry_get_next)(struct udev_list_entry *list_entry);
const char* (*udev_device_get_property_value)(struct udev_device *udev_device, const char *key);
-#if 0 // FIXME: uncomment on next ABI break
int (*udev_enumerate_add_match_sysattr)(struct udev_enumerate *udev_enumerate, const char *property, const char *value);
-#endif
// end libudev dlopen
public:
@@ -104,11 +102,11 @@ class pkgUdevCdromDevices /*{{{*/
// try to open
bool Dlopen();
- // this is the new interface
- vector<CdromDevice> ScanForRemovable(bool CdromOnly);
- // FIXME: compat with the old interface/API/ABI only
+ // convenience interface, this will just call ScanForRemovable
+ // with "APT::cdrom::CdromOnly"
vector<CdromDevice> Scan();
+ vector<CdromDevice> ScanForRemovable(bool CdromOnly);
};
/*}}}*/
diff --git a/apt-pkg/clean.cc b/apt-pkg/clean.cc
index 629afd7cf..1f96e941b 100644
--- a/apt-pkg/clean.cc
+++ b/apt-pkg/clean.cc
@@ -8,17 +8,19 @@
##################################################################### */
/*}}}*/
// Includes /*{{{*/
+#include<config.h>
+
#include <apt-pkg/clean.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/aptconfiguration.h>
-#include <apti18n.h>
-
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
+
+#include <apti18n.h>
/*}}}*/
// ArchiveCleaner::Go - Perform smart cleanup of the archive /*{{{*/
// ---------------------------------------------------------------------
@@ -85,12 +87,12 @@ bool pkgArchiveCleaner::Go(string Dir,pkgCache &Cache)
if (P.end() != true)
{
pkgCache::VerIterator V = P.VersionList();
- for (; V.end() == false; V++)
+ for (; V.end() == false; ++V)
{
// See if we can fetch this version at all
bool IsFetchable = false;
for (pkgCache::VerFileIterator J = V.FileList();
- J.end() == false; J++)
+ J.end() == false; ++J)
{
if (CleanInstalled == true &&
(J.File()->Flags & pkgCache::Flag::NotSource) != 0)
diff --git a/apt-pkg/clean.h b/apt-pkg/clean.h
index 2aee2bf54..1ebf68dc9 100644
--- a/apt-pkg/clean.h
+++ b/apt-pkg/clean.h
@@ -15,6 +15,9 @@
class pkgArchiveCleaner
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
protected:
virtual void Erase(const char * /*File*/,string /*Pkg*/,string /*Ver*/,struct stat & /*St*/) {};
diff --git a/apt-pkg/contrib/cdromutl.cc b/apt-pkg/contrib/cdromutl.cc
index 821e6d688..9de795b60 100644
--- a/apt-pkg/contrib/cdromutl.cc
+++ b/apt-pkg/contrib/cdromutl.cc
@@ -10,6 +10,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/cdromutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/md5.h>
@@ -17,8 +19,6 @@
#include <apt-pkg/configuration.h>
#include <apt-pkg/strutl.h>
-#include <apti18n.h>
-
#include <sys/wait.h>
#include <sys/statvfs.h>
#include <dirent.h>
@@ -26,6 +26,8 @@
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
+
+#include <apti18n.h>
/*}}}*/
// IsMounted - Returns true if the mount point is mounted /*{{{*/
@@ -258,7 +260,9 @@ string FindMountPointForDevice(const char *devnode)
if(TokSplitString(' ', buf, out, 10))
{
fclose(f);
- return string(out[1]);
+ // unescape the \0XXX chars in the path
+ string mount_point = out[1];
+ return DeEscapeString(mount_point);
}
}
}
diff --git a/apt-pkg/contrib/cmndline.cc b/apt-pkg/contrib/cmndline.cc
index 5a9944096..34e90da20 100644
--- a/apt-pkg/contrib/cmndline.cc
+++ b/apt-pkg/contrib/cmndline.cc
@@ -11,11 +11,13 @@
##################################################################### */
/*}}}*/
// Include files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/cmndline.h>
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
-#include <apti18n.h>
+#include <apti18n.h>
/*}}}*/
using namespace std;
diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc
index cc7093fe2..0f7b37ee9 100644
--- a/apt-pkg/contrib/configuration.cc
+++ b/apt-pkg/contrib/configuration.cc
@@ -15,16 +15,19 @@
##################################################################### */
/*}}}*/
// Include files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/fileutl.h>
-#include <apti18n.h>
#include <vector>
#include <fstream>
#include <iostream>
+#include <apti18n.h>
+
using namespace std;
/*}}}*/
@@ -318,6 +321,19 @@ void Configuration::CndSet(const char *Name,const string &Value)
Itm->Value = Value;
}
/*}}}*/
+// Configuration::Set - Set an integer value /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+void Configuration::CndSet(const char *Name,int const Value)
+{
+ Item *Itm = Lookup(Name,true);
+ if (Itm == 0 || Itm->Value.empty() == false)
+ return;
+ char S[300];
+ snprintf(S,sizeof(S),"%i",Value);
+ Itm->Value = S;
+}
+ /*}}}*/
// Configuration::Set - Set a value /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -659,9 +675,9 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool const &AsSectio
// Put the last fragment into the buffer
std::string::const_iterator NonWhitespaceStart = Start;
std::string::const_iterator NonWhitespaceStop = I;
- for (; NonWhitespaceStart != I && isspace(*NonWhitespaceStart) != 0; NonWhitespaceStart++)
+ for (; NonWhitespaceStart != I && isspace(*NonWhitespaceStart) != 0; ++NonWhitespaceStart)
;
- for (; NonWhitespaceStop != NonWhitespaceStart && isspace(NonWhitespaceStop[-1]) != 0; NonWhitespaceStop--)
+ for (; NonWhitespaceStop != NonWhitespaceStart && isspace(NonWhitespaceStop[-1]) != 0; --NonWhitespaceStop)
;
if (LineBuffer.empty() == false && NonWhitespaceStop - NonWhitespaceStart != 0)
LineBuffer += ' ';
@@ -837,7 +853,7 @@ bool ReadConfigDir(Configuration &Conf,const string &Dir,
vector<string> const List = GetListOfFilesInDir(Dir, "conf", true, true);
// Read the files
- for (vector<string>::const_iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I)
if (ReadConfigFile(Conf,*I,AsSectional,Depth) == false)
return false;
return true;
diff --git a/apt-pkg/contrib/configuration.h b/apt-pkg/contrib/configuration.h
index 71e5a0e47..2844ec097 100644
--- a/apt-pkg/contrib/configuration.h
+++ b/apt-pkg/contrib/configuration.h
@@ -82,6 +82,7 @@ class Configuration
inline void Set(const string &Name,const string &Value) {Set(Name.c_str(),Value);};
void CndSet(const char *Name,const string &Value);
+ void CndSet(const char *Name,const int Value);
void Set(const char *Name,const string &Value);
void Set(const char *Name,const int &Value);
diff --git a/apt-pkg/contrib/crc-16.cc b/apt-pkg/contrib/crc-16.cc
index b300ed67e..4058821f9 100644
--- a/apt-pkg/contrib/crc-16.cc
+++ b/apt-pkg/contrib/crc-16.cc
@@ -15,6 +15,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/crc-16.h>
/*}}}*/
@@ -63,7 +65,7 @@ static unsigned short const crc16_table[256] =
/* Recompute the FCS with one more character appended. */
#define CalcFCS(fcs, c) (((fcs) >> 8) ^ crc16_table[((fcs) ^ (c)) & 0xff])
unsigned short AddCRC16(unsigned short fcs, void const *Buf,
- unsigned long len)
+ unsigned long long len)
{
unsigned char const *buf = (unsigned char const *)Buf;
while (len--)
diff --git a/apt-pkg/contrib/crc-16.h b/apt-pkg/contrib/crc-16.h
index f30678bac..702de40b2 100644
--- a/apt-pkg/contrib/crc-16.h
+++ b/apt-pkg/contrib/crc-16.h
@@ -12,6 +12,6 @@
#define INIT_FCS 0xffff
unsigned short AddCRC16(unsigned short fcs, void const *buf,
- unsigned long len);
+ unsigned long long len);
#endif
diff --git a/apt-pkg/contrib/error.cc b/apt-pkg/contrib/error.cc
index 18810d2a4..122e2c809 100644
--- a/apt-pkg/contrib/error.cc
+++ b/apt-pkg/contrib/error.cc
@@ -13,6 +13,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/error.h>
#include <iostream>
@@ -24,8 +26,7 @@
#include <string>
#include <cstring>
-#include "config.h"
- /*}}}*/
+ /*}}}*/
// Global Error Object /*{{{*/
/* If the implementation supports posix threads then the accessor function
@@ -193,7 +194,7 @@ bool GlobalError::PopMessage(std::string &Text) {
// check if another error message is pending
for (std::list<Item>::const_iterator m = Messages.begin();
- m != Messages.end(); m++)
+ m != Messages.end(); ++m)
if (m->Type == ERROR || m->Type == FATAL)
return Ret;
@@ -210,7 +211,7 @@ void GlobalError::DumpErrors(std::ostream &out, MsgType const &threshold,
Messages.insert(Messages.begin(), s->Messages.begin(), s->Messages.end());
for (std::list<Item>::const_iterator m = Messages.begin();
- m != Messages.end(); m++)
+ m != Messages.end(); ++m)
if (m->Type >= threshold)
out << (*m) << std::endl;
Discard();
@@ -231,7 +232,7 @@ bool GlobalError::empty(MsgType const &trashhold) const {
return true;
for (std::list<Item>::const_iterator m = Messages.begin();
- m != Messages.end(); m++)
+ m != Messages.end(); ++m)
if (m->Type >= trashhold)
return false;
diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc
index 50019872e..95058cbde 100644
--- a/apt-pkg/contrib/fileutl.cc
+++ b/apt-pkg/contrib/fileutl.cc
@@ -18,14 +18,14 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/sptr.h>
#include <apt-pkg/configuration.h>
-#include <apti18n.h>
-
#include <cstdlib>
#include <cstring>
#include <cstdio>
@@ -43,10 +43,11 @@
#include <set>
#include <algorithm>
-#include <config.h>
#ifdef WORDS_BIGENDIAN
#include <inttypes.h>
#endif
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -132,10 +133,10 @@ bool CopyFile(FileFd &From,FileFd &To)
// Buffered copy between fds
SPtrArray<unsigned char> Buf = new unsigned char[64000];
- unsigned long Size = From.Size();
+ unsigned long long Size = From.Size();
while (Size != 0)
{
- unsigned long ToRead = Size;
+ unsigned long long ToRead = Size;
if (Size > 64000)
ToRead = 64000;
@@ -446,6 +447,17 @@ string SafeGetCWD()
return S;
}
/*}}}*/
+// GetModificationTime - Get the mtime of the given file or -1 on error /*{{{*/
+// ---------------------------------------------------------------------
+/* We return / on failure. */
+time_t GetModificationTime(string const &Path)
+{
+ struct stat St;
+ if (stat(Path.c_str(), &St) < 0)
+ return -1;
+ return St.st_mtime;
+}
+ /*}}}*/
// flNotDir - Strip the directory from the filename /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -799,7 +811,7 @@ FileFd::~FileFd()
// ---------------------------------------------------------------------
/* We are carefull to handle interruption by a signal while reading
gracefully. */
-bool FileFd::Read(void *To,unsigned long Size,unsigned long *Actual)
+bool FileFd::Read(void *To,unsigned long long Size,unsigned long long *Actual)
{
int Res;
errno = 0;
@@ -838,13 +850,13 @@ bool FileFd::Read(void *To,unsigned long Size,unsigned long *Actual)
}
Flags |= Fail;
- return _error->Error(_("read, still have %lu to read but none left"),Size);
+ return _error->Error(_("read, still have %llu to read but none left"), Size);
}
/*}}}*/
// FileFd::Write - Write to the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool FileFd::Write(const void *From,unsigned long Size)
+bool FileFd::Write(const void *From,unsigned long long Size)
{
int Res;
errno = 0;
@@ -871,13 +883,13 @@ bool FileFd::Write(const void *From,unsigned long Size)
return true;
Flags |= Fail;
- return _error->Error(_("write, still have %lu to write but couldn't"),Size);
+ return _error->Error(_("write, still have %llu to write but couldn't"), Size);
}
/*}}}*/
// FileFd::Seek - Seek in the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool FileFd::Seek(unsigned long To)
+bool FileFd::Seek(unsigned long long To)
{
int res;
if (gz)
@@ -887,7 +899,7 @@ bool FileFd::Seek(unsigned long To)
if (res != (signed)To)
{
Flags |= Fail;
- return _error->Error("Unable to seek to %lu",To);
+ return _error->Error("Unable to seek to %llu", To);
}
return true;
@@ -896,7 +908,7 @@ bool FileFd::Seek(unsigned long To)
// FileFd::Skip - Seek in the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool FileFd::Skip(unsigned long Over)
+bool FileFd::Skip(unsigned long long Over)
{
int res;
if (gz)
@@ -906,7 +918,7 @@ bool FileFd::Skip(unsigned long Over)
if (res < 0)
{
Flags |= Fail;
- return _error->Error("Unable to seek ahead %lu",Over);
+ return _error->Error("Unable to seek ahead %llu",Over);
}
return true;
@@ -915,7 +927,7 @@ bool FileFd::Skip(unsigned long Over)
// FileFd::Truncate - Truncate the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool FileFd::Truncate(unsigned long To)
+bool FileFd::Truncate(unsigned long long To)
{
if (gz)
{
@@ -925,7 +937,7 @@ bool FileFd::Truncate(unsigned long To)
if (ftruncate(iFd,To) != 0)
{
Flags |= Fail;
- return _error->Error("Unable to truncate to %lu",To);
+ return _error->Error("Unable to truncate to %llu",To);
}
return true;
@@ -934,7 +946,7 @@ bool FileFd::Truncate(unsigned long To)
// FileFd::Tell - Current seek position /*{{{*/
// ---------------------------------------------------------------------
/* */
-unsigned long FileFd::Tell()
+unsigned long long FileFd::Tell()
{
off_t Res;
if (gz)
@@ -949,7 +961,7 @@ unsigned long FileFd::Tell()
// FileFd::FileSize - Return the size of the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-unsigned long FileFd::FileSize()
+unsigned long long FileFd::FileSize()
{
struct stat Buf;
@@ -961,9 +973,9 @@ unsigned long FileFd::FileSize()
// FileFd::Size - Return the size of the content in the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-unsigned long FileFd::Size()
+unsigned long long FileFd::Size()
{
- unsigned long size = FileSize();
+ unsigned long long size = FileSize();
// only check gzsize if we are actually a gzip file, just checking for
// "gz" is not sufficient as uncompressed files will be opened with
@@ -973,6 +985,7 @@ unsigned long FileFd::Size()
/* unfortunately zlib.h doesn't provide a gzsize(), so we have to do
* this ourselves; the original (uncompressed) file size is the last 32
* bits of the file */
+ // FIXME: Size for gz-files is limited by 32bit… no largefile support
off_t orig_pos = lseek(iFd, 0, SEEK_CUR);
if (lseek(iFd, -4, SEEK_END) < 0)
return _error->Errno("lseek","Unable to seek to end of gzipped file");
diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h
index cde288ad2..973a38cff 100644
--- a/apt-pkg/contrib/fileutl.h
+++ b/apt-pkg/contrib/fileutl.h
@@ -49,21 +49,36 @@ class FileFd
enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny,WriteTemp,ReadOnlyGzip,
WriteAtomic};
- inline bool Read(void *To,unsigned long Size,bool AllowEof)
+ inline bool Read(void *To,unsigned long long Size,bool AllowEof)
{
- unsigned long Jnk;
+ unsigned long long Jnk;
if (AllowEof)
return Read(To,Size,&Jnk);
return Read(To,Size);
}
- bool Read(void *To,unsigned long Size,unsigned long *Actual = 0);
- bool Write(const void *From,unsigned long Size);
- bool Seek(unsigned long To);
- bool Skip(unsigned long To);
- bool Truncate(unsigned long To);
- unsigned long Tell();
- unsigned long Size();
- unsigned long FileSize();
+ bool Read(void *To,unsigned long long Size,unsigned long long *Actual = 0);
+ bool Write(const void *From,unsigned long long Size);
+ bool Seek(unsigned long long To);
+ bool Skip(unsigned long long To);
+ bool Truncate(unsigned long long To);
+ unsigned long long Tell();
+ unsigned long long Size();
+ unsigned long long FileSize();
+
+ /* You want to use 'unsigned long long' if you are talking about a file
+ to be able to support large files (>2 or >4 GB) properly.
+ This shouldn't happen all to often for the indexes, but deb's might be…
+ And as the auto-conversation converts a 'unsigned long *' to a 'bool'
+ instead of 'unsigned long long *' we need to provide this explicitely -
+ otherwise applications magically start to fail… */
+ __deprecated bool Read(void *To,unsigned long long Size,unsigned long *Actual)
+ {
+ unsigned long long R;
+ bool const T = Read(To, Size, &R);
+ *Actual = R;
+ return T;
+ }
+
bool Open(string FileName,OpenMode Mode,unsigned long Perms = 0666);
bool OpenDescriptor(int Fd, OpenMode Mode, bool AutoClose=false);
bool Close();
@@ -97,6 +112,7 @@ bool FileExists(string File);
bool RealFileExists(string File);
bool DirectoryExists(string const &Path) __attrib_const;
bool CreateDirectory(string const &Parent, string const &Path);
+time_t GetModificationTime(string const &Path);
/** \brief Ensure the existence of the given Path
*
diff --git a/apt-pkg/contrib/hashes.cc b/apt-pkg/contrib/hashes.cc
index 985d89d90..fd76bf229 100644
--- a/apt-pkg/contrib/hashes.cc
+++ b/apt-pkg/contrib/hashes.cc
@@ -11,19 +11,21 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/hashes.h>
#include <apt-pkg/fileutl.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/macros.h>
-#include <unistd.h>
+#include <unistd.h>
#include <string>
#include <iostream>
/*}}}*/
const char* HashString::_SupportedHashes[] =
{
- "SHA256", "SHA1", "MD5Sum", NULL
+ "SHA512", "SHA256", "SHA1", "MD5Sum", NULL
};
HashString::HashString()
@@ -53,28 +55,33 @@ HashString::HashString(string StringedHash) /*{{{*/
/*}}}*/
bool HashString::VerifyFile(string filename) const /*{{{*/
{
- FileFd fd;
- MD5Summation MD5;
- SHA1Summation SHA1;
- SHA256Summation SHA256;
string fileHash;
FileFd Fd(filename, FileFd::ReadOnly);
- if(Type == "MD5Sum")
+ if(Type == "MD5Sum")
{
+ MD5Summation MD5;
MD5.AddFD(Fd.Fd(), Fd.Size());
fileHash = (string)MD5.Result();
- }
+ }
else if (Type == "SHA1")
{
+ SHA1Summation SHA1;
SHA1.AddFD(Fd.Fd(), Fd.Size());
fileHash = (string)SHA1.Result();
- }
- else if (Type == "SHA256")
+ }
+ else if (Type == "SHA256")
{
+ SHA256Summation SHA256;
SHA256.AddFD(Fd.Fd(), Fd.Size());
fileHash = (string)SHA256.Result();
}
+ else if (Type == "SHA512")
+ {
+ SHA512Summation SHA512;
+ SHA512.AddFD(Fd.Fd(), Fd.Size());
+ fileHash = (string)SHA512.Result();
+ }
Fd.Close();
if(_config->FindB("Debug::Hashes",false) == true)
@@ -101,24 +108,30 @@ string HashString::toStr() const
// Hashes::AddFD - Add the contents of the FD /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool Hashes::AddFD(int Fd,unsigned long Size)
+bool Hashes::AddFD(int const Fd,unsigned long long Size, bool const addMD5,
+ bool const addSHA1, bool const addSHA256, bool const addSHA512)
{
unsigned char Buf[64*64];
- int Res = 0;
+ ssize_t Res = 0;
int ToEOF = (Size == 0);
while (Size != 0 || ToEOF)
{
- unsigned n = sizeof(Buf);
- if (!ToEOF) n = min(Size,(unsigned long)n);
+ unsigned long long n = sizeof(Buf);
+ if (!ToEOF) n = min(Size, n);
Res = read(Fd,Buf,n);
- if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read
- return false;
+ if (Res < 0 || (!ToEOF && Res != (ssize_t) n)) // error, or short read
+ return false;
if (ToEOF && Res == 0) // EOF
- break;
+ break;
Size -= Res;
- MD5.Add(Buf,Res);
- SHA1.Add(Buf,Res);
- SHA256.Add(Buf,Res);
+ if (addMD5 == true)
+ MD5.Add(Buf,Res);
+ if (addSHA1 == true)
+ SHA1.Add(Buf,Res);
+ if (addSHA256 == true)
+ SHA256.Add(Buf,Res);
+ if (addSHA512 == true)
+ SHA512.Add(Buf,Res);
}
return true;
}
diff --git a/apt-pkg/contrib/hashes.h b/apt-pkg/contrib/hashes.h
index 264f7fe90..40c2ad064 100644
--- a/apt-pkg/contrib/hashes.h
+++ b/apt-pkg/contrib/hashes.h
@@ -16,7 +16,7 @@
#include <apt-pkg/md5.h>
#include <apt-pkg/sha1.h>
-#include <apt-pkg/sha256.h>
+#include <apt-pkg/sha2.h>
#include <algorithm>
#include <vector>
@@ -60,13 +60,17 @@ class Hashes
MD5Summation MD5;
SHA1Summation SHA1;
SHA256Summation SHA256;
+ SHA512Summation SHA512;
- inline bool Add(const unsigned char *Data,unsigned long Size)
+ inline bool Add(const unsigned char *Data,unsigned long long Size)
{
- return MD5.Add(Data,Size) && SHA1.Add(Data,Size) && SHA256.Add(Data,Size);
+ return MD5.Add(Data,Size) && SHA1.Add(Data,Size) && SHA256.Add(Data,Size) && SHA512.Add(Data,Size);
};
inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));};
- bool AddFD(int Fd,unsigned long Size);
+ inline bool AddFD(int const Fd,unsigned long long Size = 0)
+ { return AddFD(Fd, Size, true, true, true, true); };
+ bool AddFD(int const Fd, unsigned long long Size, bool const addMD5,
+ bool const addSHA1, bool const addSHA256, bool const addSHA512);
inline bool Add(const unsigned char *Beg,const unsigned char *End)
{return Add(Beg,End-Beg);};
};
diff --git a/apt-pkg/contrib/hashsum.cc b/apt-pkg/contrib/hashsum.cc
new file mode 100644
index 000000000..0edcbb364
--- /dev/null
+++ b/apt-pkg/contrib/hashsum.cc
@@ -0,0 +1,28 @@
+// Cryptographic API Base
+#include <config.h>
+
+#include <unistd.h>
+#include "hashsum_template.h"
+
+// Summation::AddFD - Add content of file into the checksum /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool SummationImplementation::AddFD(int const Fd, unsigned long long Size) {
+ unsigned char Buf[64 * 64];
+ ssize_t Res = 0;
+ int ToEOF = (Size == 0);
+ while (Size != 0 || ToEOF)
+ {
+ unsigned long long n = sizeof(Buf);
+ if (!ToEOF) n = min(Size, n);
+ Res = read(Fd, Buf, n);
+ if (Res < 0 || (!ToEOF && Res != (ssize_t) n)) // error, or short read
+ return false;
+ if (ToEOF && Res == 0) // EOF
+ break;
+ Size -= Res;
+ Add(Buf,Res);
+ }
+ return true;
+}
+ /*}}}*/
diff --git a/apt-pkg/contrib/hashsum_template.h b/apt-pkg/contrib/hashsum_template.h
new file mode 100644
index 000000000..9157754e3
--- /dev/null
+++ b/apt-pkg/contrib/hashsum_template.h
@@ -0,0 +1,107 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+// $Id: hashsum_template.h,v 1.3 2001/05/07 05:05:47 jgg Exp $
+/* ######################################################################
+
+ HashSumValueTemplate - Generic Storage for a hash value
+
+ ##################################################################### */
+ /*}}}*/
+#ifndef APTPKG_HASHSUM_TEMPLATE_H
+#define APTPKG_HASHSUM_TEMPLATE_H
+
+#include <string>
+#include <cstring>
+#include <algorithm>
+#include <stdint.h>
+
+using std::string;
+using std::min;
+
+template<int N>
+class HashSumValue
+{
+ unsigned char Sum[N/8];
+
+ public:
+
+ // Accessors
+ bool operator ==(const HashSumValue &rhs) const
+ {
+ return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0;
+ };
+
+ string Value() const
+ {
+ char Conv[16] =
+ { '0','1','2','3','4','5','6','7','8','9','a','b',
+ 'c','d','e','f'
+ };
+ char Result[((N/8)*2)+1];
+ Result[(N/8)*2] = 0;
+
+ // Convert each char into two letters
+ int J = 0;
+ int I = 0;
+ for (; I != (N/8)*2; J++,I += 2)
+ {
+ Result[I] = Conv[Sum[J] >> 4];
+ Result[I + 1] = Conv[Sum[J] & 0xF];
+ }
+ return string(Result);
+ };
+
+ inline void Value(unsigned char S[N/8])
+ {
+ for (int I = 0; I != sizeof(Sum); I++)
+ S[I] = Sum[I];
+ };
+
+ inline operator string() const
+ {
+ return Value();
+ };
+
+ bool Set(string Str)
+ {
+ return Hex2Num(Str,Sum,sizeof(Sum));
+ };
+
+ inline void Set(unsigned char S[N/8])
+ {
+ for (int I = 0; I != sizeof(Sum); I++)
+ Sum[I] = S[I];
+ };
+
+ HashSumValue(string Str)
+ {
+ memset(Sum,0,sizeof(Sum));
+ Set(Str);
+ }
+ HashSumValue()
+ {
+ memset(Sum,0,sizeof(Sum));
+ }
+};
+
+class SummationImplementation
+{
+ public:
+ virtual bool Add(const unsigned char *inbuf, unsigned long long inlen) = 0;
+ inline bool Add(const char *inbuf, unsigned long long const inlen)
+ { return Add((unsigned char *)inbuf, inlen); };
+
+ inline bool Add(const unsigned char *Data)
+ { return Add(Data, strlen((const char *)Data)); };
+ inline bool Add(const char *Data)
+ { return Add((const unsigned char *)Data, strlen((const char *)Data)); };
+
+ inline bool Add(const unsigned char *Beg, const unsigned char *End)
+ { return Add(Beg, End - Beg); };
+ inline bool Add(const char *Beg, const char *End)
+ { return Add((const unsigned char *)Beg, End - Beg); };
+
+ bool AddFD(int Fd, unsigned long long Size = 0);
+};
+
+#endif
diff --git a/apt-pkg/contrib/md5.cc b/apt-pkg/contrib/md5.cc
index c0fa8493d..4351aeb22 100644
--- a/apt-pkg/contrib/md5.cc
+++ b/apt-pkg/contrib/md5.cc
@@ -35,6 +35,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/md5.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/macros.h>
@@ -43,7 +45,6 @@
#include <unistd.h>
#include <netinet/in.h> // For htonl
#include <inttypes.h>
-#include <config.h>
/*}}}*/
// byteSwap - Swap bytes in a buffer /*{{{*/
@@ -165,61 +166,6 @@ static void MD5Transform(uint32_t buf[4], uint32_t const in[16])
buf[3] += d;
}
/*}}}*/
-// MD5SumValue::MD5SumValue - Constructs the summation from a string /*{{{*/
-// ---------------------------------------------------------------------
-/* The string form of a MD5 is a 32 character hex number */
-MD5SumValue::MD5SumValue(string Str)
-{
- memset(Sum,0,sizeof(Sum));
- Set(Str);
-}
- /*}}}*/
-// MD5SumValue::MD5SumValue - Default constructor /*{{{*/
-// ---------------------------------------------------------------------
-/* Sets the value to 0 */
-MD5SumValue::MD5SumValue()
-{
- memset(Sum,0,sizeof(Sum));
-}
- /*}}}*/
-// MD5SumValue::Set - Set the sum from a string /*{{{*/
-// ---------------------------------------------------------------------
-/* Converts the hex string into a set of chars */
-bool MD5SumValue::Set(string Str)
-{
- return Hex2Num(Str,Sum,sizeof(Sum));
-}
- /*}}}*/
-// MD5SumValue::Value - Convert the number into a string /*{{{*/
-// ---------------------------------------------------------------------
-/* Converts the set of chars into a hex string in lower case */
-string MD5SumValue::Value() const
-{
- char Conv[16] = {'0','1','2','3','4','5','6','7','8','9','a','b',
- 'c','d','e','f'};
- char Result[33];
- Result[32] = 0;
-
- // Convert each char into two letters
- int J = 0;
- int I = 0;
- for (; I != 32; J++, I += 2)
- {
- Result[I] = Conv[Sum[J] >> 4];
- Result[I + 1] = Conv[Sum[J] & 0xF];
- }
-
- return string(Result);
-}
- /*}}}*/
-// MD5SumValue::operator == - Comparitor /*{{{*/
-// ---------------------------------------------------------------------
-/* Call memcmp on the buffer */
-bool MD5SumValue::operator ==(const MD5SumValue &rhs) const
-{
- return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0;
-}
- /*}}}*/
// MD5Summation::MD5Summation - Initialize the summer /*{{{*/
// ---------------------------------------------------------------------
/* This assigns the deep magic initial values */
@@ -241,7 +187,7 @@ MD5Summation::MD5Summation()
// MD5Summation::Add - 'Add' a data set to the hash /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool MD5Summation::Add(const unsigned char *data,unsigned long len)
+bool MD5Summation::Add(const unsigned char *data,unsigned long long len)
{
if (Done == true)
return false;
@@ -286,29 +232,6 @@ bool MD5Summation::Add(const unsigned char *data,unsigned long len)
return true;
}
/*}}}*/
-// MD5Summation::AddFD - Add the contents of a FD to the hash /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-bool MD5Summation::AddFD(int Fd,unsigned long Size)
-{
- unsigned char Buf[64*64];
- int Res = 0;
- int ToEOF = (Size == 0);
- while (Size != 0 || ToEOF)
- {
- unsigned n = sizeof(Buf);
- if (!ToEOF) n = min(Size,(unsigned long)n);
- Res = read(Fd,Buf,n);
- if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read
- return false;
- if (ToEOF && Res == 0) // EOF
- break;
- Size -= Res;
- Add(Buf,Res);
- }
- return true;
-}
- /*}}}*/
// MD5Summation::Result - Returns the value of the sum /*{{{*/
// ---------------------------------------------------------------------
/* Because this must add in the last bytes of the series it prevents anyone
@@ -353,7 +276,7 @@ MD5SumValue MD5Summation::Result()
}
MD5SumValue V;
- memcpy(V.Sum,buf,16);
+ V.Set((unsigned char *)buf);
return V;
}
/*}}}*/
diff --git a/apt-pkg/contrib/md5.h b/apt-pkg/contrib/md5.h
index 96c8975b4..305cdb20d 100644
--- a/apt-pkg/contrib/md5.h
+++ b/apt-pkg/contrib/md5.h
@@ -32,45 +32,24 @@
using std::string;
using std::min;
-class MD5Summation;
+#include "hashsum_template.h"
-class MD5SumValue
-{
- friend class MD5Summation;
- unsigned char Sum[4*4];
-
- public:
-
- // Accessors
- bool operator ==(const MD5SumValue &rhs) const;
- string Value() const;
- inline void Value(unsigned char S[16])
- {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];};
- inline operator string() const {return Value();};
- bool Set(string Str);
- inline void Set(unsigned char S[16])
- {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];};
-
- MD5SumValue(string Str);
- MD5SumValue();
-};
+typedef HashSumValue<128> MD5SumValue;
-class MD5Summation
+class MD5Summation : public SummationImplementation
{
uint32_t Buf[4];
unsigned char Bytes[2*4];
unsigned char In[16*4];
bool Done;
-
+
public:
- bool Add(const unsigned char *Data,unsigned long Size);
- inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));};
- bool AddFD(int Fd,unsigned long Size);
- inline bool Add(const unsigned char *Beg,const unsigned char *End)
- {return Add(Beg,End-Beg);};
+ bool Add(const unsigned char *inbuf, unsigned long long inlen);
+ using SummationImplementation::Add;
+
MD5SumValue Result();
-
+
MD5Summation();
};
diff --git a/apt-pkg/contrib/mmap.cc b/apt-pkg/contrib/mmap.cc
index 19381ae47..a110a7019 100644
--- a/apt-pkg/contrib/mmap.cc
+++ b/apt-pkg/contrib/mmap.cc
@@ -17,20 +17,21 @@
/*}}}*/
// Include Files /*{{{*/
#define _BSD_SOURCE
+#include <config.h>
+
#include <apt-pkg/mmap.h>
#include <apt-pkg/error.h>
-#include <apti18n.h>
-
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <errno.h>
-
#include <cstring>
- /*}}}*/
+
+#include <apti18n.h>
+ /*}}}*/
// MMap::MMap - Constructor /*{{{*/
// ---------------------------------------------------------------------
@@ -94,7 +95,7 @@ bool MMap::Map(FileFd &Fd)
return false;
}
else
- return _error->Errno("mmap",_("Couldn't make mmap of %lu bytes"),
+ return _error->Errno("mmap",_("Couldn't make mmap of %llu bytes"),
iSize);
}
@@ -165,7 +166,7 @@ bool MMap::Sync(unsigned long Start,unsigned long Stop)
return true;
#ifdef _POSIX_SYNCHRONIZED_IO
- unsigned long PSize = sysconf(_SC_PAGESIZE);
+ unsigned long long PSize = sysconf(_SC_PAGESIZE);
if ((Flags & ReadOnly) != ReadOnly)
{
if (SyncToFd != 0)
@@ -176,7 +177,7 @@ bool MMap::Sync(unsigned long Start,unsigned long Stop)
}
else
{
- if (msync((char *)Base+(int)(Start/PSize)*PSize,Stop - Start,MS_SYNC) < 0)
+ if (msync((char *)Base+(unsigned long long)(Start/PSize)*PSize,Stop - Start,MS_SYNC) < 0)
return _error->Errno("msync", _("Unable to synchronize mmap"));
}
}
@@ -196,7 +197,7 @@ DynamicMMap::DynamicMMap(FileFd &F,unsigned long Flags,unsigned long const &Work
if (_error->PendingError() == true)
return;
- unsigned long EndOfFile = Fd->Size();
+ unsigned long long EndOfFile = Fd->Size();
if (EndOfFile > WorkSpace)
WorkSpace = EndOfFile;
else if(WorkSpace > 0)
@@ -284,7 +285,7 @@ DynamicMMap::~DynamicMMap()
return;
}
- unsigned long EndOfFile = iSize;
+ unsigned long long EndOfFile = iSize;
iSize = WorkSpace;
Close(false);
if(ftruncate(Fd->Fd(),EndOfFile) < 0)
@@ -294,9 +295,9 @@ DynamicMMap::~DynamicMMap()
// DynamicMMap::RawAllocate - Allocate a raw chunk of unaligned space /*{{{*/
// ---------------------------------------------------------------------
/* This allocates a block of memory aligned to the given size */
-unsigned long DynamicMMap::RawAllocate(unsigned long Size,unsigned long Aln)
+unsigned long DynamicMMap::RawAllocate(unsigned long long Size,unsigned long Aln)
{
- unsigned long Result = iSize;
+ unsigned long long Result = iSize;
if (Aln != 0)
Result += Aln - (iSize%Aln);
@@ -411,7 +412,7 @@ bool DynamicMMap::Grow() {
if (GrowFactor <= 0)
return _error->Error(_("Unable to increase size of the MMap as automatic growing is disabled by user."));
- unsigned long const newSize = WorkSpace + GrowFactor;
+ unsigned long long const newSize = WorkSpace + GrowFactor;
if(Fd != 0) {
Fd->Seek(newSize - 1);
diff --git a/apt-pkg/contrib/mmap.h b/apt-pkg/contrib/mmap.h
index 2bf2c1540..e0ff8db95 100644
--- a/apt-pkg/contrib/mmap.h
+++ b/apt-pkg/contrib/mmap.h
@@ -41,7 +41,7 @@ class MMap
protected:
unsigned long Flags;
- unsigned long iSize;
+ unsigned long long iSize;
void *Base;
// In case mmap can not be used, we keep a dup of the file
@@ -60,8 +60,8 @@ class MMap
// Simple accessors
inline operator void *() {return Base;};
inline void *Data() {return Base;};
- inline unsigned long Size() {return iSize;};
- inline void AddSize(unsigned long const size) {iSize += size;};
+ inline unsigned long long Size() {return iSize;};
+ inline void AddSize(unsigned long long const size) {iSize += size;};
inline bool validData() const { return Base != (void *)-1 && Base != 0; };
// File manipulators
@@ -99,7 +99,7 @@ class DynamicMMap : public MMap
public:
// Allocation
- unsigned long RawAllocate(unsigned long Size,unsigned long Aln = 0);
+ unsigned long RawAllocate(unsigned long long Size,unsigned long Aln = 0);
unsigned long Allocate(unsigned long ItemSize);
unsigned long WriteString(const char *String,unsigned long Len = (unsigned long)-1);
inline unsigned long WriteString(const string &S) {return WriteString(S.c_str(),S.length());};
diff --git a/apt-pkg/contrib/netrc.cc b/apt-pkg/contrib/netrc.cc
index 34f472ee1..b9d0749e2 100644
--- a/apt-pkg/contrib/netrc.cc
+++ b/apt-pkg/contrib/netrc.cc
@@ -11,6 +11,7 @@
##################################################################### */
/*}}}*/
+#include <config.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/fileutl.h>
@@ -47,10 +48,7 @@ int parsenetrc (char *host, char *login, char *password, char *netrcfile = NULL)
int specific_login = (login[0] != 0);
char *home = NULL;
bool netrc_alloc = false;
- int state = NOTHING;
- char state_login = 0; /* Found a login keyword */
- char state_password = 0; /* Found a password keyword */
int state_our_login = false; /* With specific_login,
found *our* login name */
@@ -81,6 +79,10 @@ int parsenetrc (char *host, char *login, char *password, char *netrcfile = NULL)
bool done = false;
char netrcbuffer[256];
+ int state = NOTHING;
+ char state_login = 0; /* Found a login keyword */
+ char state_password = 0; /* Found a password keyword */
+
while (!done && fgets(netrcbuffer, sizeof (netrcbuffer), file)) {
tok = strtok_r (netrcbuffer, " \t\n", &tok_buf);
while (!done && tok) {
diff --git a/apt-pkg/contrib/progress.cc b/apt-pkg/contrib/progress.cc
index 45e81edcb..317048845 100644
--- a/apt-pkg/contrib/progress.cc
+++ b/apt-pkg/contrib/progress.cc
@@ -8,15 +8,17 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/progress.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
-#include <apti18n.h>
-
#include <iostream>
#include <stdio.h>
#include <cstring>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -35,7 +37,7 @@ OpProgress::OpProgress() : Current(0), Total(0), Size(0), SubTotal(1),
/* Current is the Base Overall progress in units of Total. Cur is the sub
progress in units of SubTotal. Size is a scaling factor that says what
percent of Total SubTotal is. */
-void OpProgress::Progress(unsigned long Cur)
+void OpProgress::Progress(unsigned long long Cur)
{
if (Total == 0 || Size == 0 || SubTotal == 0)
Percent = 0;
@@ -47,8 +49,8 @@ void OpProgress::Progress(unsigned long Cur)
// OpProgress::OverallProgress - Set the overall progress /*{{{*/
// ---------------------------------------------------------------------
/* */
-void OpProgress::OverallProgress(unsigned long Current, unsigned long Total,
- unsigned long Size,const string &Op)
+void OpProgress::OverallProgress(unsigned long long Current, unsigned long long Total,
+ unsigned long long Size,const string &Op)
{
this->Current = Current;
this->Total = Total;
@@ -65,27 +67,18 @@ void OpProgress::OverallProgress(unsigned long Current, unsigned long Total,
// OpProgress::SubProgress - Set the sub progress state /*{{{*/
// ---------------------------------------------------------------------
/* */
-void OpProgress::SubProgress(unsigned long SubTotal,const string &Op)
-{
- this->SubTotal = SubTotal;
- SubOp = Op;
- if (Total == 0)
- Percent = 0;
- else
- Percent = Current*100.0/Total;
- Update();
-}
- /*}}}*/
-// OpProgress::SubProgress - Set the sub progress state /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-void OpProgress::SubProgress(unsigned long SubTotal)
+void OpProgress::SubProgress(unsigned long long SubTotal,const string &Op,
+ float const Percent)
{
this->SubTotal = SubTotal;
- if (Total == 0)
- Percent = 0;
+ if (Op.empty() == false)
+ SubOp = Op;
+ if (Total == 0 || Percent == 0)
+ this->Percent = 0;
+ else if (Percent != -1)
+ this->Percent = this->Current += (Size*Percent)/SubTotal;
else
- Percent = Current*100.0/Total;
+ this->Percent = Current*100.0/Total;
Update();
}
/*}}}*/
diff --git a/apt-pkg/contrib/progress.h b/apt-pkg/contrib/progress.h
index 7dd004f7e..5344323f6 100644
--- a/apt-pkg/contrib/progress.h
+++ b/apt-pkg/contrib/progress.h
@@ -30,10 +30,10 @@ using std::string;
class Configuration;
class OpProgress
{
- unsigned long Current;
- unsigned long Total;
- unsigned long Size;
- unsigned long SubTotal;
+ unsigned long long Current;
+ unsigned long long Total;
+ unsigned long long Size;
+ unsigned long long SubTotal;
float LastPercent;
// Change reduction code
@@ -54,11 +54,10 @@ class OpProgress
public:
- void Progress(unsigned long Current);
- void SubProgress(unsigned long SubTotal);
- void SubProgress(unsigned long SubTotal,const string &Op);
- void OverallProgress(unsigned long Current,unsigned long Total,
- unsigned long Size,const string &Op);
+ void Progress(unsigned long long Current);
+ void SubProgress(unsigned long long SubTotal, const string &Op = "", float const Percent = -1);
+ void OverallProgress(unsigned long long Current,unsigned long long Total,
+ unsigned long long Size,const string &Op);
virtual void Done() {};
OpProgress();
diff --git a/apt-pkg/contrib/sha1.cc b/apt-pkg/contrib/sha1.cc
index eae52d52f..b5a6a2440 100644
--- a/apt-pkg/contrib/sha1.cc
+++ b/apt-pkg/contrib/sha1.cc
@@ -29,6 +29,8 @@
*/
/*}}} */
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/sha1.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/macros.h>
@@ -36,7 +38,6 @@
#include <string.h>
#include <unistd.h>
#include <inttypes.h>
-#include <config.h>
/*}}}*/
// SHA1Transform - Alters an existing SHA-1 hash /*{{{*/
@@ -74,10 +75,9 @@ static void SHA1Transform(uint32_t state[5],uint8_t const buffer[64])
uint32_t l[16];
}
CHAR64LONG16;
- CHAR64LONG16 *block;
+ CHAR64LONG16 workspace, *block;
- uint8_t workspace[64];
- block = (CHAR64LONG16 *)workspace;
+ block = &workspace;
memcpy(block,buffer,sizeof(workspace));
/* Copy context->state[] to working vars */
@@ -178,67 +178,6 @@ static void SHA1Transform(uint32_t state[5],uint8_t const buffer[64])
}
/*}}}*/
-// SHA1SumValue::SHA1SumValue - Constructs the summation from a string /*{{{*/
-// ---------------------------------------------------------------------
-/* The string form of a SHA1 is a 40 character hex number */
-SHA1SumValue::SHA1SumValue(string Str)
-{
- memset(Sum,0,sizeof(Sum));
- Set(Str);
-}
-
- /*}}} */
-// SHA1SumValue::SHA1SumValue - Default constructor /*{{{*/
-// ---------------------------------------------------------------------
-/* Sets the value to 0 */
-SHA1SumValue::SHA1SumValue()
-{
- memset(Sum,0,sizeof(Sum));
-}
-
- /*}}} */
-// SHA1SumValue::Set - Set the sum from a string /*{{{*/
-// ---------------------------------------------------------------------
-/* Converts the hex string into a set of chars */
-bool SHA1SumValue::Set(string Str)
-{
- return Hex2Num(Str,Sum,sizeof(Sum));
-}
-
- /*}}} */
-// SHA1SumValue::Value - Convert the number into a string /*{{{*/
-// ---------------------------------------------------------------------
-/* Converts the set of chars into a hex string in lower case */
-string SHA1SumValue::Value() const
-{
- char Conv[16] =
- { '0','1','2','3','4','5','6','7','8','9','a','b',
- 'c','d','e','f'
- };
- char Result[41];
- Result[40] = 0;
-
- // Convert each char into two letters
- int J = 0;
- int I = 0;
- for (; I != 40; J++,I += 2)
- {
- Result[I] = Conv[Sum[J] >> 4];
- Result[I + 1] = Conv[Sum[J] & 0xF];
- }
-
- return string(Result);
-}
-
- /*}}} */
-// SHA1SumValue::operator == - Comparator /*{{{*/
-// ---------------------------------------------------------------------
-/* Call memcmp on the buffer */
-bool SHA1SumValue::operator == (const SHA1SumValue & rhs) const
-{
- return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0;
-}
- /*}}}*/
// SHA1Summation::SHA1Summation - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -290,18 +229,20 @@ SHA1SumValue SHA1Summation::Result()
// Transfer over the result
SHA1SumValue Value;
+ unsigned char res[20];
for (unsigned i = 0; i < 20; i++)
{
- Value.Sum[i] = (unsigned char)
+ res[i] = (unsigned char)
((state[i >> 2] >> ((3 - (i & 3)) * 8)) & 255);
}
+ Value.Set(res);
return Value;
}
/*}}}*/
// SHA1Summation::Add - Adds content of buffer into the checksum /*{{{*/
// ---------------------------------------------------------------------
/* May not be called after Result() is called */
-bool SHA1Summation::Add(const unsigned char *data,unsigned long len)
+bool SHA1Summation::Add(const unsigned char *data,unsigned long long len)
{
if (Done)
return false;
@@ -332,26 +273,3 @@ bool SHA1Summation::Add(const unsigned char *data,unsigned long len)
return true;
}
/*}}}*/
-// SHA1Summation::AddFD - Add content of file into the checksum /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-bool SHA1Summation::AddFD(int Fd,unsigned long Size)
-{
- unsigned char Buf[64 * 64];
- int Res = 0;
- int ToEOF = (Size == 0);
- while (Size != 0 || ToEOF)
- {
- unsigned n = sizeof(Buf);
- if (!ToEOF) n = min(Size,(unsigned long)n);
- Res = read(Fd,Buf,n);
- if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read
- return false;
- if (ToEOF && Res == 0) // EOF
- break;
- Size -= Res;
- Add(Buf,Res);
- }
- return true;
-}
- /*}}}*/
diff --git a/apt-pkg/contrib/sha1.h b/apt-pkg/contrib/sha1.h
index 8ddd889f1..916faec1b 100644
--- a/apt-pkg/contrib/sha1.h
+++ b/apt-pkg/contrib/sha1.h
@@ -21,30 +21,11 @@
using std::string;
using std::min;
-class SHA1Summation;
+#include "hashsum_template.h"
-class SHA1SumValue
-{
- friend class SHA1Summation;
- unsigned char Sum[20];
-
- public:
-
- // Accessors
- bool operator ==(const SHA1SumValue &rhs) const;
- string Value() const;
- inline void Value(unsigned char S[20])
- {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];};
- inline operator string() const {return Value();};
- bool Set(string Str);
- inline void Set(unsigned char S[20])
- {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];};
-
- SHA1SumValue(string Str);
- SHA1SumValue();
-};
+typedef HashSumValue<160> SHA1SumValue;
-class SHA1Summation
+class SHA1Summation : public SummationImplementation
{
/* assumes 64-bit alignment just in case */
unsigned char Buffer[64] __attribute__((aligned(8)));
@@ -53,12 +34,9 @@ class SHA1Summation
bool Done;
public:
+ bool Add(const unsigned char *inbuf, unsigned long long inlen);
+ using SummationImplementation::Add;
- bool Add(const unsigned char *inbuf,unsigned long inlen);
- inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));};
- bool AddFD(int Fd,unsigned long Size);
- inline bool Add(const unsigned char *Beg,const unsigned char *End)
- {return Add(Beg,End-Beg);};
SHA1SumValue Result();
SHA1Summation();
diff --git a/apt-pkg/contrib/sha2.h b/apt-pkg/contrib/sha2.h
new file mode 100644
index 000000000..51c921dbd
--- /dev/null
+++ b/apt-pkg/contrib/sha2.h
@@ -0,0 +1,103 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+// $Id: sha512.h,v 1.3 2001/05/07 05:05:47 jgg Exp $
+/* ######################################################################
+
+ SHA{512,256}SumValue - Storage for a SHA-{512,256} hash.
+ SHA{512,256}Summation - SHA-{512,256} Secure Hash Algorithm.
+
+ This is a C++ interface to a set of SHA{512,256}Sum functions, that mirrors
+ the equivalent MD5 & SHA1 classes.
+
+ ##################################################################### */
+ /*}}}*/
+#ifndef APTPKG_SHA2_H
+#define APTPKG_SHA2_H
+
+#include <string>
+#include <cstring>
+#include <algorithm>
+#include <stdint.h>
+
+#include "sha2_internal.h"
+#include "hashsum_template.h"
+
+typedef HashSumValue<512> SHA512SumValue;
+typedef HashSumValue<256> SHA256SumValue;
+
+class SHA2SummationBase : public SummationImplementation
+{
+ protected:
+ bool Done;
+ public:
+ bool Add(const unsigned char *inbuf, unsigned long long len) = 0;
+
+ void Result();
+};
+
+class SHA256Summation : public SHA2SummationBase
+{
+ SHA256_CTX ctx;
+ unsigned char Sum[32];
+
+ public:
+ bool Add(const unsigned char *inbuf, unsigned long long len)
+ {
+ if (Done)
+ return false;
+ SHA256_Update(&ctx, inbuf, len);
+ return true;
+ };
+ using SummationImplementation::Add;
+
+ SHA256SumValue Result()
+ {
+ if (!Done) {
+ SHA256_Final(Sum, &ctx);
+ Done = true;
+ }
+ SHA256SumValue res;
+ res.Set(Sum);
+ return res;
+ };
+ SHA256Summation()
+ {
+ SHA256_Init(&ctx);
+ Done = false;
+ };
+};
+
+class SHA512Summation : public SHA2SummationBase
+{
+ SHA512_CTX ctx;
+ unsigned char Sum[64];
+
+ public:
+ bool Add(const unsigned char *inbuf, unsigned long long len)
+ {
+ if (Done)
+ return false;
+ SHA512_Update(&ctx, inbuf, len);
+ return true;
+ };
+ using SummationImplementation::Add;
+
+ SHA512SumValue Result()
+ {
+ if (!Done) {
+ SHA512_Final(Sum, &ctx);
+ Done = true;
+ }
+ SHA512SumValue res;
+ res.Set(Sum);
+ return res;
+ };
+ SHA512Summation()
+ {
+ SHA512_Init(&ctx);
+ Done = false;
+ };
+};
+
+
+#endif
diff --git a/apt-pkg/contrib/sha256.cc b/apt-pkg/contrib/sha256.cc
deleted file mode 100644
index e380c13ae..000000000
--- a/apt-pkg/contrib/sha256.cc
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Cryptographic API. {{{
- *
- * SHA-256, as specified in
- * http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf
- *
- * SHA-256 code by Jean-Luc Cooke <jlcooke@certainkey.com>.
- *
- * Copyright (c) Jean-Luc Cooke <jlcooke@certainkey.com>
- * Copyright (c) Andrew McDonald <andrew@mcdonald.org.uk>
- * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
- *
- * Ported from the Linux kernel to Apt by Anthony Towns <ajt@debian.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.
- *
- */ /*}}}*/
-
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/sha256.h"
-#endif
-
-
-#define SHA256_DIGEST_SIZE 32
-#define SHA256_HMAC_BLOCK_SIZE 64
-
-#define ror32(value,bits) (((value) >> (bits)) | ((value) << (32 - (bits))))
-
-#include <apt-pkg/sha256.h>
-#include <apt-pkg/strutl.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <arpa/inet.h>
-
-typedef uint32_t u32;
-typedef uint8_t u8;
-
-static inline u32 Ch(u32 x, u32 y, u32 z)
-{
- return z ^ (x & (y ^ z));
-}
-
-static inline u32 Maj(u32 x, u32 y, u32 z)
-{
- return (x & y) | (z & (x | y));
-}
-
-#define e0(x) (ror32(x, 2) ^ ror32(x,13) ^ ror32(x,22))
-#define e1(x) (ror32(x, 6) ^ ror32(x,11) ^ ror32(x,25))
-#define s0(x) (ror32(x, 7) ^ ror32(x,18) ^ (x >> 3))
-#define s1(x) (ror32(x,17) ^ ror32(x,19) ^ (x >> 10))
-
-#define H0 0x6a09e667
-#define H1 0xbb67ae85
-#define H2 0x3c6ef372
-#define H3 0xa54ff53a
-#define H4 0x510e527f
-#define H5 0x9b05688c
-#define H6 0x1f83d9ab
-#define H7 0x5be0cd19
-
-static inline void LOAD_OP(int I, u32 *W, const u8 *input) /*{{{*/
-{
- W[I] = ( ((u32) input[I * 4 + 0] << 24)
- | ((u32) input[I * 4 + 1] << 16)
- | ((u32) input[I * 4 + 2] << 8)
- | ((u32) input[I * 4 + 3]));
-}
- /*}}}*/
-static inline void BLEND_OP(int I, u32 *W)
-{
- W[I] = s1(W[I-2]) + W[I-7] + s0(W[I-15]) + W[I-16];
-}
-
-static void sha256_transform(u32 *state, const u8 *input) /*{{{*/
-{
- u32 a, b, c, d, e, f, g, h, t1, t2;
- u32 W[64];
- int i;
-
- /* load the input */
- for (i = 0; i < 16; i++)
- LOAD_OP(i, W, input);
-
- /* now blend */
- for (i = 16; i < 64; i++)
- BLEND_OP(i, W);
-
- /* load the state into our registers */
- a=state[0]; b=state[1]; c=state[2]; d=state[3];
- e=state[4]; f=state[5]; g=state[6]; h=state[7];
-
- /* now iterate */
- t1 = h + e1(e) + Ch(e,f,g) + 0x428a2f98 + W[ 0];
- t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2;
- t1 = g + e1(d) + Ch(d,e,f) + 0x71374491 + W[ 1];
- t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2;
- t1 = f + e1(c) + Ch(c,d,e) + 0xb5c0fbcf + W[ 2];
- t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2;
- t1 = e + e1(b) + Ch(b,c,d) + 0xe9b5dba5 + W[ 3];
- t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2;
- t1 = d + e1(a) + Ch(a,b,c) + 0x3956c25b + W[ 4];
- t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2;
- t1 = c + e1(h) + Ch(h,a,b) + 0x59f111f1 + W[ 5];
- t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2;
- t1 = b + e1(g) + Ch(g,h,a) + 0x923f82a4 + W[ 6];
- t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2;
- t1 = a + e1(f) + Ch(f,g,h) + 0xab1c5ed5 + W[ 7];
- t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2;
-
- t1 = h + e1(e) + Ch(e,f,g) + 0xd807aa98 + W[ 8];
- t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2;
- t1 = g + e1(d) + Ch(d,e,f) + 0x12835b01 + W[ 9];
- t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2;
- t1 = f + e1(c) + Ch(c,d,e) + 0x243185be + W[10];
- t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2;
- t1 = e + e1(b) + Ch(b,c,d) + 0x550c7dc3 + W[11];
- t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2;
- t1 = d + e1(a) + Ch(a,b,c) + 0x72be5d74 + W[12];
- t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2;
- t1 = c + e1(h) + Ch(h,a,b) + 0x80deb1fe + W[13];
- t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2;
- t1 = b + e1(g) + Ch(g,h,a) + 0x9bdc06a7 + W[14];
- t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2;
- t1 = a + e1(f) + Ch(f,g,h) + 0xc19bf174 + W[15];
- t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2;
-
- t1 = h + e1(e) + Ch(e,f,g) + 0xe49b69c1 + W[16];
- t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2;
- t1 = g + e1(d) + Ch(d,e,f) + 0xefbe4786 + W[17];
- t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2;
- t1 = f + e1(c) + Ch(c,d,e) + 0x0fc19dc6 + W[18];
- t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2;
- t1 = e + e1(b) + Ch(b,c,d) + 0x240ca1cc + W[19];
- t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2;
- t1 = d + e1(a) + Ch(a,b,c) + 0x2de92c6f + W[20];
- t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2;
- t1 = c + e1(h) + Ch(h,a,b) + 0x4a7484aa + W[21];
- t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2;
- t1 = b + e1(g) + Ch(g,h,a) + 0x5cb0a9dc + W[22];
- t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2;
- t1 = a + e1(f) + Ch(f,g,h) + 0x76f988da + W[23];
- t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2;
-
- t1 = h + e1(e) + Ch(e,f,g) + 0x983e5152 + W[24];
- t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2;
- t1 = g + e1(d) + Ch(d,e,f) + 0xa831c66d + W[25];
- t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2;
- t1 = f + e1(c) + Ch(c,d,e) + 0xb00327c8 + W[26];
- t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2;
- t1 = e + e1(b) + Ch(b,c,d) + 0xbf597fc7 + W[27];
- t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2;
- t1 = d + e1(a) + Ch(a,b,c) + 0xc6e00bf3 + W[28];
- t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2;
- t1 = c + e1(h) + Ch(h,a,b) + 0xd5a79147 + W[29];
- t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2;
- t1 = b + e1(g) + Ch(g,h,a) + 0x06ca6351 + W[30];
- t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2;
- t1 = a + e1(f) + Ch(f,g,h) + 0x14292967 + W[31];
- t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2;
-
- t1 = h + e1(e) + Ch(e,f,g) + 0x27b70a85 + W[32];
- t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2;
- t1 = g + e1(d) + Ch(d,e,f) + 0x2e1b2138 + W[33];
- t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2;
- t1 = f + e1(c) + Ch(c,d,e) + 0x4d2c6dfc + W[34];
- t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2;
- t1 = e + e1(b) + Ch(b,c,d) + 0x53380d13 + W[35];
- t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2;
- t1 = d + e1(a) + Ch(a,b,c) + 0x650a7354 + W[36];
- t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2;
- t1 = c + e1(h) + Ch(h,a,b) + 0x766a0abb + W[37];
- t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2;
- t1 = b + e1(g) + Ch(g,h,a) + 0x81c2c92e + W[38];
- t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2;
- t1 = a + e1(f) + Ch(f,g,h) + 0x92722c85 + W[39];
- t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2;
-
- t1 = h + e1(e) + Ch(e,f,g) + 0xa2bfe8a1 + W[40];
- t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2;
- t1 = g + e1(d) + Ch(d,e,f) + 0xa81a664b + W[41];
- t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2;
- t1 = f + e1(c) + Ch(c,d,e) + 0xc24b8b70 + W[42];
- t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2;
- t1 = e + e1(b) + Ch(b,c,d) + 0xc76c51a3 + W[43];
- t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2;
- t1 = d + e1(a) + Ch(a,b,c) + 0xd192e819 + W[44];
- t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2;
- t1 = c + e1(h) + Ch(h,a,b) + 0xd6990624 + W[45];
- t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2;
- t1 = b + e1(g) + Ch(g,h,a) + 0xf40e3585 + W[46];
- t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2;
- t1 = a + e1(f) + Ch(f,g,h) + 0x106aa070 + W[47];
- t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2;
-
- t1 = h + e1(e) + Ch(e,f,g) + 0x19a4c116 + W[48];
- t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2;
- t1 = g + e1(d) + Ch(d,e,f) + 0x1e376c08 + W[49];
- t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2;
- t1 = f + e1(c) + Ch(c,d,e) + 0x2748774c + W[50];
- t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2;
- t1 = e + e1(b) + Ch(b,c,d) + 0x34b0bcb5 + W[51];
- t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2;
- t1 = d + e1(a) + Ch(a,b,c) + 0x391c0cb3 + W[52];
- t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2;
- t1 = c + e1(h) + Ch(h,a,b) + 0x4ed8aa4a + W[53];
- t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2;
- t1 = b + e1(g) + Ch(g,h,a) + 0x5b9cca4f + W[54];
- t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2;
- t1 = a + e1(f) + Ch(f,g,h) + 0x682e6ff3 + W[55];
- t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2;
-
- t1 = h + e1(e) + Ch(e,f,g) + 0x748f82ee + W[56];
- t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2;
- t1 = g + e1(d) + Ch(d,e,f) + 0x78a5636f + W[57];
- t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2;
- t1 = f + e1(c) + Ch(c,d,e) + 0x84c87814 + W[58];
- t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2;
- t1 = e + e1(b) + Ch(b,c,d) + 0x8cc70208 + W[59];
- t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2;
- t1 = d + e1(a) + Ch(a,b,c) + 0x90befffa + W[60];
- t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2;
- t1 = c + e1(h) + Ch(h,a,b) + 0xa4506ceb + W[61];
- t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2;
- t1 = b + e1(g) + Ch(g,h,a) + 0xbef9a3f7 + W[62];
- t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2;
- t1 = a + e1(f) + Ch(f,g,h) + 0xc67178f2 + W[63];
- t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2;
-
- state[0] += a; state[1] += b; state[2] += c; state[3] += d;
- state[4] += e; state[5] += f; state[6] += g; state[7] += h;
-
- /* clear any sensitive info... */
- a = b = c = d = e = f = g = h = t1 = t2 = 0;
- memset(W, 0, 64 * sizeof(u32));
-}
- /*}}}*/
-SHA256Summation::SHA256Summation() /*{{{*/
-{
- Sum.state[0] = H0;
- Sum.state[1] = H1;
- Sum.state[2] = H2;
- Sum.state[3] = H3;
- Sum.state[4] = H4;
- Sum.state[5] = H5;
- Sum.state[6] = H6;
- Sum.state[7] = H7;
- Sum.count[0] = Sum.count[1] = 0;
- memset(Sum.buf, 0, sizeof(Sum.buf));
- Done = false;
-}
- /*}}}*/
-bool SHA256Summation::Add(const u8 *data, unsigned long len) /*{{{*/
-{
- struct sha256_ctx *sctx = &Sum;
- unsigned int i, index, part_len;
-
- if (Done) return false;
-
- /* Compute number of bytes mod 128 */
- index = (unsigned int)((sctx->count[0] >> 3) & 0x3f);
-
- /* Update number of bits */
- if ((sctx->count[0] += (len << 3)) < (len << 3)) {
- sctx->count[1]++;
- sctx->count[1] += (len >> 29);
- }
-
- part_len = 64 - index;
-
- /* Transform as many times as possible. */
- if (len >= part_len) {
- memcpy(&sctx->buf[index], data, part_len);
- sha256_transform(sctx->state, sctx->buf);
-
- for (i = part_len; i + 63 < len; i += 64)
- sha256_transform(sctx->state, &data[i]);
- index = 0;
- } else {
- i = 0;
- }
-
- /* Buffer remaining input */
- memcpy(&sctx->buf[index], &data[i], len-i);
-
- return true;
-}
- /*}}}*/
-SHA256SumValue SHA256Summation::Result() /*{{{*/
-{
- struct sha256_ctx *sctx = &Sum;
- if (!Done) {
- u8 bits[8];
- unsigned int index, pad_len, t;
- static const u8 padding[64] = { 0x80, };
-
- /* Save number of bits */
- t = sctx->count[0];
- bits[7] = t; t >>= 8;
- bits[6] = t; t >>= 8;
- bits[5] = t; t >>= 8;
- bits[4] = t;
- t = sctx->count[1];
- bits[3] = t; t >>= 8;
- bits[2] = t; t >>= 8;
- bits[1] = t; t >>= 8;
- bits[0] = t;
-
- /* Pad out to 56 mod 64. */
- index = (sctx->count[0] >> 3) & 0x3f;
- pad_len = (index < 56) ? (56 - index) : ((64+56) - index);
- Add(padding, pad_len);
-
- /* Append length (before padding) */
- Add(bits, 8);
- }
-
- Done = true;
-
- /* Store state in digest */
-
- SHA256SumValue res;
- u8 *out = res.Sum;
-
- int i, j;
- unsigned int t;
- for (i = j = 0; i < 8; i++, j += 4) {
- t = sctx->state[i];
- out[j+3] = t; t >>= 8;
- out[j+2] = t; t >>= 8;
- out[j+1] = t; t >>= 8;
- out[j ] = t;
- }
-
- return res;
-}
- /*}}}*/
-// SHA256SumValue::SHA256SumValue - Constructs the sum from a string /*{{{*/
-// ---------------------------------------------------------------------
-/* The string form of a SHA256 is a 64 character hex number */
-SHA256SumValue::SHA256SumValue(string Str)
-{
- memset(Sum,0,sizeof(Sum));
- Set(Str);
-}
- /*}}}*/
-// SHA256SumValue::SHA256SumValue - Default constructor /*{{{*/
-// ---------------------------------------------------------------------
-/* Sets the value to 0 */
-SHA256SumValue::SHA256SumValue()
-{
- memset(Sum,0,sizeof(Sum));
-}
- /*}}}*/
-// SHA256SumValue::Set - Set the sum from a string /*{{{*/
-// ---------------------------------------------------------------------
-/* Converts the hex string into a set of chars */
-bool SHA256SumValue::Set(string Str)
-{
- return Hex2Num(Str,Sum,sizeof(Sum));
-}
- /*}}}*/
-// SHA256SumValue::Value - Convert the number into a string /*{{{*/
-// ---------------------------------------------------------------------
-/* Converts the set of chars into a hex string in lower case */
-string SHA256SumValue::Value() const
-{
- char Conv[16] =
- { '0','1','2','3','4','5','6','7','8','9','a','b',
- 'c','d','e','f'
- };
- char Result[65];
- Result[64] = 0;
-
- // Convert each char into two letters
- int J = 0;
- int I = 0;
- for (; I != 64; J++,I += 2)
- {
- Result[I] = Conv[Sum[J] >> 4];
- Result[I + 1] = Conv[Sum[J] & 0xF];
- }
-
- return string(Result);
-}
- /*}}}*/
-// SHA256SumValue::operator == - Comparator /*{{{*/
-// ---------------------------------------------------------------------
-/* Call memcmp on the buffer */
-bool SHA256SumValue::operator == (const SHA256SumValue & rhs) const
-{
- return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0;
-}
- /*}}}*/
-// SHA256Summation::AddFD - Add content of file into the checksum /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-bool SHA256Summation::AddFD(int Fd,unsigned long Size)
-{
- unsigned char Buf[64 * 64];
- int Res = 0;
- int ToEOF = (Size == 0);
- while (Size != 0 || ToEOF)
- {
- unsigned n = sizeof(Buf);
- if (!ToEOF) n = min(Size,(unsigned long)n);
- Res = read(Fd,Buf,n);
- if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read
- return false;
- if (ToEOF && Res == 0) // EOF
- break;
- Size -= Res;
- Add(Buf,Res);
- }
- return true;
-}
- /*}}}*/
-
diff --git a/apt-pkg/contrib/sha256.h b/apt-pkg/contrib/sha256.h
index 5934b5641..15146c948 100644
--- a/apt-pkg/contrib/sha256.h
+++ b/apt-pkg/contrib/sha256.h
@@ -1,72 +1,8 @@
-// -*- mode: cpp; mode: fold -*-
-// Description /*{{{*/
-// $Id: sha1.h,v 1.3 2001/05/07 05:05:47 jgg Exp $
-/* ######################################################################
-
- SHA256SumValue - Storage for a SHA-256 hash.
- SHA256Summation - SHA-256 Secure Hash Algorithm.
-
- This is a C++ interface to a set of SHA256Sum functions, that mirrors
- the equivalent MD5 & SHA1 classes.
-
- ##################################################################### */
- /*}}}*/
#ifndef APTPKG_SHA256_H
#define APTPKG_SHA256_H
-#include <string>
-#include <cstring>
-#include <algorithm>
-#include <stdint.h>
-
-using std::string;
-using std::min;
-
-class SHA256Summation;
-
-class SHA256SumValue
-{
- friend class SHA256Summation;
- unsigned char Sum[32];
-
- public:
-
- // Accessors
- bool operator ==(const SHA256SumValue &rhs) const;
- string Value() const;
- inline void Value(unsigned char S[32])
- {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];};
- inline operator string() const {return Value();};
- bool Set(string Str);
- inline void Set(unsigned char S[32])
- {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];};
-
- SHA256SumValue(string Str);
- SHA256SumValue();
-};
-
-struct sha256_ctx {
- uint32_t count[2];
- uint32_t state[8];
- uint8_t buf[128];
-};
-
-class SHA256Summation
-{
- struct sha256_ctx Sum;
-
- bool Done;
-
- public:
+#include "sha2.h"
- bool Add(const unsigned char *inbuf,unsigned long inlen);
- inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));};
- bool AddFD(int Fd,unsigned long Size);
- inline bool Add(const unsigned char *Beg,const unsigned char *End)
- {return Add(Beg,End-Beg);};
- SHA256SumValue Result();
-
- SHA256Summation();
-};
+#warning "This header is deprecated, please include sha2.h instead"
#endif
diff --git a/apt-pkg/contrib/sha2_internal.cc b/apt-pkg/contrib/sha2_internal.cc
new file mode 100644
index 000000000..ff995cdf2
--- /dev/null
+++ b/apt-pkg/contrib/sha2_internal.cc
@@ -0,0 +1,1066 @@
+/*
+ * FILE: sha2.c
+ * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/
+ *
+ * Copyright (c) 2000-2001, Aaron D. Gifford
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the copyright holder nor the names of contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: sha2.c,v 1.1 2001/11/08 00:01:51 adg Exp adg $
+ */
+#include <config.h>
+
+#include <string.h> /* memcpy()/memset() or bcopy()/bzero() */
+#include <assert.h> /* assert() */
+#include "sha2_internal.h"
+
+/*
+ * ASSERT NOTE:
+ * Some sanity checking code is included using assert(). On my FreeBSD
+ * system, this additional code can be removed by compiling with NDEBUG
+ * defined. Check your own systems manpage on assert() to see how to
+ * compile WITHOUT the sanity checking code on your system.
+ *
+ * UNROLLED TRANSFORM LOOP NOTE:
+ * You can define SHA2_UNROLL_TRANSFORM to use the unrolled transform
+ * loop version for the hash transform rounds (defined using macros
+ * later in this file). Either define on the command line, for example:
+ *
+ * cc -DSHA2_UNROLL_TRANSFORM -o sha2 sha2.c sha2prog.c
+ *
+ * or define below:
+ *
+ * #define SHA2_UNROLL_TRANSFORM
+ *
+ */
+
+
+/*** SHA-256/384/512 Machine Architecture Definitions *****************/
+/*
+ * BYTE_ORDER NOTE:
+ *
+ * Please make sure that your system defines BYTE_ORDER. If your
+ * architecture is little-endian, make sure it also defines
+ * LITTLE_ENDIAN and that the two (BYTE_ORDER and LITTLE_ENDIAN) are
+ * equivilent.
+ *
+ * If your system does not define the above, then you can do so by
+ * hand like this:
+ *
+ * #define LITTLE_ENDIAN 1234
+ * #define BIG_ENDIAN 4321
+ *
+ * And for little-endian machines, add:
+ *
+ * #define BYTE_ORDER LITTLE_ENDIAN
+ *
+ * Or for big-endian machines:
+ *
+ * #define BYTE_ORDER BIG_ENDIAN
+ *
+ * The FreeBSD machine this was written on defines BYTE_ORDER
+ * appropriately by including <sys/types.h> (which in turn includes
+ * <machine/endian.h> where the appropriate definitions are actually
+ * made).
+ */
+#if !defined(BYTE_ORDER) || (BYTE_ORDER != LITTLE_ENDIAN && BYTE_ORDER != BIG_ENDIAN)
+#error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN
+#endif
+
+/*
+ * Define the followingsha2_* types to types of the correct length on
+ * the native archtecture. Most BSD systems and Linux define u_intXX_t
+ * types. Machines with very recent ANSI C headers, can use the
+ * uintXX_t definintions from inttypes.h by defining SHA2_USE_INTTYPES_H
+ * during compile or in the sha.h header file.
+ *
+ * Machines that support neither u_intXX_t nor inttypes.h's uintXX_t
+ * will need to define these three typedefs below (and the appropriate
+ * ones in sha.h too) by hand according to their system architecture.
+ *
+ * Thank you, Jun-ichiro itojun Hagino, for suggesting using u_intXX_t
+ * types and pointing out recent ANSI C support for uintXX_t in inttypes.h.
+ */
+#ifdef SHA2_USE_INTTYPES_H
+
+typedef uint8_t sha2_byte; /* Exactly 1 byte */
+typedef uint32_t sha2_word32; /* Exactly 4 bytes */
+typedef uint64_t sha2_word64; /* Exactly 8 bytes */
+
+#else /* SHA2_USE_INTTYPES_H */
+
+typedef u_int8_t sha2_byte; /* Exactly 1 byte */
+typedef u_int32_t sha2_word32; /* Exactly 4 bytes */
+typedef u_int64_t sha2_word64; /* Exactly 8 bytes */
+
+#endif /* SHA2_USE_INTTYPES_H */
+
+
+/*** SHA-256/384/512 Various Length Definitions ***********************/
+/* NOTE: Most of these are in sha2.h */
+#define SHA256_SHORT_BLOCK_LENGTH (SHA256_BLOCK_LENGTH - 8)
+#define SHA384_SHORT_BLOCK_LENGTH (SHA384_BLOCK_LENGTH - 16)
+#define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16)
+
+
+/*** ENDIAN REVERSAL MACROS *******************************************/
+#if BYTE_ORDER == LITTLE_ENDIAN
+#define REVERSE32(w,x) { \
+ sha2_word32 tmp = (w); \
+ tmp = (tmp >> 16) | (tmp << 16); \
+ (x) = ((tmp & 0xff00ff00UL) >> 8) | ((tmp & 0x00ff00ffUL) << 8); \
+}
+#define REVERSE64(w,x) { \
+ sha2_word64 tmp = (w); \
+ tmp = (tmp >> 32) | (tmp << 32); \
+ tmp = ((tmp & 0xff00ff00ff00ff00ULL) >> 8) | \
+ ((tmp & 0x00ff00ff00ff00ffULL) << 8); \
+ (x) = ((tmp & 0xffff0000ffff0000ULL) >> 16) | \
+ ((tmp & 0x0000ffff0000ffffULL) << 16); \
+}
+#endif /* BYTE_ORDER == LITTLE_ENDIAN */
+
+/*
+ * Macro for incrementally adding the unsigned 64-bit integer n to the
+ * unsigned 128-bit integer (represented using a two-element array of
+ * 64-bit words):
+ */
+#define ADDINC128(w,n) { \
+ (w)[0] += (sha2_word64)(n); \
+ if ((w)[0] < (n)) { \
+ (w)[1]++; \
+ } \
+}
+
+/*
+ * Macros for copying blocks of memory and for zeroing out ranges
+ * of memory. Using these macros makes it easy to switch from
+ * using memset()/memcpy() and using bzero()/bcopy().
+ *
+ * Please define either SHA2_USE_MEMSET_MEMCPY or define
+ * SHA2_USE_BZERO_BCOPY depending on which function set you
+ * choose to use:
+ */
+#if !defined(SHA2_USE_MEMSET_MEMCPY) && !defined(SHA2_USE_BZERO_BCOPY)
+/* Default to memset()/memcpy() if no option is specified */
+#define SHA2_USE_MEMSET_MEMCPY 1
+#endif
+#if defined(SHA2_USE_MEMSET_MEMCPY) && defined(SHA2_USE_BZERO_BCOPY)
+/* Abort with an error if BOTH options are defined */
+#error Define either SHA2_USE_MEMSET_MEMCPY or SHA2_USE_BZERO_BCOPY, not both!
+#endif
+
+#ifdef SHA2_USE_MEMSET_MEMCPY
+#define MEMSET_BZERO(p,l) memset((p), 0, (l))
+#define MEMCPY_BCOPY(d,s,l) memcpy((d), (s), (l))
+#endif
+#ifdef SHA2_USE_BZERO_BCOPY
+#define MEMSET_BZERO(p,l) bzero((p), (l))
+#define MEMCPY_BCOPY(d,s,l) bcopy((s), (d), (l))
+#endif
+
+
+/*** THE SIX LOGICAL FUNCTIONS ****************************************/
+/*
+ * Bit shifting and rotation (used by the six SHA-XYZ logical functions:
+ *
+ * NOTE: The naming of R and S appears backwards here (R is a SHIFT and
+ * S is a ROTATION) because the SHA-256/384/512 description document
+ * (see http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf) uses this
+ * same "backwards" definition.
+ */
+/* Shift-right (used in SHA-256, SHA-384, and SHA-512): */
+#define R(b,x) ((x) >> (b))
+/* 32-bit Rotate-right (used in SHA-256): */
+#define S32(b,x) (((x) >> (b)) | ((x) << (32 - (b))))
+/* 64-bit Rotate-right (used in SHA-384 and SHA-512): */
+#define S64(b,x) (((x) >> (b)) | ((x) << (64 - (b))))
+
+/* Two of six logical functions used in SHA-256, SHA-384, and SHA-512: */
+#define Ch(x,y,z) (((x) & (y)) ^ ((~(x)) & (z)))
+#define Maj(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
+
+/* Four of six logical functions used in SHA-256: */
+#define Sigma0_256(x) (S32(2, (x)) ^ S32(13, (x)) ^ S32(22, (x)))
+#define Sigma1_256(x) (S32(6, (x)) ^ S32(11, (x)) ^ S32(25, (x)))
+#define sigma0_256(x) (S32(7, (x)) ^ S32(18, (x)) ^ R(3 , (x)))
+#define sigma1_256(x) (S32(17, (x)) ^ S32(19, (x)) ^ R(10, (x)))
+
+/* Four of six logical functions used in SHA-384 and SHA-512: */
+#define Sigma0_512(x) (S64(28, (x)) ^ S64(34, (x)) ^ S64(39, (x)))
+#define Sigma1_512(x) (S64(14, (x)) ^ S64(18, (x)) ^ S64(41, (x)))
+#define sigma0_512(x) (S64( 1, (x)) ^ S64( 8, (x)) ^ R( 7, (x)))
+#define sigma1_512(x) (S64(19, (x)) ^ S64(61, (x)) ^ R( 6, (x)))
+
+/*** INTERNAL FUNCTION PROTOTYPES *************************************/
+/* NOTE: These should not be accessed directly from outside this
+ * library -- they are intended for private internal visibility/use
+ * only.
+ */
+static void SHA512_Last(SHA512_CTX*);
+static void SHA256_Transform(SHA256_CTX*, const sha2_word32*);
+static void SHA512_Transform(SHA512_CTX*, const sha2_word64*);
+
+
+/*** SHA-XYZ INITIAL HASH VALUES AND CONSTANTS ************************/
+/* Hash constant words K for SHA-256: */
+const static sha2_word32 K256[64] = {
+ 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
+ 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
+ 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
+ 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
+ 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
+ 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
+ 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
+ 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
+ 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
+ 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
+ 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
+ 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
+ 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
+ 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
+ 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
+ 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
+};
+
+/* Initial hash value H for SHA-256: */
+const static sha2_word32 sha256_initial_hash_value[8] = {
+ 0x6a09e667UL,
+ 0xbb67ae85UL,
+ 0x3c6ef372UL,
+ 0xa54ff53aUL,
+ 0x510e527fUL,
+ 0x9b05688cUL,
+ 0x1f83d9abUL,
+ 0x5be0cd19UL
+};
+
+/* Hash constant words K for SHA-384 and SHA-512: */
+const static sha2_word64 K512[80] = {
+ 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL,
+ 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL,
+ 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,
+ 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL,
+ 0xd807aa98a3030242ULL, 0x12835b0145706fbeULL,
+ 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,
+ 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL,
+ 0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL,
+ 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL,
+ 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL,
+ 0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL,
+ 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,
+ 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL,
+ 0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL,
+ 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,
+ 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL,
+ 0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL,
+ 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,
+ 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL,
+ 0x81c2c92e47edaee6ULL, 0x92722c851482353bULL,
+ 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL,
+ 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL,
+ 0xd192e819d6ef5218ULL, 0xd69906245565a910ULL,
+ 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,
+ 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL,
+ 0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL,
+ 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL,
+ 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL,
+ 0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL,
+ 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
+ 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL,
+ 0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL,
+ 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL,
+ 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL,
+ 0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL,
+ 0x113f9804bef90daeULL, 0x1b710b35131c471bULL,
+ 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL,
+ 0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL,
+ 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL,
+ 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
+};
+
+/* Initial hash value H for SHA-384 */
+const static sha2_word64 sha384_initial_hash_value[8] = {
+ 0xcbbb9d5dc1059ed8ULL,
+ 0x629a292a367cd507ULL,
+ 0x9159015a3070dd17ULL,
+ 0x152fecd8f70e5939ULL,
+ 0x67332667ffc00b31ULL,
+ 0x8eb44a8768581511ULL,
+ 0xdb0c2e0d64f98fa7ULL,
+ 0x47b5481dbefa4fa4ULL
+};
+
+/* Initial hash value H for SHA-512 */
+const static sha2_word64 sha512_initial_hash_value[8] = {
+ 0x6a09e667f3bcc908ULL,
+ 0xbb67ae8584caa73bULL,
+ 0x3c6ef372fe94f82bULL,
+ 0xa54ff53a5f1d36f1ULL,
+ 0x510e527fade682d1ULL,
+ 0x9b05688c2b3e6c1fULL,
+ 0x1f83d9abfb41bd6bULL,
+ 0x5be0cd19137e2179ULL
+};
+
+/*
+ * Constant used by SHA256/384/512_End() functions for converting the
+ * digest to a readable hexadecimal character string:
+ */
+static const char *sha2_hex_digits = "0123456789abcdef";
+
+
+/*** SHA-256: *********************************************************/
+void SHA256_Init(SHA256_CTX* context) {
+ if (context == (SHA256_CTX*)0) {
+ return;
+ }
+ MEMCPY_BCOPY(context->state, sha256_initial_hash_value, SHA256_DIGEST_LENGTH);
+ MEMSET_BZERO(context->buffer, SHA256_BLOCK_LENGTH);
+ context->bitcount = 0;
+}
+
+#ifdef SHA2_UNROLL_TRANSFORM
+
+/* Unrolled SHA-256 round macros: */
+
+#if BYTE_ORDER == LITTLE_ENDIAN
+
+#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \
+ REVERSE32(*data++, W256[j]); \
+ T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \
+ K256[j] + W256[j]; \
+ (d) += T1; \
+ (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \
+ j++
+
+
+#else /* BYTE_ORDER == LITTLE_ENDIAN */
+
+#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \
+ T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \
+ K256[j] + (W256[j] = *data++); \
+ (d) += T1; \
+ (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \
+ j++
+
+#endif /* BYTE_ORDER == LITTLE_ENDIAN */
+
+#define ROUND256(a,b,c,d,e,f,g,h) \
+ s0 = W256[(j+1)&0x0f]; \
+ s0 = sigma0_256(s0); \
+ s1 = W256[(j+14)&0x0f]; \
+ s1 = sigma1_256(s1); \
+ T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + K256[j] + \
+ (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); \
+ (d) += T1; \
+ (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \
+ j++
+
+static void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) {
+ sha2_word32 a, b, c, d, e, f, g, h, s0, s1;
+ sha2_word32 T1, *W256;
+ int j;
+
+ W256 = (sha2_word32*)context->buffer;
+
+ /* Initialize registers with the prev. intermediate value */
+ a = context->state[0];
+ b = context->state[1];
+ c = context->state[2];
+ d = context->state[3];
+ e = context->state[4];
+ f = context->state[5];
+ g = context->state[6];
+ h = context->state[7];
+
+ j = 0;
+ do {
+ /* Rounds 0 to 15 (unrolled): */
+ ROUND256_0_TO_15(a,b,c,d,e,f,g,h);
+ ROUND256_0_TO_15(h,a,b,c,d,e,f,g);
+ ROUND256_0_TO_15(g,h,a,b,c,d,e,f);
+ ROUND256_0_TO_15(f,g,h,a,b,c,d,e);
+ ROUND256_0_TO_15(e,f,g,h,a,b,c,d);
+ ROUND256_0_TO_15(d,e,f,g,h,a,b,c);
+ ROUND256_0_TO_15(c,d,e,f,g,h,a,b);
+ ROUND256_0_TO_15(b,c,d,e,f,g,h,a);
+ } while (j < 16);
+
+ /* Now for the remaining rounds to 64: */
+ do {
+ ROUND256(a,b,c,d,e,f,g,h);
+ ROUND256(h,a,b,c,d,e,f,g);
+ ROUND256(g,h,a,b,c,d,e,f);
+ ROUND256(f,g,h,a,b,c,d,e);
+ ROUND256(e,f,g,h,a,b,c,d);
+ ROUND256(d,e,f,g,h,a,b,c);
+ ROUND256(c,d,e,f,g,h,a,b);
+ ROUND256(b,c,d,e,f,g,h,a);
+ } while (j < 64);
+
+ /* Compute the current intermediate hash value */
+ context->state[0] += a;
+ context->state[1] += b;
+ context->state[2] += c;
+ context->state[3] += d;
+ context->state[4] += e;
+ context->state[5] += f;
+ context->state[6] += g;
+ context->state[7] += h;
+
+ /* Clean up */
+ a = b = c = d = e = f = g = h = T1 = 0;
+}
+
+#else /* SHA2_UNROLL_TRANSFORM */
+
+static void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) {
+ sha2_word32 a, b, c, d, e, f, g, h, s0, s1;
+ sha2_word32 T1, T2, *W256;
+ int j;
+
+ W256 = (sha2_word32*)context->buffer;
+
+ /* Initialize registers with the prev. intermediate value */
+ a = context->state[0];
+ b = context->state[1];
+ c = context->state[2];
+ d = context->state[3];
+ e = context->state[4];
+ f = context->state[5];
+ g = context->state[6];
+ h = context->state[7];
+
+ j = 0;
+ do {
+#if BYTE_ORDER == LITTLE_ENDIAN
+ /* Copy data while converting to host byte order */
+ REVERSE32(*data++,W256[j]);
+ /* Apply the SHA-256 compression function to update a..h */
+ T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + W256[j];
+#else /* BYTE_ORDER == LITTLE_ENDIAN */
+ /* Apply the SHA-256 compression function to update a..h with copy */
+ T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + (W256[j] = *data++);
+#endif /* BYTE_ORDER == LITTLE_ENDIAN */
+ T2 = Sigma0_256(a) + Maj(a, b, c);
+ h = g;
+ g = f;
+ f = e;
+ e = d + T1;
+ d = c;
+ c = b;
+ b = a;
+ a = T1 + T2;
+
+ j++;
+ } while (j < 16);
+
+ do {
+ /* Part of the message block expansion: */
+ s0 = W256[(j+1)&0x0f];
+ s0 = sigma0_256(s0);
+ s1 = W256[(j+14)&0x0f];
+ s1 = sigma1_256(s1);
+
+ /* Apply the SHA-256 compression function to update a..h */
+ T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] +
+ (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0);
+ T2 = Sigma0_256(a) + Maj(a, b, c);
+ h = g;
+ g = f;
+ f = e;
+ e = d + T1;
+ d = c;
+ c = b;
+ b = a;
+ a = T1 + T2;
+
+ j++;
+ } while (j < 64);
+
+ /* Compute the current intermediate hash value */
+ context->state[0] += a;
+ context->state[1] += b;
+ context->state[2] += c;
+ context->state[3] += d;
+ context->state[4] += e;
+ context->state[5] += f;
+ context->state[6] += g;
+ context->state[7] += h;
+
+ /* Clean up */
+ a = b = c = d = e = f = g = h = T1 = T2 = 0;
+}
+
+#endif /* SHA2_UNROLL_TRANSFORM */
+
+void SHA256_Update(SHA256_CTX* context, const sha2_byte *data, size_t len) {
+ unsigned int freespace, usedspace;
+
+ if (len == 0) {
+ /* Calling with no data is valid - we do nothing */
+ return;
+ }
+
+ /* Sanity check: */
+ assert(context != (SHA256_CTX*)0 && data != (sha2_byte*)0);
+
+ usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH;
+ if (usedspace > 0) {
+ /* Calculate how much free space is available in the buffer */
+ freespace = SHA256_BLOCK_LENGTH - usedspace;
+
+ if (len >= freespace) {
+ /* Fill the buffer completely and process it */
+ MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace);
+ context->bitcount += freespace << 3;
+ len -= freespace;
+ data += freespace;
+ SHA256_Transform(context, (sha2_word32*)context->buffer);
+ } else {
+ /* The buffer is not yet full */
+ MEMCPY_BCOPY(&context->buffer[usedspace], data, len);
+ context->bitcount += len << 3;
+ /* Clean up: */
+ usedspace = freespace = 0;
+ return;
+ }
+ }
+ while (len >= SHA256_BLOCK_LENGTH) {
+ /* Process as many complete blocks as we can */
+ SHA256_Transform(context, (sha2_word32*)data);
+ context->bitcount += SHA256_BLOCK_LENGTH << 3;
+ len -= SHA256_BLOCK_LENGTH;
+ data += SHA256_BLOCK_LENGTH;
+ }
+ if (len > 0) {
+ /* There's left-overs, so save 'em */
+ MEMCPY_BCOPY(context->buffer, data, len);
+ context->bitcount += len << 3;
+ }
+ /* Clean up: */
+ usedspace = freespace = 0;
+}
+
+void SHA256_Final(sha2_byte digest[], SHA256_CTX* context) {
+ sha2_word32 *d = (sha2_word32*)digest;
+ unsigned int usedspace;
+
+ /* Sanity check: */
+ assert(context != (SHA256_CTX*)0);
+
+ /* If no digest buffer is passed, we don't bother doing this: */
+ if (digest != (sha2_byte*)0) {
+ usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH;
+#if BYTE_ORDER == LITTLE_ENDIAN
+ /* Convert FROM host byte order */
+ REVERSE64(context->bitcount,context->bitcount);
+#endif
+ if (usedspace > 0) {
+ /* Begin padding with a 1 bit: */
+ context->buffer[usedspace++] = 0x80;
+
+ if (usedspace <= SHA256_SHORT_BLOCK_LENGTH) {
+ /* Set-up for the last transform: */
+ MEMSET_BZERO(&context->buffer[usedspace], SHA256_SHORT_BLOCK_LENGTH - usedspace);
+ } else {
+ if (usedspace < SHA256_BLOCK_LENGTH) {
+ MEMSET_BZERO(&context->buffer[usedspace], SHA256_BLOCK_LENGTH - usedspace);
+ }
+ /* Do second-to-last transform: */
+ SHA256_Transform(context, (sha2_word32*)context->buffer);
+
+ /* And set-up for the last transform: */
+ MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH);
+ }
+ } else {
+ /* Set-up for the last transform: */
+ MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH);
+
+ /* Begin padding with a 1 bit: */
+ *context->buffer = 0x80;
+ }
+ /* Set the bit count: */
+ *(sha2_word64*)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount;
+
+ /* Final transform: */
+ SHA256_Transform(context, (sha2_word32*)context->buffer);
+
+#if BYTE_ORDER == LITTLE_ENDIAN
+ {
+ /* Convert TO host byte order */
+ int j;
+ for (j = 0; j < 8; j++) {
+ REVERSE32(context->state[j],context->state[j]);
+ *d++ = context->state[j];
+ }
+ }
+#else
+ MEMCPY_BCOPY(d, context->state, SHA256_DIGEST_LENGTH);
+#endif
+ }
+
+ /* Clean up state data: */
+ MEMSET_BZERO(context, sizeof(context));
+ usedspace = 0;
+}
+
+char *SHA256_End(SHA256_CTX* context, char buffer[]) {
+ sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest;
+ int i;
+
+ /* Sanity check: */
+ assert(context != (SHA256_CTX*)0);
+
+ if (buffer != (char*)0) {
+ SHA256_Final(digest, context);
+
+ for (i = 0; i < SHA256_DIGEST_LENGTH; i++) {
+ *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];
+ *buffer++ = sha2_hex_digits[*d & 0x0f];
+ d++;
+ }
+ *buffer = (char)0;
+ } else {
+ MEMSET_BZERO(context, sizeof(context));
+ }
+ MEMSET_BZERO(digest, SHA256_DIGEST_LENGTH);
+ return buffer;
+}
+
+char* SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH]) {
+ SHA256_CTX context;
+
+ SHA256_Init(&context);
+ SHA256_Update(&context, data, len);
+ return SHA256_End(&context, digest);
+}
+
+
+/*** SHA-512: *********************************************************/
+void SHA512_Init(SHA512_CTX* context) {
+ if (context == (SHA512_CTX*)0) {
+ return;
+ }
+ MEMCPY_BCOPY(context->state, sha512_initial_hash_value, SHA512_DIGEST_LENGTH);
+ MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH);
+ context->bitcount[0] = context->bitcount[1] = 0;
+}
+
+#ifdef SHA2_UNROLL_TRANSFORM
+
+/* Unrolled SHA-512 round macros: */
+#if BYTE_ORDER == LITTLE_ENDIAN
+
+#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \
+ REVERSE64(*data++, W512[j]); \
+ T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \
+ K512[j] + W512[j]; \
+ (d) += T1, \
+ (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)), \
+ j++
+
+
+#else /* BYTE_ORDER == LITTLE_ENDIAN */
+
+#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \
+ T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \
+ K512[j] + (W512[j] = *data++); \
+ (d) += T1; \
+ (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \
+ j++
+
+#endif /* BYTE_ORDER == LITTLE_ENDIAN */
+
+#define ROUND512(a,b,c,d,e,f,g,h) \
+ s0 = W512[(j+1)&0x0f]; \
+ s0 = sigma0_512(s0); \
+ s1 = W512[(j+14)&0x0f]; \
+ s1 = sigma1_512(s1); \
+ T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + K512[j] + \
+ (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); \
+ (d) += T1; \
+ (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \
+ j++
+
+static void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {
+ sha2_word64 a, b, c, d, e, f, g, h, s0, s1;
+ sha2_word64 T1, *W512 = (sha2_word64*)context->buffer;
+ int j;
+
+ /* Initialize registers with the prev. intermediate value */
+ a = context->state[0];
+ b = context->state[1];
+ c = context->state[2];
+ d = context->state[3];
+ e = context->state[4];
+ f = context->state[5];
+ g = context->state[6];
+ h = context->state[7];
+
+ j = 0;
+ do {
+ ROUND512_0_TO_15(a,b,c,d,e,f,g,h);
+ ROUND512_0_TO_15(h,a,b,c,d,e,f,g);
+ ROUND512_0_TO_15(g,h,a,b,c,d,e,f);
+ ROUND512_0_TO_15(f,g,h,a,b,c,d,e);
+ ROUND512_0_TO_15(e,f,g,h,a,b,c,d);
+ ROUND512_0_TO_15(d,e,f,g,h,a,b,c);
+ ROUND512_0_TO_15(c,d,e,f,g,h,a,b);
+ ROUND512_0_TO_15(b,c,d,e,f,g,h,a);
+ } while (j < 16);
+
+ /* Now for the remaining rounds up to 79: */
+ do {
+ ROUND512(a,b,c,d,e,f,g,h);
+ ROUND512(h,a,b,c,d,e,f,g);
+ ROUND512(g,h,a,b,c,d,e,f);
+ ROUND512(f,g,h,a,b,c,d,e);
+ ROUND512(e,f,g,h,a,b,c,d);
+ ROUND512(d,e,f,g,h,a,b,c);
+ ROUND512(c,d,e,f,g,h,a,b);
+ ROUND512(b,c,d,e,f,g,h,a);
+ } while (j < 80);
+
+ /* Compute the current intermediate hash value */
+ context->state[0] += a;
+ context->state[1] += b;
+ context->state[2] += c;
+ context->state[3] += d;
+ context->state[4] += e;
+ context->state[5] += f;
+ context->state[6] += g;
+ context->state[7] += h;
+
+ /* Clean up */
+ a = b = c = d = e = f = g = h = T1 = 0;
+}
+
+#else /* SHA2_UNROLL_TRANSFORM */
+
+static void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {
+ sha2_word64 a, b, c, d, e, f, g, h, s0, s1;
+ sha2_word64 T1, T2, *W512 = (sha2_word64*)context->buffer;
+ int j;
+
+ /* Initialize registers with the prev. intermediate value */
+ a = context->state[0];
+ b = context->state[1];
+ c = context->state[2];
+ d = context->state[3];
+ e = context->state[4];
+ f = context->state[5];
+ g = context->state[6];
+ h = context->state[7];
+
+ j = 0;
+ do {
+#if BYTE_ORDER == LITTLE_ENDIAN
+ /* Convert TO host byte order */
+ REVERSE64(*data++, W512[j]);
+ /* Apply the SHA-512 compression function to update a..h */
+ T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + W512[j];
+#else /* BYTE_ORDER == LITTLE_ENDIAN */
+ /* Apply the SHA-512 compression function to update a..h with copy */
+ T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + (W512[j] = *data++);
+#endif /* BYTE_ORDER == LITTLE_ENDIAN */
+ T2 = Sigma0_512(a) + Maj(a, b, c);
+ h = g;
+ g = f;
+ f = e;
+ e = d + T1;
+ d = c;
+ c = b;
+ b = a;
+ a = T1 + T2;
+
+ j++;
+ } while (j < 16);
+
+ do {
+ /* Part of the message block expansion: */
+ s0 = W512[(j+1)&0x0f];
+ s0 = sigma0_512(s0);
+ s1 = W512[(j+14)&0x0f];
+ s1 = sigma1_512(s1);
+
+ /* Apply the SHA-512 compression function to update a..h */
+ T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] +
+ (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0);
+ T2 = Sigma0_512(a) + Maj(a, b, c);
+ h = g;
+ g = f;
+ f = e;
+ e = d + T1;
+ d = c;
+ c = b;
+ b = a;
+ a = T1 + T2;
+
+ j++;
+ } while (j < 80);
+
+ /* Compute the current intermediate hash value */
+ context->state[0] += a;
+ context->state[1] += b;
+ context->state[2] += c;
+ context->state[3] += d;
+ context->state[4] += e;
+ context->state[5] += f;
+ context->state[6] += g;
+ context->state[7] += h;
+
+ /* Clean up */
+ a = b = c = d = e = f = g = h = T1 = T2 = 0;
+}
+
+#endif /* SHA2_UNROLL_TRANSFORM */
+
+void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len) {
+ unsigned int freespace, usedspace;
+
+ if (len == 0) {
+ /* Calling with no data is valid - we do nothing */
+ return;
+ }
+
+ /* Sanity check: */
+ assert(context != (SHA512_CTX*)0 && data != (sha2_byte*)0);
+
+ usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
+ if (usedspace > 0) {
+ /* Calculate how much free space is available in the buffer */
+ freespace = SHA512_BLOCK_LENGTH - usedspace;
+
+ if (len >= freespace) {
+ /* Fill the buffer completely and process it */
+ MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace);
+ ADDINC128(context->bitcount, freespace << 3);
+ len -= freespace;
+ data += freespace;
+ SHA512_Transform(context, (sha2_word64*)context->buffer);
+ } else {
+ /* The buffer is not yet full */
+ MEMCPY_BCOPY(&context->buffer[usedspace], data, len);
+ ADDINC128(context->bitcount, len << 3);
+ /* Clean up: */
+ usedspace = freespace = 0;
+ return;
+ }
+ }
+ while (len >= SHA512_BLOCK_LENGTH) {
+ /* Process as many complete blocks as we can */
+ SHA512_Transform(context, (sha2_word64*)data);
+ ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3);
+ len -= SHA512_BLOCK_LENGTH;
+ data += SHA512_BLOCK_LENGTH;
+ }
+ if (len > 0) {
+ /* There's left-overs, so save 'em */
+ MEMCPY_BCOPY(context->buffer, data, len);
+ ADDINC128(context->bitcount, len << 3);
+ }
+ /* Clean up: */
+ usedspace = freespace = 0;
+}
+
+static void SHA512_Last(SHA512_CTX* context) {
+ unsigned int usedspace;
+
+ usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
+#if BYTE_ORDER == LITTLE_ENDIAN
+ /* Convert FROM host byte order */
+ REVERSE64(context->bitcount[0],context->bitcount[0]);
+ REVERSE64(context->bitcount[1],context->bitcount[1]);
+#endif
+ if (usedspace > 0) {
+ /* Begin padding with a 1 bit: */
+ context->buffer[usedspace++] = 0x80;
+
+ if (usedspace <= SHA512_SHORT_BLOCK_LENGTH) {
+ /* Set-up for the last transform: */
+ MEMSET_BZERO(&context->buffer[usedspace], SHA512_SHORT_BLOCK_LENGTH - usedspace);
+ } else {
+ if (usedspace < SHA512_BLOCK_LENGTH) {
+ MEMSET_BZERO(&context->buffer[usedspace], SHA512_BLOCK_LENGTH - usedspace);
+ }
+ /* Do second-to-last transform: */
+ SHA512_Transform(context, (sha2_word64*)context->buffer);
+
+ /* And set-up for the last transform: */
+ MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH - 2);
+ }
+ } else {
+ /* Prepare for final transform: */
+ MEMSET_BZERO(context->buffer, SHA512_SHORT_BLOCK_LENGTH);
+
+ /* Begin padding with a 1 bit: */
+ *context->buffer = 0x80;
+ }
+ /* Store the length of input data (in bits): */
+ *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1];
+ *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0];
+
+ /* Final transform: */
+ SHA512_Transform(context, (sha2_word64*)context->buffer);
+}
+
+void SHA512_Final(sha2_byte digest[], SHA512_CTX* context) {
+ sha2_word64 *d = (sha2_word64*)digest;
+
+ /* Sanity check: */
+ assert(context != (SHA512_CTX*)0);
+
+ /* If no digest buffer is passed, we don't bother doing this: */
+ if (digest != (sha2_byte*)0) {
+ SHA512_Last(context);
+
+ /* Save the hash data for output: */
+#if BYTE_ORDER == LITTLE_ENDIAN
+ {
+ /* Convert TO host byte order */
+ int j;
+ for (j = 0; j < 8; j++) {
+ REVERSE64(context->state[j],context->state[j]);
+ *d++ = context->state[j];
+ }
+ }
+#else
+ MEMCPY_BCOPY(d, context->state, SHA512_DIGEST_LENGTH);
+#endif
+ }
+
+ /* Zero out state data */
+ MEMSET_BZERO(context, sizeof(context));
+}
+
+char *SHA512_End(SHA512_CTX* context, char buffer[]) {
+ sha2_byte digest[SHA512_DIGEST_LENGTH], *d = digest;
+ int i;
+
+ /* Sanity check: */
+ assert(context != (SHA512_CTX*)0);
+
+ if (buffer != (char*)0) {
+ SHA512_Final(digest, context);
+
+ for (i = 0; i < SHA512_DIGEST_LENGTH; i++) {
+ *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];
+ *buffer++ = sha2_hex_digits[*d & 0x0f];
+ d++;
+ }
+ *buffer = (char)0;
+ } else {
+ MEMSET_BZERO(context, sizeof(context));
+ }
+ MEMSET_BZERO(digest, SHA512_DIGEST_LENGTH);
+ return buffer;
+}
+
+char* SHA512_Data(const sha2_byte* data, size_t len, char digest[SHA512_DIGEST_STRING_LENGTH]) {
+ SHA512_CTX context;
+
+ SHA512_Init(&context);
+ SHA512_Update(&context, data, len);
+ return SHA512_End(&context, digest);
+}
+
+
+/*** SHA-384: *********************************************************/
+void SHA384_Init(SHA384_CTX* context) {
+ if (context == (SHA384_CTX*)0) {
+ return;
+ }
+ MEMCPY_BCOPY(context->state, sha384_initial_hash_value, SHA512_DIGEST_LENGTH);
+ MEMSET_BZERO(context->buffer, SHA384_BLOCK_LENGTH);
+ context->bitcount[0] = context->bitcount[1] = 0;
+}
+
+void SHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t len) {
+ SHA512_Update((SHA512_CTX*)context, data, len);
+}
+
+void SHA384_Final(sha2_byte digest[], SHA384_CTX* context) {
+ sha2_word64 *d = (sha2_word64*)digest;
+
+ /* Sanity check: */
+ assert(context != (SHA384_CTX*)0);
+
+ /* If no digest buffer is passed, we don't bother doing this: */
+ if (digest != (sha2_byte*)0) {
+ SHA512_Last((SHA512_CTX*)context);
+
+ /* Save the hash data for output: */
+#if BYTE_ORDER == LITTLE_ENDIAN
+ {
+ /* Convert TO host byte order */
+ int j;
+ for (j = 0; j < 6; j++) {
+ REVERSE64(context->state[j],context->state[j]);
+ *d++ = context->state[j];
+ }
+ }
+#else
+ MEMCPY_BCOPY(d, context->state, SHA384_DIGEST_LENGTH);
+#endif
+ }
+
+ /* Zero out state data */
+ MEMSET_BZERO(context, sizeof(context));
+}
+
+char *SHA384_End(SHA384_CTX* context, char buffer[]) {
+ sha2_byte digest[SHA384_DIGEST_LENGTH], *d = digest;
+ int i;
+
+ /* Sanity check: */
+ assert(context != (SHA384_CTX*)0);
+
+ if (buffer != (char*)0) {
+ SHA384_Final(digest, context);
+
+ for (i = 0; i < SHA384_DIGEST_LENGTH; i++) {
+ *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];
+ *buffer++ = sha2_hex_digits[*d & 0x0f];
+ d++;
+ }
+ *buffer = (char)0;
+ } else {
+ MEMSET_BZERO(context, sizeof(context));
+ }
+ MEMSET_BZERO(digest, SHA384_DIGEST_LENGTH);
+ return buffer;
+}
+
+char* SHA384_Data(const sha2_byte* data, size_t len, char digest[SHA384_DIGEST_STRING_LENGTH]) {
+ SHA384_CTX context;
+
+ SHA384_Init(&context);
+ SHA384_Update(&context, data, len);
+ return SHA384_End(&context, digest);
+}
+
diff --git a/apt-pkg/contrib/sha2_internal.h b/apt-pkg/contrib/sha2_internal.h
new file mode 100644
index 000000000..d9d429c92
--- /dev/null
+++ b/apt-pkg/contrib/sha2_internal.h
@@ -0,0 +1,188 @@
+/*
+ * FILE: sha2.h
+ * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/
+ *
+ * Copyright (c) 2000-2001, Aaron D. Gifford
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the copyright holder nor the names of contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: sha2.h,v 1.1 2001/11/08 00:02:01 adg Exp adg $
+ */
+
+#ifndef __SHA2_H__
+#define __SHA2_H__
+
+/*
+ * Import u_intXX_t size_t type definitions from system headers. You
+ * may need to change this, or define these things yourself in this
+ * file.
+ */
+#include <sys/types.h>
+
+#ifdef SHA2_USE_INTTYPES_H
+
+#include <inttypes.h>
+
+#endif /* SHA2_USE_INTTYPES_H */
+
+
+/*** SHA-256/384/512 Various Length Definitions ***********************/
+#define SHA256_BLOCK_LENGTH 64
+#define SHA256_DIGEST_LENGTH 32
+#define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1)
+#define SHA384_BLOCK_LENGTH 128
+#define SHA384_DIGEST_LENGTH 48
+#define SHA384_DIGEST_STRING_LENGTH (SHA384_DIGEST_LENGTH * 2 + 1)
+#define SHA512_BLOCK_LENGTH 128
+#define SHA512_DIGEST_LENGTH 64
+#define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1)
+
+
+/*** SHA-256/384/512 Context Structures *******************************/
+/* NOTE: If your architecture does not define either u_intXX_t types or
+ * uintXX_t (from inttypes.h), you may need to define things by hand
+ * for your system:
+ */
+#if 0
+typedef unsigned char u_int8_t; /* 1-byte (8-bits) */
+typedef unsigned int u_int32_t; /* 4-bytes (32-bits) */
+typedef unsigned long long u_int64_t; /* 8-bytes (64-bits) */
+#endif
+/*
+ * Most BSD systems already define u_intXX_t types, as does Linux.
+ * Some systems, however, like Compaq's Tru64 Unix instead can use
+ * uintXX_t types defined by very recent ANSI C standards and included
+ * in the file:
+ *
+ * #include <inttypes.h>
+ *
+ * If you choose to use <inttypes.h> then please define:
+ *
+ * #define SHA2_USE_INTTYPES_H
+ *
+ * Or on the command line during compile:
+ *
+ * cc -DSHA2_USE_INTTYPES_H ...
+ */
+#ifdef SHA2_USE_INTTYPES_H
+
+typedef struct _SHA256_CTX {
+ uint32_t state[8];
+ uint64_t bitcount;
+ uint8_t buffer[SHA256_BLOCK_LENGTH];
+} SHA256_CTX;
+typedef struct _SHA512_CTX {
+ uint64_t state[8];
+ uint64_t bitcount[2];
+ uint8_t buffer[SHA512_BLOCK_LENGTH];
+} SHA512_CTX;
+
+#else /* SHA2_USE_INTTYPES_H */
+
+typedef struct _SHA256_CTX {
+ u_int32_t state[8];
+ u_int64_t bitcount;
+ u_int8_t buffer[SHA256_BLOCK_LENGTH];
+} SHA256_CTX;
+typedef struct _SHA512_CTX {
+ u_int64_t state[8];
+ u_int64_t bitcount[2];
+ u_int8_t buffer[SHA512_BLOCK_LENGTH];
+} SHA512_CTX;
+
+#endif /* SHA2_USE_INTTYPES_H */
+
+typedef SHA512_CTX SHA384_CTX;
+
+
+/*** SHA-256/384/512 Function Prototypes ******************************/
+#ifndef NOPROTO
+#ifdef SHA2_USE_INTTYPES_H
+
+void SHA256_Init(SHA256_CTX *);
+void SHA256_Update(SHA256_CTX*, const uint8_t*, size_t);
+void SHA256_Final(uint8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*);
+char* SHA256_End(SHA256_CTX*, char[SHA256_DIGEST_STRING_LENGTH]);
+char* SHA256_Data(const uint8_t*, size_t, char[SHA256_DIGEST_STRING_LENGTH]);
+
+void SHA384_Init(SHA384_CTX*);
+void SHA384_Update(SHA384_CTX*, const uint8_t*, size_t);
+void SHA384_Final(uint8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*);
+char* SHA384_End(SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]);
+char* SHA384_Data(const uint8_t*, size_t, char[SHA384_DIGEST_STRING_LENGTH]);
+
+void SHA512_Init(SHA512_CTX*);
+void SHA512_Update(SHA512_CTX*, const uint8_t*, size_t);
+void SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*);
+char* SHA512_End(SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]);
+char* SHA512_Data(const uint8_t*, size_t, char[SHA512_DIGEST_STRING_LENGTH]);
+
+#else /* SHA2_USE_INTTYPES_H */
+
+void SHA256_Init(SHA256_CTX *);
+void SHA256_Update(SHA256_CTX*, const u_int8_t*, size_t);
+void SHA256_Final(u_int8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*);
+char* SHA256_End(SHA256_CTX*, char[SHA256_DIGEST_STRING_LENGTH]);
+char* SHA256_Data(const u_int8_t*, size_t, char[SHA256_DIGEST_STRING_LENGTH]);
+
+void SHA384_Init(SHA384_CTX*);
+void SHA384_Update(SHA384_CTX*, const u_int8_t*, size_t);
+void SHA384_Final(u_int8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*);
+char* SHA384_End(SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]);
+char* SHA384_Data(const u_int8_t*, size_t, char[SHA384_DIGEST_STRING_LENGTH]);
+
+void SHA512_Init(SHA512_CTX*);
+void SHA512_Update(SHA512_CTX*, const u_int8_t*, size_t);
+void SHA512_Final(u_int8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*);
+char* SHA512_End(SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]);
+char* SHA512_Data(const u_int8_t*, size_t, char[SHA512_DIGEST_STRING_LENGTH]);
+
+#endif /* SHA2_USE_INTTYPES_H */
+
+#else /* NOPROTO */
+
+void SHA256_Init();
+void SHA256_Update();
+void SHA256_Final();
+char* SHA256_End();
+char* SHA256_Data();
+
+void SHA384_Init();
+void SHA384_Update();
+void SHA384_Final();
+char* SHA384_End();
+char* SHA384_Data();
+
+void SHA512_Init();
+void SHA512_Update();
+void SHA512_Final();
+char* SHA512_End();
+char* SHA512_Data();
+
+#endif /* NOPROTO */
+
+#endif /* __SHA2_H__ */
+
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
index 072dda3ac..aaf44b7ff 100644
--- a/apt-pkg/contrib/strutl.cc
+++ b/apt-pkg/contrib/strutl.cc
@@ -15,12 +15,12 @@
##################################################################### */
/*}}}*/
// Includes /*{{{*/
+#include <config.h>
+
#include <apt-pkg/strutl.h>
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
-#include <apti18n.h>
-
#include <ctype.h>
#include <string.h>
#include <stdio.h>
@@ -31,7 +31,7 @@
#include <stdarg.h>
#include <iconv.h>
-#include "config.h"
+#include <apti18n.h>
using namespace std;
/*}}}*/
@@ -271,7 +271,7 @@ bool ParseCWord(const char *&String,string &Res)
string QuoteString(const string &Str, const char *Bad)
{
string Res;
- for (string::const_iterator I = Str.begin(); I != Str.end(); I++)
+ for (string::const_iterator I = Str.begin(); I != Str.end(); ++I)
{
if (strchr(Bad,*I) != 0 || isprint(*I) == 0 ||
*I == 0x25 || // percent '%' char
@@ -298,7 +298,7 @@ string DeQuoteString(string::const_iterator const &begin,
string::const_iterator const &end)
{
string Res;
- for (string::const_iterator I = begin; I != end; I++)
+ for (string::const_iterator I = begin; I != end; ++I)
{
if (*I == '%' && I + 2 < end &&
isxdigit(I[1]) && isxdigit(I[2]))
@@ -632,7 +632,7 @@ string LookupTag(const string &Message,const char *Tag,const char *Default)
{
// Look for a matching tag.
int Length = strlen(Tag);
- for (string::const_iterator I = Message.begin(); I + Length < Message.end(); I++)
+ for (string::const_iterator I = Message.begin(); I + Length < Message.end(); ++I)
{
// Found the tag
if (I[Length] == ':' && stringcasecmp(I,I+Length,Tag) == 0)
@@ -640,14 +640,14 @@ string LookupTag(const string &Message,const char *Tag,const char *Default)
// Find the end of line and strip the leading/trailing spaces
string::const_iterator J;
I += Length + 1;
- for (; isspace(*I) != 0 && I < Message.end(); I++);
- for (J = I; *J != '\n' && J < Message.end(); J++);
- for (; J > I && isspace(J[-1]) != 0; J--);
+ for (; isspace(*I) != 0 && I < Message.end(); ++I);
+ for (J = I; *J != '\n' && J < Message.end(); ++J);
+ for (; J > I && isspace(J[-1]) != 0; --J);
return string(I,J);
}
- for (; *I != '\n' && I < Message.end(); I++);
+ for (; *I != '\n' && I < Message.end(); ++I);
}
// Failed to find a match
@@ -970,6 +970,34 @@ bool StrToNum(const char *Str,unsigned long &Res,unsigned Len,unsigned Base)
return true;
}
/*}}}*/
+// StrToNum - Convert a fixed length string to a number /*{{{*/
+// ---------------------------------------------------------------------
+/* This is used in decoding the crazy fixed length string headers in
+ tar and ar files. */
+bool StrToNum(const char *Str,unsigned long long &Res,unsigned Len,unsigned Base)
+{
+ char S[30];
+ if (Len >= sizeof(S))
+ return false;
+ memcpy(S,Str,Len);
+ S[Len] = 0;
+
+ // All spaces is a zero
+ Res = 0;
+ unsigned I;
+ for (I = 0; S[I] == ' '; I++);
+ if (S[I] == 0)
+ return true;
+
+ char *End;
+ Res = strtoull(S,&End,Base);
+ if (End == S)
+ return false;
+
+ return true;
+}
+ /*}}}*/
+
// Base256ToNum - Convert a fixed length binary to a number /*{{{*/
// ---------------------------------------------------------------------
/* This is used in decoding the 256bit encoded fixed length fields in
@@ -1224,7 +1252,7 @@ int tolower_ascii(int const c)
bool CheckDomainList(const string &Host,const string &List)
{
string::const_iterator Start = List.begin();
- for (string::const_iterator Cur = List.begin(); Cur <= List.end(); Cur++)
+ for (string::const_iterator Cur = List.begin(); Cur <= List.end(); ++Cur)
{
if (Cur < List.end() && *Cur != ',')
continue;
@@ -1240,7 +1268,68 @@ bool CheckDomainList(const string &Host,const string &List)
return false;
}
/*}}}*/
+// DeEscapeString - unescape (\0XX and \xXX) from a string /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string DeEscapeString(const string &input)
+{
+ char tmp[3];
+ string::const_iterator it, escape_start;
+ string output, octal, hex;
+ for (it = input.begin(); it != input.end(); ++it)
+ {
+ // just copy non-escape chars
+ if (*it != '\\')
+ {
+ output += *it;
+ continue;
+ }
+
+ // deal with double escape
+ if (*it == '\\' &&
+ (it + 1 < input.end()) && it[1] == '\\')
+ {
+ // copy
+ output += *it;
+ // advance iterator one step further
+ ++it;
+ continue;
+ }
+
+ // ensure we have a char to read
+ if (it + 1 == input.end())
+ continue;
+ // read it
+ ++it;
+ switch (*it)
+ {
+ case '0':
+ if (it + 2 <= input.end()) {
+ tmp[0] = it[1];
+ tmp[1] = it[2];
+ tmp[2] = 0;
+ output += (char)strtol(tmp, 0, 8);
+ it += 2;
+ }
+ break;
+ case 'x':
+ if (it + 2 <= input.end()) {
+ tmp[0] = it[1];
+ tmp[1] = it[2];
+ tmp[2] = 0;
+ output += (char)strtol(tmp, 0, 16);
+ it += 2;
+ }
+ break;
+ default:
+ // FIXME: raise exception here?
+ break;
+ }
+ }
+ return output;
+}
+ /*}}}*/
// URI::CopyFrom - Copy from an object /*{{{*/
// ---------------------------------------------------------------------
/* This parses the URI into all of its components */
@@ -1249,7 +1338,7 @@ void URI::CopyFrom(const string &U)
string::const_iterator I = U.begin();
// Locate the first colon, this separates the scheme
- for (; I < U.end() && *I != ':' ; I++);
+ for (; I < U.end() && *I != ':' ; ++I);
string::const_iterator FirstColon = I;
/* Determine if this is a host type URI with a leading double //
@@ -1261,7 +1350,7 @@ void URI::CopyFrom(const string &U)
/* Find the / indicating the end of the hostname, ignoring /'s in the
square brackets */
bool InBracket = false;
- for (; SingleSlash < U.end() && (*SingleSlash != '/' || InBracket == true); SingleSlash++)
+ for (; SingleSlash < U.end() && (*SingleSlash != '/' || InBracket == true); ++SingleSlash)
{
if (*SingleSlash == '[')
InBracket = true;
@@ -1294,11 +1383,11 @@ void URI::CopyFrom(const string &U)
I = FirstColon + 1;
if (I > SingleSlash)
I = SingleSlash;
- for (; I < SingleSlash && *I != ':'; I++);
+ for (; I < SingleSlash && *I != ':'; ++I);
string::const_iterator SecondColon = I;
// Search for the @ after the colon
- for (; I < SingleSlash && *I != '@'; I++);
+ for (; I < SingleSlash && *I != '@'; ++I);
string::const_iterator At = I;
// Now write the host and user/pass
diff --git a/apt-pkg/contrib/strutl.h b/apt-pkg/contrib/strutl.h
index 89cbf0370..ab4b54722 100644
--- a/apt-pkg/contrib/strutl.h
+++ b/apt-pkg/contrib/strutl.h
@@ -39,6 +39,10 @@ bool ParseCWord(const char *&String,string &Res);
string QuoteString(const string &Str,const char *Bad);
string DeQuoteString(const string &Str);
string DeQuoteString(string::const_iterator const &begin, string::const_iterator const &end);
+
+// unescape (\0XX and \xXX) from a string
+string DeEscapeString(const string &input);
+
string SizeToStr(double Bytes);
string TimeToStr(unsigned long Sec);
string Base64Encode(const string &Str);
@@ -52,6 +56,7 @@ string LookupTag(const string &Message,const char *Tag,const char *Default = 0);
int StringToBool(const string &Text,int Default = -1);
bool ReadMessages(int Fd, vector<string> &List);
bool StrToNum(const char *Str,unsigned long &Res,unsigned Len,unsigned Base = 0);
+bool StrToNum(const char *Str,unsigned long long &Res,unsigned Len,unsigned Base = 0);
bool Base256ToNum(const char *Str,unsigned long &Res,unsigned int Len);
bool Hex2Num(const string &Str,unsigned char *Num,unsigned int Length);
bool TokSplitString(char Tok,char *Input,char **List,
diff --git a/apt-pkg/deb/debindexfile.cc b/apt-pkg/deb/debindexfile.cc
index c9e7f1176..27c1f7f32 100644
--- a/apt-pkg/deb/debindexfile.cc
+++ b/apt-pkg/deb/debindexfile.cc
@@ -9,6 +9,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/debindexfile.h>
#include <apt-pkg/debsrcrecords.h>
#include <apt-pkg/deblistparser.h>
@@ -352,7 +354,7 @@ pkgCache::PkgFileIterator debPackagesIndex::FindInCache(pkgCache &Cache) const
{
string FileName = IndexFile("Packages");
pkgCache::PkgFileIterator File = Cache.FileBegin();
- for (; File.end() == false; File++)
+ for (; File.end() == false; ++File)
{
if (File.FileName() == NULL || FileName != File.FileName())
continue;
@@ -540,7 +542,7 @@ pkgCache::PkgFileIterator debTranslationsIndex::FindInCache(pkgCache &Cache) con
string FileName = IndexFile(Language);
pkgCache::PkgFileIterator File = Cache.FileBegin();
- for (; File.end() == false; File++)
+ for (; File.end() == false; ++File)
{
if (FileName != File.FileName())
continue;
@@ -620,7 +622,7 @@ bool debStatusIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const
pkgCache::PkgFileIterator debStatusIndex::FindInCache(pkgCache &Cache) const
{
pkgCache::PkgFileIterator File = Cache.FileBegin();
- for (; File.end() == false; File++)
+ for (; File.end() == false; ++File)
{
if (this->File != File.FileName())
continue;
diff --git a/apt-pkg/deb/debindexfile.h b/apt-pkg/deb/debindexfile.h
index b5085992d..678c22473 100644
--- a/apt-pkg/deb/debindexfile.h
+++ b/apt-pkg/deb/debindexfile.h
@@ -22,8 +22,12 @@
class debStatusIndex : public pkgIndexFile
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
+ protected:
string File;
-
+
public:
virtual const Type *GetType() const;
@@ -36,13 +40,18 @@ class debStatusIndex : public pkgIndexFile
virtual bool HasPackages() const {return true;};
virtual unsigned long Size() const;
virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
+ bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog, unsigned long const Flag) const;
virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
debStatusIndex(string File);
+ virtual ~debStatusIndex() {};
};
class debPackagesIndex : public pkgIndexFile
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
string URI;
string Dist;
string Section;
@@ -72,10 +81,14 @@ class debPackagesIndex : public pkgIndexFile
debPackagesIndex(string const &URI, string const &Dist, string const &Section,
bool const &Trusted, string const &Arch = "native");
+ virtual ~debPackagesIndex() {};
};
class debTranslationsIndex : public pkgIndexFile
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
string URI;
string Dist;
string Section;
@@ -103,10 +116,14 @@ class debTranslationsIndex : public pkgIndexFile
virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
debTranslationsIndex(string URI,string Dist,string Section, char const * const Language);
+ virtual ~debTranslationsIndex() {};
};
class debSourcesIndex : public pkgIndexFile
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
string URI;
string Dist;
string Section;
@@ -136,6 +153,7 @@ class debSourcesIndex : public pkgIndexFile
virtual unsigned long Size() const;
debSourcesIndex(string URI,string Dist,string Section,bool Trusted);
+ virtual ~debSourcesIndex() {};
};
#endif
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index 9ae1065a4..a4a974897 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -10,6 +10,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/deblistparser.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
@@ -128,12 +130,7 @@ bool debListParser::NewVersion(pkgCache::VerIterator &Ver)
}
if (ArchitectureAll() == true)
- switch (Ver->MultiArch)
- {
- case pkgCache::Version::Foreign: Ver->MultiArch = pkgCache::Version::AllForeign; break;
- case pkgCache::Version::Allowed: Ver->MultiArch = pkgCache::Version::AllAllowed; break;
- default: Ver->MultiArch = pkgCache::Version::All;
- }
+ Ver->MultiArch |= pkgCache::Version::All;
// Archive Size
Ver->Size = Section.FindULL("Size");
@@ -203,7 +200,7 @@ string debListParser::DescriptionLanguage()
std::vector<string> const lang = APT::Configuration::getLanguages(true);
for (std::vector<string>::const_iterator l = lang.begin();
- l != lang.end(); l++)
+ l != lang.end(); ++l)
if (Section.FindS(string("Description-").append(*l).c_str()).empty() == false)
return *l;
@@ -461,7 +458,7 @@ const char *debListParser::ConvertRelation(const char *I,unsigned int &Op)
*
* The complete architecture, consisting of <kernel>-<cpu>.
*/
-static string CompleteArch(std::string& arch) {
+static string CompleteArch(std::string const &arch) {
if (arch == "armel") return "linux-arm";
if (arch == "armhf") return "linux-arm";
if (arch == "lpia") return "linux-i386";
@@ -500,9 +497,13 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
Package.assign(Start,I - Start);
// We don't want to confuse library users which can't handle MultiArch
+ string const arch = _config->Find("APT::Architecture");
if (StripMultiArch == true) {
size_t const found = Package.rfind(':');
- if (found != string::npos)
+ if (found != string::npos &&
+ (strcmp(Package.c_str() + found, ":any") == 0 ||
+ strcmp(Package.c_str() + found, ":native") == 0 ||
+ strcmp(Package.c_str() + found + 1, arch.c_str()) == 0))
Package = Package.substr(0,found);
}
@@ -543,7 +544,6 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
if (ParseArchFlags == true)
{
- string arch = _config->Find("APT::Architecture");
string completeArch = CompleteArch(arch);
// Parse an architecture
@@ -687,12 +687,12 @@ bool debListParser::ParseProvides(pkgCache::VerIterator &Ver)
if (MultiArchEnabled == false)
return true;
- else if (Ver->MultiArch == pkgCache::Version::Allowed || Ver->MultiArch == pkgCache::Version::AllAllowed)
+ else if ((Ver->MultiArch & pkgCache::Version::Allowed) == pkgCache::Version::Allowed)
{
string const Package = string(Ver.ParentPkg().Name()).append(":").append("any");
return NewProvidesAllArch(Ver, Package, Ver.VerStr());
}
- else if (Ver->MultiArch == pkgCache::Version::Foreign || Ver->MultiArch == pkgCache::Version::AllForeign)
+ else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign)
return NewProvidesAllArch(Ver, Ver.ParentPkg().Name(), Ver.VerStr());
return true;
@@ -781,7 +781,9 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,
size_t len = 0;
// Skip empty lines
- for (; buffer[len] == '\r' && buffer[len] == '\n'; ++len);
+ for (; buffer[len] == '\r' && buffer[len] == '\n'; ++len)
+ /* nothing */
+ ;
if (buffer[len] == '\0')
continue;
@@ -795,13 +797,25 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,
}
// seperate the tag from the data
- for (; buffer[len] != ':' && buffer[len] != '\0'; ++len);
+ for (; buffer[len] != ':' && buffer[len] != '\0'; ++len)
+ /* nothing */
+ ;
if (buffer[len] == '\0')
continue;
char* dataStart = buffer + len;
- for (++dataStart; *dataStart == ' '; ++dataStart);
+ for (++dataStart; *dataStart == ' '; ++dataStart)
+ /* nothing */
+ ;
char* dataEnd = dataStart;
- for (++dataEnd; *dataEnd != '\0'; ++dataEnd);
+ for (++dataEnd; *dataEnd != '\0'; ++dataEnd)
+ /* nothing */
+ ;
+ // The last char should be a newline, but we can never be sure: #633350
+ char* lineEnd = dataEnd;
+ for (--lineEnd; *lineEnd == '\r' || *lineEnd == '\n'; --lineEnd)
+ /* nothing */
+ ;
+ ++lineEnd;
// which datastorage need to be updated
map_ptrloc* writeTo = NULL;
@@ -816,7 +830,7 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,
APT_PARSER_WRITETO(FileI->Label, "Label")
#undef APT_PARSER_WRITETO
#define APT_PARSER_FLAGIT(X) else if (strncmp(#X, buffer, len) == 0) \
- pkgTagSection::FindFlag(FileI->Flags, pkgCache::Flag:: X, dataStart, dataEnd-1);
+ pkgTagSection::FindFlag(FileI->Flags, pkgCache::Flag:: X, dataStart, lineEnd);
APT_PARSER_FLAGIT(NotAutomatic)
APT_PARSER_FLAGIT(ButAutomaticUpgrades)
#undef APT_PARSER_FLAGIT
diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h
index d62ce641c..41d712fbf 100644
--- a/apt-pkg/deb/deblistparser.h
+++ b/apt-pkg/deb/deblistparser.h
@@ -25,9 +25,12 @@ class debListParser : public pkgCacheGenerator::ListParser
const char *Str;
unsigned char Val;
};
-
+
private:
-
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
+ protected:
pkgTagFile Tags;
pkgTagSection Section;
unsigned long iOffset;
@@ -36,7 +39,7 @@ class debListParser : public pkgCacheGenerator::ListParser
bool MultiArchEnabled;
unsigned long UniqFindTagWrite(const char *Tag);
- bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver);
+ virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver);
bool ParseDepends(pkgCache::VerIterator &Ver,const char *Tag,
unsigned int Type);
bool ParseProvides(pkgCache::VerIterator &Ver);
@@ -74,6 +77,7 @@ class debListParser : public pkgCacheGenerator::ListParser
static const char *ConvertRelation(const char *I,unsigned int &Op);
debListParser(FileFd *File, string const &Arch = "");
+ virtual ~debListParser() {};
};
#endif
diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc
index a91cc34e9..1d3754b00 100644
--- a/apt-pkg/deb/debmetaindex.cc
+++ b/apt-pkg/deb/debmetaindex.cc
@@ -1,4 +1,5 @@
// ijones, walters
+#include <config.h>
#include <apt-pkg/debmetaindex.h>
#include <apt-pkg/debindexfile.h>
@@ -142,11 +143,13 @@ string debReleaseIndex::TranslationIndexURI(const char *Type, const string &Sect
return URI + "dists/" + Dist + "/" + TranslationIndexURISuffix(Type, Section);
}
-debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist) {
- this->URI = URI;
- this->Dist = Dist;
- this->Indexes = NULL;
- this->Type = "deb";
+debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist) :
+ metaIndex(URI, Dist, "deb"), Trusted(CHECK_TRUST)
+{}
+
+debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist, bool const Trusted) :
+ metaIndex(URI, Dist, "deb") {
+ SetTrusted(Trusted);
}
debReleaseIndex::~debReleaseIndex() {
@@ -206,7 +209,7 @@ vector <struct IndexTarget *>* debReleaseIndex::ComputeIndexTargets() const {
for (std::set<std::string>::const_iterator s = sections.begin();
s != sections.end(); ++s) {
for (std::vector<std::string>::const_iterator l = lang.begin();
- l != lang.end(); l++) {
+ l != lang.end(); ++l) {
if (*l == "none") continue;
IndexTarget * Target = new OptionalIndexTarget();
Target->ShortDesc = "Translation-" + *l;
@@ -236,7 +239,7 @@ bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const
// special case for --print-uris
if (GetAll) {
vector <struct IndexTarget *> *targets = ComputeIndexTargets();
- for (vector <struct IndexTarget*>::const_iterator Target = targets->begin(); Target != targets->end(); Target++) {
+ for (vector <struct IndexTarget*>::const_iterator Target = targets->begin(); Target != targets->end(); ++Target) {
new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description,
(*Target)->ShortDesc, HashString());
}
@@ -252,8 +255,22 @@ bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const
return true;
}
+void debReleaseIndex::SetTrusted(bool const Trusted)
+{
+ if (Trusted == true)
+ this->Trusted = ALWAYS_TRUSTED;
+ else
+ this->Trusted = NEVER_TRUSTED;
+}
+
bool debReleaseIndex::IsTrusted() const
{
+ if (Trusted == ALWAYS_TRUSTED)
+ return true;
+ else if (Trusted == NEVER_TRUSTED)
+ return false;
+
+
if(_config->FindB("APT::Authentication::TrustCDROM", false))
if(URI.substr(0,strlen("cdrom:")) == "cdrom:")
return true;
@@ -279,7 +296,7 @@ vector <pkgIndexFile *> *debReleaseIndex::GetIndexFiles() {
if (src != ArchEntries.end()) {
vector<debSectionEntry const*> const SectionEntries = src->second;
for (vector<debSectionEntry const*>::const_iterator I = SectionEntries.begin();
- I != SectionEntries.end(); I++)
+ I != SectionEntries.end(); ++I)
Indexes->push_back(new debSourcesIndex (URI, Dist, (*I)->Section, IsTrusted()));
}
@@ -294,7 +311,7 @@ vector <pkgIndexFile *> *debReleaseIndex::GetIndexFiles() {
if (a->first == "source")
continue;
for (vector<debSectionEntry const*>::const_iterator I = a->second.begin();
- I != a->second.end(); I++) {
+ I != a->second.end(); ++I) {
Indexes->push_back(new debPackagesIndex (URI, Dist, (*I)->Section, IsTrusted(), a->first));
sections[(*I)->Section].insert(lang.begin(), lang.end());
}
@@ -303,7 +320,7 @@ vector <pkgIndexFile *> *debReleaseIndex::GetIndexFiles() {
for (map<string, set<string> >::const_iterator s = sections.begin();
s != sections.end(); ++s)
for (set<string>::const_iterator l = s->second.begin();
- l != s->second.end(); l++) {
+ l != s->second.end(); ++l) {
if (*l == "none") continue;
Indexes->push_back(new debTranslationsIndex(URI,Dist,s->first,(*l).c_str()));
}
@@ -349,15 +366,19 @@ class debSLTypeDebian : public pkgSourceList::Type
vector<string> const Archs =
(arch != Options.end()) ? VectorizeString(arch->second, ',') :
APT::Configuration::getArchitectures();
+ map<string, string>::const_iterator const trusted = Options.find("trusted");
for (vector<metaIndex *>::const_iterator I = List.begin();
- I != List.end(); I++)
+ I != List.end(); ++I)
{
// We only worry about debian entries here
if (strcmp((*I)->GetType(), "deb") != 0)
continue;
debReleaseIndex *Deb = (debReleaseIndex *) (*I);
+ if (trusted != Options.end())
+ Deb->SetTrusted(StringToBool(trusted->second, false));
+
/* This check insures that there will be only one Release file
queued for all the Packages files and Sources files it
corresponds to. */
@@ -375,9 +396,14 @@ class debSLTypeDebian : public pkgSourceList::Type
return true;
}
}
+
// No currently created Release file indexes this entry, so we create a new one.
- // XXX determine whether this release is trusted or not
- debReleaseIndex *Deb = new debReleaseIndex(URI, Dist);
+ debReleaseIndex *Deb;
+ if (trusted != Options.end())
+ Deb = new debReleaseIndex(URI, Dist, StringToBool(trusted->second, false));
+ else
+ Deb = new debReleaseIndex(URI, Dist);
+
if (IsSrc == true)
Deb->PushSectionEntry ("source", new debReleaseIndex::debSectionEntry(Section, IsSrc));
else
diff --git a/apt-pkg/deb/debmetaindex.h b/apt-pkg/deb/debmetaindex.h
index 1561c6e00..695cfa7cc 100644
--- a/apt-pkg/deb/debmetaindex.h
+++ b/apt-pkg/deb/debmetaindex.h
@@ -19,12 +19,16 @@ class debReleaseIndex : public metaIndex {
};
private:
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
std::map<string, vector<debSectionEntry const*> > ArchEntries;
+ enum { ALWAYS_TRUSTED, NEVER_TRUSTED, CHECK_TRUST } Trusted;
public:
debReleaseIndex(string const &URI, string const &Dist);
- ~debReleaseIndex();
+ debReleaseIndex(string const &URI, string const &Dist, bool const Trusted);
+ virtual ~debReleaseIndex();
virtual string ArchiveURI(string const &File) const {return URI + File;};
virtual bool GetIndexes(pkgAcquire *Owner, bool const &GetAll=false) const;
@@ -41,6 +45,7 @@ class debReleaseIndex : public metaIndex {
string TranslationIndexURISuffix(const char *Type, const string &Section) const;
virtual vector <pkgIndexFile *> *GetIndexFiles();
+ void SetTrusted(bool const Trusted);
virtual bool IsTrusted() const;
void PushSectionEntry(vector<string> const &Archs, const debSectionEntry *Entry);
diff --git a/apt-pkg/deb/debrecords.cc b/apt-pkg/deb/debrecords.cc
index ec9e395ef..4dfc8b56a 100644
--- a/apt-pkg/deb/debrecords.cc
+++ b/apt-pkg/deb/debrecords.cc
@@ -8,6 +8,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/debrecords.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
@@ -77,7 +79,7 @@ string debRecordParser::SHA1Hash()
return Section.FindS("SHA1");
}
/*}}}*/
-// RecordParser::SHA1Hash - Return the archive hash /*{{{*/
+// RecordParser::SHA256Hash - Return the archive hash /*{{{*/
// ---------------------------------------------------------------------
/* */
string debRecordParser::SHA256Hash()
@@ -85,6 +87,14 @@ string debRecordParser::SHA256Hash()
return Section.FindS("SHA256");
}
/*}}}*/
+// RecordParser::SHA512Hash - Return the archive hash /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::SHA512Hash()
+{
+ return Section.FindS("SHA512");
+}
+ /*}}}*/
// RecordParser::Maintainer - Return the maintainer email /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -93,6 +103,15 @@ string debRecordParser::Maintainer()
return Section.FindS("Maintainer");
}
/*}}}*/
+// RecordParser::RecordField - Return the value of an arbitrary field /*{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::RecordField(const char *fieldName)
+{
+ return Section.FindS(fieldName);
+}
+
+ /*}}}*/
// RecordParser::ShortDesc - Return a 1 line description /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -118,7 +137,7 @@ string debRecordParser::LongDesc()
{
vector<string> const lang = APT::Configuration::getLanguages();
for (vector<string>::const_iterator l = lang.begin();
- orig.empty() && l != lang.end(); l++)
+ orig.empty() && l != lang.end(); ++l)
orig = Section.FindS(string("Description-").append(*l).c_str());
}
diff --git a/apt-pkg/deb/debrecords.h b/apt-pkg/deb/debrecords.h
index 6f358abfa..7868bfa3d 100644
--- a/apt-pkg/deb/debrecords.h
+++ b/apt-pkg/deb/debrecords.h
@@ -20,6 +20,9 @@
class debRecordParser : public pkgRecords::Parser
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
FileFd File;
pkgTagFile Tags;
pkgTagSection Section;
@@ -36,6 +39,7 @@ class debRecordParser : public pkgRecords::Parser
virtual string MD5Hash();
virtual string SHA1Hash();
virtual string SHA256Hash();
+ virtual string SHA512Hash();
virtual string SourcePkg();
virtual string SourceVer();
@@ -46,9 +50,13 @@ class debRecordParser : public pkgRecords::Parser
virtual string Name();
virtual string Homepage();
+ // An arbitrary custom field
+ virtual string RecordField(const char *fieldName);
+
virtual void GetRec(const char *&Start,const char *&Stop);
debRecordParser(string FileName,pkgCache &Cache);
+ virtual ~debRecordParser() {};
};
#endif
diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc
index 749305005..c9c20267b 100644
--- a/apt-pkg/deb/debsrcrecords.cc
+++ b/apt-pkg/deb/debsrcrecords.cc
@@ -9,6 +9,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/deblistparser.h>
#include <apt-pkg/debsrcrecords.h>
#include <apt-pkg/error.h>
diff --git a/apt-pkg/deb/debsrcrecords.h b/apt-pkg/deb/debsrcrecords.h
index 905264daa..aa859b0e6 100644
--- a/apt-pkg/deb/debsrcrecords.h
+++ b/apt-pkg/deb/debsrcrecords.h
@@ -18,6 +18,9 @@
class debSrcRecordParser : public pkgSrcRecords::Parser
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
FileFd Fd;
pkgTagFile Tags;
pkgTagSection Sect;
@@ -50,7 +53,7 @@ class debSrcRecordParser : public pkgSrcRecords::Parser
debSrcRecordParser(string const &File,pkgIndexFile const *Index)
: Parser(Index), Fd(File,FileFd::ReadOnlyGzip), Tags(&Fd,102400),
Buffer(0), BufSize(0) {}
- ~debSrcRecordParser();
+ virtual ~debSrcRecordParser();
};
#endif
diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc
index 8619822df..080af5659 100644
--- a/apt-pkg/deb/debsystem.cc
+++ b/apt-pkg/deb/debsystem.cc
@@ -10,6 +10,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/debsystem.h>
#include <apt-pkg/debversion.h>
#include <apt-pkg/debindexfile.h>
@@ -17,24 +19,34 @@
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
#include <apt-pkg/fileutl.h>
-#include <apti18n.h>
#include <sys/types.h>
#include <unistd.h>
#include <dirent.h>
#include <errno.h>
+
+#include <apti18n.h>
/*}}}*/
debSystem debSys;
+class debSystemPrivate {
+public:
+ debSystemPrivate() : LockFD(-1), LockCount(0), StatusFile(0)
+ {
+ }
+ // For locking support
+ int LockFD;
+ unsigned LockCount;
+
+ debStatusIndex *StatusFile;
+};
+
// System::debSystem - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* */
debSystem::debSystem()
{
- LockFD = -1;
- LockCount = 0;
- StatusFile = 0;
-
+ d = new debSystemPrivate();
Label = "Debian dpkg interface";
VS = &debVS;
}
@@ -44,7 +56,8 @@ debSystem::debSystem()
/* */
debSystem::~debSystem()
{
- delete StatusFile;
+ delete d->StatusFile;
+ delete d;
}
/*}}}*/
// System::Lock - Get the lock /*{{{*/
@@ -54,16 +67,16 @@ debSystem::~debSystem()
bool debSystem::Lock()
{
// Disable file locking
- if (_config->FindB("Debug::NoLocking",false) == true || LockCount > 1)
+ if (_config->FindB("Debug::NoLocking",false) == true || d->LockCount > 1)
{
- LockCount++;
+ d->LockCount++;
return true;
}
// Create the lockfile
string AdminDir = flNotFile(_config->Find("Dir::State::status"));
- LockFD = GetLock(AdminDir + "lock");
- if (LockFD == -1)
+ d->LockFD = GetLock(AdminDir + "lock");
+ if (d->LockFD == -1)
{
if (errno == EACCES || errno == EAGAIN)
return _error->Error(_("Unable to lock the administration directory (%s), "
@@ -76,8 +89,8 @@ bool debSystem::Lock()
// See if we need to abort with a dirty journal
if (CheckUpdates() == true)
{
- close(LockFD);
- LockFD = -1;
+ close(d->LockFD);
+ d->LockFD = -1;
const char *cmd;
if (getenv("SUDO_USER") != NULL)
cmd = "sudo dpkg --configure -a";
@@ -89,7 +102,7 @@ bool debSystem::Lock()
"run '%s' to correct the problem. "), cmd);
}
- LockCount++;
+ d->LockCount++;
return true;
}
@@ -99,15 +112,15 @@ bool debSystem::Lock()
/* */
bool debSystem::UnLock(bool NoErrors)
{
- if (LockCount == 0 && NoErrors == true)
+ if (d->LockCount == 0 && NoErrors == true)
return false;
- if (LockCount < 1)
+ if (d->LockCount < 1)
return _error->Error(_("Not locked"));
- if (--LockCount == 0)
+ if (--d->LockCount == 0)
{
- close(LockFD);
- LockCount = 0;
+ close(d->LockFD);
+ d->LockCount = 0;
}
return true;
@@ -168,9 +181,9 @@ bool debSystem::Initialize(Configuration &Cnf)
Cnf.CndSet("Dir::State::status","/var/lib/dpkg/status");
Cnf.CndSet("Dir::Bin::dpkg","/usr/bin/dpkg");
- if (StatusFile) {
- delete StatusFile;
- StatusFile = 0;
+ if (d->StatusFile) {
+ delete d->StatusFile;
+ d->StatusFile = 0;
}
return true;
@@ -208,9 +221,9 @@ signed debSystem::Score(Configuration const &Cnf)
/* */
bool debSystem::AddStatusFiles(vector<pkgIndexFile *> &List)
{
- if (StatusFile == 0)
- StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status"));
- List.push_back(StatusFile);
+ if (d->StatusFile == 0)
+ d->StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status"));
+ List.push_back(d->StatusFile);
return true;
}
/*}}}*/
@@ -220,11 +233,11 @@ bool debSystem::AddStatusFiles(vector<pkgIndexFile *> &List)
bool debSystem::FindIndex(pkgCache::PkgFileIterator File,
pkgIndexFile *&Found) const
{
- if (StatusFile == 0)
+ if (d->StatusFile == 0)
return false;
- if (StatusFile->FindInCache(*File.Cache()) == File)
+ if (d->StatusFile->FindInCache(*File.Cache()) == File)
{
- Found = StatusFile;
+ Found = d->StatusFile;
return true;
}
diff --git a/apt-pkg/deb/debsystem.h b/apt-pkg/deb/debsystem.h
index 5f9995e5d..232155256 100644
--- a/apt-pkg/deb/debsystem.h
+++ b/apt-pkg/deb/debsystem.h
@@ -12,16 +12,15 @@
#include <apt-pkg/pkgsystem.h>
+class debSystemPrivate;
+
class debStatusIndex;
class debSystem : public pkgSystem
{
- // For locking support
- int LockFD;
- unsigned LockCount;
+ // private d-pointer
+ debSystemPrivate *d;
bool CheckUpdates();
-
- debStatusIndex *StatusFile;
-
+
public:
virtual bool Lock();
@@ -35,7 +34,7 @@ class debSystem : public pkgSystem
pkgIndexFile *&Found) const;
debSystem();
- ~debSystem();
+ virtual ~debSystem();
};
extern debSystem debSys;
diff --git a/apt-pkg/deb/debversion.cc b/apt-pkg/deb/debversion.cc
index 755ffbe96..ba32b2dd4 100644
--- a/apt-pkg/deb/debversion.cc
+++ b/apt-pkg/deb/debversion.cc
@@ -11,6 +11,7 @@
/*}}}*/
// Include Files /*{{{*/
#define APT_COMPATIBILITY 986
+#include <config.h>
#include <apt-pkg/debversion.h>
#include <apt-pkg/pkgcache.h>
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 57361ccdc..0cc21f322 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -8,6 +8,8 @@
##################################################################### */
/*}}}*/
// Includes /*{{{*/
+#include <config.h>
+
#include <apt-pkg/dpkgpm.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
@@ -41,12 +43,26 @@
#include <sys/ioctl.h>
#include <pty.h>
-#include <config.h>
#include <apti18n.h>
/*}}}*/
using namespace std;
+class pkgDPkgPMPrivate
+{
+public:
+ pkgDPkgPMPrivate() : dpkgbuf_pos(0), term_out(NULL), history_out(NULL)
+ {
+ }
+ bool stdin_is_dev_null;
+ // the buffer we use for the dpkg status-fd reading
+ char dpkgbuf[1024];
+ int dpkgbuf_pos;
+ FILE *term_out;
+ FILE *history_out;
+ string dpkg_error;
+};
+
namespace
{
// Maps the dpkg "processing" info to human readable names. Entry 0
@@ -111,9 +127,9 @@ ionice(int PID)
// ---------------------------------------------------------------------
/* */
pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache)
- : pkgPackageManager(Cache), dpkgbuf_pos(0),
- term_out(NULL), history_out(NULL), PackagesDone(0), PackagesTotal(0)
+ : pkgPackageManager(Cache), PackagesDone(0), PackagesTotal(0)
{
+ d = new pkgDPkgPMPrivate();
}
/*}}}*/
// DPkgPM::pkgDPkgPM - Destructor /*{{{*/
@@ -121,6 +137,7 @@ pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache)
/* */
pkgDPkgPM::~pkgDPkgPM()
{
+ delete d;
}
/*}}}*/
// DPkgPM::Install - Install a package /*{{{*/
@@ -214,7 +231,7 @@ bool pkgDPkgPM::SendV2Pkgs(FILE *F)
fprintf(F,"\n");
// Write out the package actions in order.
- for (vector<Item>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<Item>::iterator I = List.begin(); I != List.end(); ++I)
{
if(I->Pkg.end() == true)
continue;
@@ -336,7 +353,7 @@ bool pkgDPkgPM::RunScriptsWithPkgs(const char *Cnf)
// Feed it the filenames.
if (Version <= 1)
{
- for (vector<Item>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<Item>::iterator I = List.begin(); I != List.end(); ++I)
{
// Only deal with packages to be installed from .deb
if (I->Op != Item::Install)
@@ -377,7 +394,7 @@ void pkgDPkgPM::DoStdin(int master)
if (len)
write(master, input_buf, len);
else
- stdin_is_dev_null = true;
+ d->stdin_is_dev_null = true;
}
/*}}}*/
// DPkgPM::DoTerminalPty - Read the terminal pty and write log /*{{{*/
@@ -402,8 +419,8 @@ void pkgDPkgPM::DoTerminalPty(int master)
if(len <= 0)
return;
write(1, term_buf, len);
- if(term_out)
- fwrite(term_buf, len, sizeof(char), term_out);
+ if(d->term_out)
+ fwrite(term_buf, len, sizeof(char), d->term_out);
}
/*}}}*/
// DPkgPM::ProcessDpkgStatusBuf /*{{{*/
@@ -607,14 +624,14 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd)
char *p, *q;
int len;
- len=read(statusfd, &dpkgbuf[dpkgbuf_pos], sizeof(dpkgbuf)-dpkgbuf_pos);
- dpkgbuf_pos += len;
+ len=read(statusfd, &d->dpkgbuf[d->dpkgbuf_pos], sizeof(d->dpkgbuf)-d->dpkgbuf_pos);
+ d->dpkgbuf_pos += len;
if(len <= 0)
return;
// process line by line if we have a buffer
- p = q = dpkgbuf;
- while((q=(char*)memchr(p, '\n', dpkgbuf+dpkgbuf_pos-p)) != NULL)
+ p = q = d->dpkgbuf;
+ while((q=(char*)memchr(p, '\n', d->dpkgbuf+d->dpkgbuf_pos-p)) != NULL)
{
*q = 0;
ProcessDpkgStatusLine(OutStatusFd, p);
@@ -622,8 +639,8 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd)
}
// now move the unprocessed bits (after the final \n that is now a 0x0)
- // to the start and update dpkgbuf_pos
- p = (char*)memrchr(dpkgbuf, 0, dpkgbuf_pos);
+ // to the start and update d->dpkgbuf_pos
+ p = (char*)memrchr(d->dpkgbuf, 0, d->dpkgbuf_pos);
if(p == NULL)
return;
@@ -631,8 +648,8 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd)
p++;
// move the unprocessed tail to the start and update pos
- memmove(dpkgbuf, p, p-dpkgbuf);
- dpkgbuf_pos = dpkgbuf+dpkgbuf_pos-p;
+ memmove(d->dpkgbuf, p, p-d->dpkgbuf);
+ d->dpkgbuf_pos = d->dpkgbuf+d->dpkgbuf_pos-p;
}
/*}}}*/
// DPkgPM::WriteHistoryTag /*{{{*/
@@ -644,7 +661,7 @@ void pkgDPkgPM::WriteHistoryTag(string const &tag, string value)
// poor mans rstrip(", ")
if (value[length-2] == ',' && value[length-1] == ' ')
value.erase(length - 2, 2);
- fprintf(history_out, "%s: %s\n", tag.c_str(), value.c_str());
+ fprintf(d->history_out, "%s: %s\n", tag.c_str(), value.c_str());
} /*}}}*/
// DPkgPM::OpenLog /*{{{*/
bool pkgDPkgPM::OpenLog()
@@ -665,11 +682,11 @@ bool pkgDPkgPM::OpenLog()
_config->Find("Dir::Log::Terminal"));
if (!logfile_name.empty())
{
- term_out = fopen(logfile_name.c_str(),"a");
- if (term_out == NULL)
+ d->term_out = fopen(logfile_name.c_str(),"a");
+ if (d->term_out == NULL)
return _error->WarningE("OpenLog", _("Could not open file '%s'"), logfile_name.c_str());
- setvbuf(term_out, NULL, _IONBF, 0);
- SetCloseExec(fileno(term_out), true);
+ setvbuf(d->term_out, NULL, _IONBF, 0);
+ SetCloseExec(fileno(d->term_out), true);
struct passwd *pw;
struct group *gr;
pw = getpwnam("root");
@@ -677,7 +694,7 @@ bool pkgDPkgPM::OpenLog()
if (pw != NULL && gr != NULL)
chown(logfile_name.c_str(), pw->pw_uid, gr->gr_gid);
chmod(logfile_name.c_str(), 0644);
- fprintf(term_out, "\nLog started: %s\n", timestr);
+ fprintf(d->term_out, "\nLog started: %s\n", timestr);
}
// write your history
@@ -685,13 +702,13 @@ bool pkgDPkgPM::OpenLog()
_config->Find("Dir::Log::History"));
if (!history_name.empty())
{
- history_out = fopen(history_name.c_str(),"a");
- if (history_out == NULL)
+ d->history_out = fopen(history_name.c_str(),"a");
+ if (d->history_out == NULL)
return _error->WarningE("OpenLog", _("Could not open file '%s'"), history_name.c_str());
chmod(history_name.c_str(), 0644);
- fprintf(history_out, "\nStart-Date: %s\n", timestr);
+ fprintf(d->history_out, "\nStart-Date: %s\n", timestr);
string remove, purge, install, reinstall, upgrade, downgrade;
- for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
enum { CANDIDATE, CANDIDATE_AUTO, CURRENT_CANDIDATE, CURRENT } infostring;
string *line = NULL;
@@ -730,7 +747,7 @@ bool pkgDPkgPM::OpenLog()
WriteHistoryTag("Downgrade",downgrade);
WriteHistoryTag("Remove",remove);
WriteHistoryTag("Purge",purge);
- fflush(history_out);
+ fflush(d->history_out);
}
return true;
@@ -744,16 +761,16 @@ bool pkgDPkgPM::CloseLog()
struct tm *tmp = localtime(&t);
strftime(timestr, sizeof(timestr), "%F %T", tmp);
- if(term_out)
+ if(d->term_out)
{
- fprintf(term_out, "Log ended: ");
- fprintf(term_out, "%s", timestr);
- fprintf(term_out, "\n");
- fclose(term_out);
+ fprintf(d->term_out, "Log ended: ");
+ fprintf(d->term_out, "%s", timestr);
+ fprintf(d->term_out, "\n");
+ fclose(d->term_out);
}
- term_out = NULL;
+ d->term_out = NULL;
- if(history_out)
+ if(d->history_out)
{
if (disappearedPkgs.empty() == false)
{
@@ -770,12 +787,12 @@ bool pkgDPkgPM::CloseLog()
}
WriteHistoryTag("Disappeared", disappear);
}
- if (dpkg_error.empty() == false)
- fprintf(history_out, "Error: %s\n", dpkg_error.c_str());
- fprintf(history_out, "End-Date: %s\n", timestr);
- fclose(history_out);
+ if (d->dpkg_error.empty() == false)
+ fprintf(d->history_out, "Error: %s\n", d->dpkg_error.c_str());
+ fprintf(d->history_out, "End-Date: %s\n", timestr);
+ fclose(d->history_out);
}
- history_out = NULL;
+ d->history_out = NULL;
return true;
}
@@ -869,21 +886,21 @@ bool pkgDPkgPM::Go(int OutStatusFd)
// that will be [installed|configured|removed|purged] and add
// them to the PackageOps map (the dpkg states it goes through)
// and the PackageOpsTranslations (human readable strings)
- for (vector<Item>::const_iterator I = List.begin(); I != List.end();I++)
+ for (vector<Item>::const_iterator I = List.begin(); I != List.end(); ++I)
{
if((*I).Pkg.end() == true)
continue;
string const name = (*I).Pkg.Name();
PackageOpsDone[name] = 0;
- for(int i=0; (DpkgStatesOpMap[(*I).Op][i]).state != NULL; i++)
+ for(int i=0; (DpkgStatesOpMap[(*I).Op][i]).state != NULL; ++i)
{
PackageOps[name].push_back(DpkgStatesOpMap[(*I).Op][i]);
PackagesTotal++;
}
}
- stdin_is_dev_null = false;
+ d->stdin_is_dev_null = false;
// create log
OpenLog();
@@ -894,7 +911,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
// Do all actions with the same Op in one run
vector<Item>::const_iterator J = I;
if (TriggersPending == true)
- for (; J != List.end(); J++)
+ for (; J != List.end(); ++J)
{
if (J->Op == I->Op)
continue;
@@ -906,7 +923,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
break;
}
else
- for (; J != List.end() && J->Op == I->Op; J++)
+ for (; J != List.end() && J->Op == I->Op; ++J)
/* nothing */;
// Generate the argument list
@@ -1014,7 +1031,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
// Write in the file or package names
if (I->Op == Item::Install)
{
- for (;I != J && Size < MaxArgBytes; I++)
+ for (;I != J && Size < MaxArgBytes; ++I)
{
if (I->File[0] != '/')
return _error->Error("Internal Error, Pathname to install is not absolute '%s'",I->File.c_str());
@@ -1026,7 +1043,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
{
string const nativeArch = _config->Find("APT::Architecture");
unsigned long const oldSize = I->Op == Item::Configure ? Size : 0;
- for (;I != J && Size < MaxArgBytes; I++)
+ for (;I != J && Size < MaxArgBytes; ++I)
{
if((*I).Pkg.end() == true)
continue;
@@ -1090,8 +1107,8 @@ bool pkgDPkgPM::Go(int OutStatusFd)
const char *s = _("Can not write log, openpty() "
"failed (/dev/pts not mounted?)\n");
fprintf(stderr, "%s",s);
- if(term_out)
- fprintf(term_out, "%s",s);
+ if(d->term_out)
+ fprintf(d->term_out, "%s",s);
master = slave = -1;
} else {
struct termios rtt;
@@ -1221,7 +1238,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
// wait for input or output here
FD_ZERO(&rfds);
- if (master >= 0 && !stdin_is_dev_null)
+ if (master >= 0 && !d->stdin_is_dev_null)
FD_SET(0, &rfds);
FD_SET(_dpkgin, &rfds);
if(master >= 0)
@@ -1276,14 +1293,14 @@ bool pkgDPkgPM::Go(int OutStatusFd)
RunScripts("DPkg::Post-Invoke");
if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV)
- strprintf(dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]);
+ strprintf(d->dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]);
else if (WIFEXITED(Status) != 0)
- strprintf(dpkg_error, "Sub-process %s returned an error code (%u)",Args[0],WEXITSTATUS(Status));
+ strprintf(d->dpkg_error, "Sub-process %s returned an error code (%u)",Args[0],WEXITSTATUS(Status));
else
- strprintf(dpkg_error, "Sub-process %s exited unexpectedly",Args[0]);
+ strprintf(d->dpkg_error, "Sub-process %s exited unexpectedly",Args[0]);
- if(dpkg_error.size() > 0)
- _error->Error("%s", dpkg_error.c_str());
+ if(d->dpkg_error.size() > 0)
+ _error->Error("%s", d->dpkg_error.c_str());
if(stopOnError)
{
@@ -1455,8 +1472,8 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg)
fprintf(report, "ErrorMessage:\n %s\n", errormsg);
// ensure that the log is flushed
- if(term_out)
- fflush(term_out);
+ if(d->term_out)
+ fflush(d->term_out);
// attach terminal log it if we have it
string logfile_name = _config->FindFile("Dir::Log::Terminal");
@@ -1478,7 +1495,7 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg)
// log the ordering
const char *ops_str[] = {"Install", "Configure","Remove","Purge"};
fprintf(report, "AptOrdering:\n");
- for (vector<Item>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<Item>::iterator I = List.begin(); I != List.end(); ++I)
fprintf(report, " %s: %s\n", (*I).Pkg.Name(), ops_str[(*I).Op]);
// attach dmesg log (to learn about segfaults)
diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h
index fb92c58ea..3f95c51dc 100644
--- a/apt-pkg/deb/dpkgpm.h
+++ b/apt-pkg/deb/dpkgpm.h
@@ -18,19 +18,12 @@
using std::vector;
using std::map;
+class pkgDPkgPMPrivate;
class pkgDPkgPM : public pkgPackageManager
{
private:
-
- bool stdin_is_dev_null;
-
- // the buffer we use for the dpkg status-fd reading
- char dpkgbuf[1024];
- int dpkgbuf_pos;
- FILE *term_out;
- FILE *history_out;
- string dpkg_error;
+ pkgDPkgPMPrivate *d;
/** \brief record the disappear action and handle accordingly
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc
index e9fa097aa..f816630ae 100644
--- a/apt-pkg/depcache.cc
+++ b/apt-pkg/depcache.cc
@@ -8,6 +8,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/depcache.h>
#include <apt-pkg/version.h>
#include <apt-pkg/versionmatch.h>
@@ -23,12 +25,12 @@
#include <apt-pkg/tagfile.h>
#include <iostream>
-#include <sstream>
+#include <sstream>
#include <set>
#include <sys/stat.h>
-#include <apti18n.h>
+#include <apti18n.h>
/*}}}*/
// helper for Install-Recommends-Sections and Never-MarkAuto-Sections /*{{{*/
static bool
@@ -129,7 +131,7 @@ bool pkgDepCache::Init(OpProgress *Prog)
/* Set the current state of everything. In this state all of the
packages are kept exactly as is. See AllUpgrade */
int Done = 0;
- for (PkgIterator I = PkgBegin(); I.end() != true; I++,Done++)
+ for (PkgIterator I = PkgBegin(); I.end() != true; ++I, ++Done)
{
if (Prog != 0 && Done%20 == 0)
Prog->Progress(Done);
@@ -169,14 +171,14 @@ bool pkgDepCache::readStateFile(OpProgress *Prog) /*{{{*/
string const state = _config->FindFile("Dir::State::extended_states");
if(RealFileExists(state)) {
state_file.Open(state, FileFd::ReadOnly);
- int const file_size = state_file.Size();
+ off_t const file_size = state_file.Size();
if(Prog != NULL)
Prog->OverallProgress(0, file_size, 1,
_("Reading state information"));
pkgTagFile tagfile(&state_file);
pkgTagSection section;
- int amt = 0;
+ off_t amt = 0;
bool const debug_autoremove = _config->FindB("Debug::pkgAutoRemove",false);
while(tagfile.Step(section)) {
string const pkgname = section.FindS("Package");
@@ -292,7 +294,7 @@ bool pkgDepCache::writeStateFile(OpProgress *prog, bool InstalledOnly) /*{{{*/
// then write the ones we have not seen yet
std::ostringstream ostr;
- for(pkgCache::PkgIterator pkg=Cache->PkgBegin(); !pkg.end(); pkg++) {
+ for(pkgCache::PkgIterator pkg=Cache->PkgBegin(); !pkg.end(); ++pkg) {
StateCache const &P = PkgState[pkg->ID];
if(P.Flags & Flag::Auto) {
if (pkgs_seen.find(pkg.FullName()) != pkgs_seen.end()) {
@@ -365,7 +367,7 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res)
// Check the providing packages
PrvIterator P = Dep.TargetPkg().ProvidesList();
PkgIterator Pkg = Dep.ParentPkg();
- for (; P.end() != true; P++)
+ for (; P.end() != true; ++P)
{
/* Provides may never be applied against the same package (or group)
if it is a conflicts. See the comment above. */
@@ -406,60 +408,8 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res)
/*}}}*/
// DepCache::AddSizes - Add the packages sizes to the counters /*{{{*/
// ---------------------------------------------------------------------
-/* Call with Mult = -1 to preform the inverse opration
- The Mult increases the complexity of the calulations here and is unused -
- or do we really have a usecase for removing the size of a package two
- times? So let us replace it with a simple bool and be done with it… */
-__deprecated void pkgDepCache::AddSizes(const PkgIterator &Pkg,signed long Mult)
-{
- StateCache &P = PkgState[Pkg->ID];
-
- if (Pkg->VersionList == 0)
- return;
-
- if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure &&
- P.Keep() == true)
- return;
-
- // Compute the size data
- if (P.NewInstall() == true)
- {
- iUsrSize += (signed long long)(Mult*P.InstVerIter(*this)->InstalledSize);
- iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size);
- return;
- }
-
- // Upgrading
- if (Pkg->CurrentVer != 0 &&
- (P.InstallVer != (Version *)Pkg.CurrentVer() ||
- (P.iFlags & ReInstall) == ReInstall) && P.InstallVer != 0)
- {
- iUsrSize += (signed long long)(Mult*((signed long long)P.InstVerIter(*this)->InstalledSize -
- (signed long long)Pkg.CurrentVer()->InstalledSize));
- iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size);
- return;
- }
-
- // Reinstall
- if (Pkg.State() == pkgCache::PkgIterator::NeedsUnpack &&
- P.Delete() == false)
- {
- iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size);
- return;
- }
-
- // Removing
- if (Pkg->CurrentVer != 0 && P.InstallVer == 0)
- {
- iUsrSize -= (signed long long)(Mult*Pkg.CurrentVer()->InstalledSize);
- return;
- }
-}
- /*}}}*/
-// DepCache::AddSizes - Add the packages sizes to the counters /*{{{*/
-// ---------------------------------------------------------------------
/* Call with Inverse = true to preform the inverse opration */
-void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const &Inverse)
+void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const Inverse)
{
StateCache &P = PkgState[Pkg->ID];
@@ -530,8 +480,9 @@ void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const &Inverse)
calld Remove/Add itself. Remember, dependencies can be circular so
while processing a dep for Pkg it is possible that Add/Remove
will be called on Pkg */
-void pkgDepCache::AddStates(const PkgIterator &Pkg,int Add)
+void pkgDepCache::AddStates(const PkgIterator &Pkg, bool const Invert)
{
+ signed char const Add = (Invert == false) ? 1 : -1;
StateCache &State = PkgState[Pkg->ID];
// The Package is broken (either minimal dep or policy dep)
@@ -585,7 +536,7 @@ void pkgDepCache::BuildGroupOrs(VerIterator const &V)
{
unsigned char Group = 0;
- for (DepIterator D = V.DependsList(); D.end() != true; D++)
+ for (DepIterator D = V.DependsList(); D.end() != true; ++D)
{
// Build the dependency state.
unsigned char &State = DepState[D->ID];
@@ -625,7 +576,7 @@ unsigned char pkgDepCache::VersionState(DepIterator D,unsigned char Check,
// Compute a single dependency element (glob or)
DepIterator Start = D;
unsigned char State = 0;
- for (bool LastOR = true; D.end() == false && LastOR == true; D++)
+ for (bool LastOR = true; D.end() == false && LastOR == true; ++D)
{
State |= DepState[D->ID];
LastOR = (D->CompareOp & Dep::Or) == Dep::Or;
@@ -715,15 +666,15 @@ void pkgDepCache::Update(OpProgress *Prog)
// Perform the depends pass
int Done = 0;
- for (PkgIterator I = PkgBegin(); I.end() != true; I++,Done++)
+ for (PkgIterator I = PkgBegin(); I.end() != true; ++I, ++Done)
{
if (Prog != 0 && Done%20 == 0)
Prog->Progress(Done);
- for (VerIterator V = I.VersionList(); V.end() != true; V++)
+ for (VerIterator V = I.VersionList(); V.end() != true; ++V)
{
unsigned char Group = 0;
- for (DepIterator D = V.DependsList(); D.end() != true; D++)
+ for (DepIterator D = V.DependsList(); D.end() != true; ++D)
{
// Build the dependency state.
unsigned char &State = DepState[D->ID];
@@ -760,7 +711,7 @@ void pkgDepCache::Update(OpProgress *Prog)
void pkgDepCache::Update(DepIterator D)
{
// Update the reverse deps
- for (;D.end() != true; D++)
+ for (;D.end() != true; ++D)
{
unsigned char &State = DepState[D->ID];
State = DependencyState(D);
@@ -793,30 +744,30 @@ void pkgDepCache::Update(PkgIterator const &Pkg)
// Update the provides map for the current ver
if (Pkg->CurrentVer != 0)
for (PrvIterator P = Pkg.CurrentVer().ProvidesList();
- P.end() != true; P++)
+ P.end() != true; ++P)
Update(P.ParentPkg().RevDependsList());
// Update the provides map for the candidate ver
if (PkgState[Pkg->ID].CandidateVer != 0)
for (PrvIterator P = PkgState[Pkg->ID].CandidateVerIter(*this).ProvidesList();
- P.end() != true; P++)
+ P.end() != true; ++P)
Update(P.ParentPkg().RevDependsList());
}
/*}}}*/
// DepCache::MarkKeep - Put the package in the keep state /*{{{*/
// ---------------------------------------------------------------------
/* */
-void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser,
+bool pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser,
unsigned long Depth)
{
if (IsModeChangeOk(ModeKeep, Pkg, Depth, FromUser) == false)
- return;
+ return false;
/* Reject an attempt to keep a non-source broken installed package, those
must be upgraded */
if (Pkg.State() == PkgIterator::NeedsUnpack &&
Pkg.CurrentVer().Downloadable() == false)
- return;
+ return false;
/* We changed the soft state all the time so the UI is a bit nicer
to use */
@@ -824,7 +775,7 @@ void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser,
// Check that it is not already kept
if (P.Mode == ModeKeep)
- return;
+ return true;
if (Soft == true)
P.iFlags |= AutoKept;
@@ -857,31 +808,31 @@ void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser,
P.InstallVer = Pkg.CurrentVer();
AddStates(Pkg);
-
Update(Pkg);
-
AddSizes(Pkg);
+
+ return true;
}
/*}}}*/
// DepCache::MarkDelete - Put the package in the delete state /*{{{*/
// ---------------------------------------------------------------------
/* */
-void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge,
+bool pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge,
unsigned long Depth, bool FromUser)
{
if (IsModeChangeOk(ModeDelete, Pkg, Depth, FromUser) == false)
- return;
+ return false;
StateCache &P = PkgState[Pkg->ID];
// Check that it is not already marked for delete
if ((P.Mode == ModeDelete || P.InstallVer == 0) &&
(Pkg.Purge() == true || rPurge == false))
- return;
+ return true;
// check if we are allowed to remove the package
if (IsDeleteOk(Pkg,rPurge,Depth,FromUser) == false)
- return;
+ return false;
P.iFlags &= ~(AutoKept | Purge);
if (rPurge == true)
@@ -905,6 +856,7 @@ void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge,
Update(Pkg);
AddSizes(Pkg);
+ return true;
}
/*}}}*/
// DepCache::IsDeleteOk - check if it is ok to remove this package /*{{{*/
@@ -985,18 +937,18 @@ bool pkgDepCache::IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg,
// DepCache::MarkInstall - Put the package in the install state /*{{{*/
// ---------------------------------------------------------------------
/* */
-void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
+bool pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
unsigned long Depth, bool FromUser,
bool ForceImportantDeps)
{
if (IsModeChangeOk(ModeInstall, Pkg, Depth, FromUser) == false)
- return;
+ return false;
StateCache &P = PkgState[Pkg->ID];
// See if there is even any possible instalation candidate
if (P.CandidateVer == 0)
- return;
+ return false;
/* Check that it is not already marked for install and that it can be
installed */
@@ -1005,13 +957,13 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
P.CandidateVer == (Version *)Pkg.CurrentVer()))
{
if (P.CandidateVer == (Version *)Pkg.CurrentVer() && P.InstallVer == 0)
- MarkKeep(Pkg, false, FromUser, Depth+1);
- return;
+ return MarkKeep(Pkg, false, FromUser, Depth+1);
+ return true;
}
// check if we are allowed to install the package
if (IsInstallOk(Pkg,AutoInst,Depth,FromUser) == false)
- return;
+ return false;
ActionGroup group(*this);
P.iFlags &= ~AutoKept;
@@ -1046,8 +998,8 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
Update(Pkg);
AddSizes(Pkg);
- if (AutoInst == false)
- return;
+ if (AutoInst == false || _config->Find("APT::Solver", "internal") != "internal")
+ return true;
if (DebugMarker == true)
std::clog << OutputInDepth(Depth) << "MarkInstall " << Pkg << " FU=" << FromUser << std::endl;
@@ -1059,7 +1011,7 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
DepIterator Start = Dep;
bool Result = true;
unsigned Ors = 0;
- for (bool LastOR = true; Dep.end() == false && LastOR == true; Dep++,Ors++)
+ for (bool LastOR = true; Dep.end() == false && LastOR == true; ++Dep, ++Ors)
{
LastOR = (Dep->CompareOp & Dep::Or) == Dep::Or;
@@ -1091,7 +1043,7 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
continue;
// if the dependency was critical, we can't install it, so remove it again
MarkDelete(Pkg,false,Depth + 1, false);
- return;
+ return false;
}
/* Check if any ImportantDep() (but not Critical) were added
@@ -1222,14 +1174,17 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
continue;
if (PkgState[Pkg->ID].CandidateVer != *I &&
- Start->Type == Dep::DpkgBreaks)
- MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps);
- else
- MarkDelete(Pkg,false,Depth + 1, false);
+ Start->Type == Dep::DpkgBreaks &&
+ MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps) == true)
+ continue;
+ else if (MarkDelete(Pkg,false,Depth + 1, false) == false)
+ break;
}
continue;
}
}
+
+ return Dep.end() == true;
}
/*}}}*/
// DepCache::IsInstallOk - check if it is ok to install this package /*{{{*/
@@ -1268,7 +1223,7 @@ void pkgDepCache::SetReInstall(PkgIterator const &Pkg,bool To)
// DepCache::SetCandidateVersion - Change the candidate version /*{{{*/
// ---------------------------------------------------------------------
/* */
-void pkgDepCache::SetCandidateVersion(VerIterator TargetVer, bool const &Pseudo)
+void pkgDepCache::SetCandidateVersion(VerIterator TargetVer)
{
pkgCache::PkgIterator Pkg = TargetVer.ParentPkg();
StateCache &P = PkgState[Pkg->ID];
@@ -1522,12 +1477,12 @@ pkgCache::VerIterator pkgDepCache::Policy::GetCandidateVer(PkgIterator const &Pk
unless they are already installed */
VerIterator Last(*(pkgCache *)this,0);
- for (VerIterator I = Pkg.VersionList(); I.end() == false; I++)
+ for (VerIterator I = Pkg.VersionList(); I.end() == false; ++I)
{
if (Pkg.CurrentVer() == I)
return I;
- for (VerFileIterator J = I.FileList(); J.end() == false; J++)
+ for (VerFileIterator J = I.FileList(); J.end() == false; ++J)
{
if ((J.File()->Flags & Flag::NotSource) != 0)
continue;
@@ -1558,7 +1513,7 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep)
return true;
else if(Dep->Type == pkgCache::Dep::Recommends)
{
- if ( _config->FindB("APT::Install-Recommends", false))
+ if (InstallRecommends)
return true;
// we suport a special mode to only install-recommends for certain
// sections
@@ -1569,11 +1524,17 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep)
return true;
}
else if(Dep->Type == pkgCache::Dep::Suggests)
- return _config->FindB("APT::Install-Suggests", false);
+ return InstallSuggests;
return false;
}
/*}}}*/
+// Policy::GetPriority - Get the priority of the package pin /*{{{*/
+signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const &Pkg)
+{ return 0; };
+signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const &File)
+{ return 0; };
+ /*}}}*/
pkgDepCache::InRootSetFunc *pkgDepCache::GetRootSetFunc() /*{{{*/
{
DefaultRootSetFunc *f = new DefaultRootSetFunc;
@@ -1593,12 +1554,15 @@ bool pkgDepCache::MarkFollowsRecommends()
bool pkgDepCache::MarkFollowsSuggests()
{
- return _config->FindB("APT::AutoRemove::SuggestsImportant", false);
+ return _config->FindB("APT::AutoRemove::SuggestsImportant", true);
}
// pkgDepCache::MarkRequired - the main mark algorithm /*{{{*/
bool pkgDepCache::MarkRequired(InRootSetFunc &userFunc)
{
+ if (_config->Find("APT::Solver", "internal") != "internal")
+ return true;
+
bool follow_recommends;
bool follow_suggests;
bool debug_autoremove = _config->FindB("Debug::pkgAutoRemove",false);
diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h
index 9efe110f5..66cb7dbab 100644
--- a/apt-pkg/depcache.h
+++ b/apt-pkg/depcache.h
@@ -233,6 +233,7 @@ class pkgDepCache : protected pkgCache::Namespace
inline bool Delete() const {return Mode == ModeDelete;};
inline bool Purge() const {return Delete() == true && (iFlags & pkgDepCache::Purge) == pkgDepCache::Purge; };
inline bool Keep() const {return Mode == ModeKeep;};
+ inline bool Protect() const {return (iFlags & Protected) == Protected;};
inline bool Upgrade() const {return Status > 0 && Mode == ModeInstall;};
inline bool Upgradable() const {return Status >= 1;};
inline bool Downgrade() const {return Status < 0 && Mode == ModeInstall;};
@@ -257,11 +258,21 @@ class pkgDepCache : protected pkgCache::Namespace
class Policy
{
public:
-
+ Policy() {
+ InstallRecommends = _config->FindB("APT::Install-Recommends", false);
+ InstallSuggests = _config->FindB("APT::Install-Suggests", false);
+ }
+
virtual VerIterator GetCandidateVer(PkgIterator const &Pkg);
virtual bool IsImportantDep(DepIterator const &Dep);
-
+ virtual signed short GetPriority(PkgIterator const &Pkg);
+ virtual signed short GetPriority(PkgFileIterator const &File);
+
virtual ~Policy() {};
+
+ private:
+ bool InstallRecommends;
+ bool InstallSuggests;
};
private:
@@ -315,11 +326,10 @@ class pkgDepCache : protected pkgCache::Namespace
void Update(PkgIterator const &P);
// Count manipulators
- void AddSizes(const PkgIterator &Pkg, bool const &Invert = false);
+ void AddSizes(const PkgIterator &Pkg, bool const Invert = false);
inline void RemoveSizes(const PkgIterator &Pkg) {AddSizes(Pkg, true);};
- void AddSizes(const PkgIterator &Pkg,signed long Mult) __deprecated;
- void AddStates(const PkgIterator &Pkg,int Add = 1);
- inline void RemoveStates(const PkgIterator &Pkg) {AddStates(Pkg,-1);};
+ void AddStates(const PkgIterator &Pkg, bool const Invert = false);
+ inline void RemoveStates(const PkgIterator &Pkg) {AddStates(Pkg,true);};
public:
@@ -388,18 +398,17 @@ class pkgDepCache : protected pkgCache::Namespace
/** \name State Manipulators
*/
// @{
- void MarkKeep(PkgIterator const &Pkg, bool Soft = false,
+ bool MarkKeep(PkgIterator const &Pkg, bool Soft = false,
bool FromUser = true, unsigned long Depth = 0);
- void MarkDelete(PkgIterator const &Pkg, bool Purge = false,
+ bool MarkDelete(PkgIterator const &Pkg, bool MarkPurge = false,
unsigned long Depth = 0, bool FromUser = true);
- void MarkInstall(PkgIterator const &Pkg,bool AutoInst = true,
+ bool MarkInstall(PkgIterator const &Pkg,bool AutoInst = true,
unsigned long Depth = 0, bool FromUser = true,
bool ForceImportantDeps = false);
void MarkProtected(PkgIterator const &Pkg) { PkgState[Pkg->ID].iFlags |= Protected; };
void SetReInstall(PkgIterator const &Pkg,bool To);
- // FIXME: Remove the unused boolean parameter on abi break
- void SetCandidateVersion(VerIterator TargetVer, bool const &Pseudo = true);
+ void SetCandidateVersion(VerIterator TargetVer);
bool SetCandidateRelease(pkgCache::VerIterator TargetVer,
std::string const &TargetRel);
/** Set the candidate version for dependencies too if needed.
@@ -459,7 +468,7 @@ class pkgDepCache : protected pkgCache::Namespace
* \param Depth recursive deep of this Marker call
* \param FromUser was the remove requested by the user?
*/
- virtual bool IsDeleteOk(const PkgIterator &Pkg,bool Purge = false,
+ virtual bool IsDeleteOk(const PkgIterator &Pkg,bool MarkPurge = false,
unsigned long Depth = 0, bool FromUser = true);
// read persistent states
@@ -484,13 +493,6 @@ class pkgDepCache : protected pkgCache::Namespace
virtual ~pkgDepCache();
private:
- // Helper for Update(OpProgress) to remove pseudoinstalled arch all packages
- // FIXME: they are private so shouldn't affect abi, but just in case…
- __deprecated bool RemovePseudoInstalledPkg(PkgIterator &Pkg, std::set<unsigned long> &recheck) { return true; };
- __deprecated bool ReInstallPseudoForGroup(unsigned long const &Grp, std::set<unsigned long> &recheck) { return true; };
- __deprecated bool ReInstallPseudoForGroup(pkgCache::PkgIterator const &P, std::set<unsigned long> &recheck) { return true; };
-
-
bool IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg,
unsigned long const Depth, bool const FromUser);
};
diff --git a/apt-pkg/edsp.cc b/apt-pkg/edsp.cc
new file mode 100644
index 000000000..44f7dbfd6
--- /dev/null
+++ b/apt-pkg/edsp.cc
@@ -0,0 +1,566 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* ######################################################################
+ Set of methods to help writing and reading everything needed for EDSP
+ ##################################################################### */
+ /*}}}*/
+// Include Files /*{{{*/
+#include <config.h>
+
+#include <apt-pkg/edsp.h>
+#include <apt-pkg/error.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/version.h>
+#include <apt-pkg/policy.h>
+#include <apt-pkg/tagfile.h>
+
+#include <limits>
+#include <stdio.h>
+
+#include <apti18n.h>
+ /*}}}*/
+
+// we could use pkgCache::DepType and ::Priority, but these would be localized strings…
+const char * const EDSP::PrioMap[] = {0, "important", "required", "standard",
+ "optional", "extra"};
+const char * const EDSP::DepMap[] = {"", "Depends", "Pre-Depends", "Suggests",
+ "Recommends" , "Conflicts", "Replaces",
+ "Obsoletes", "Breaks", "Enhances"};
+
+// EDSP::WriteScenario - to the given file descriptor /*{{{*/
+bool EDSP::WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress)
+{
+ if (Progress != NULL)
+ Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver"));
+ unsigned long p = 0;
+ for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg)
+ for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver, ++p)
+ {
+ WriteScenarioVersion(Cache, output, Pkg, Ver);
+ WriteScenarioDependency(Cache, output, Pkg, Ver);
+ fprintf(output, "\n");
+ if (Progress != NULL && p % 100 == 0)
+ Progress->Progress(p);
+ }
+ return true;
+}
+ /*}}}*/
+// EDSP::WriteLimitedScenario - to the given file descriptor /*{{{*/
+bool EDSP::WriteLimitedScenario(pkgDepCache &Cache, FILE* output,
+ APT::PackageSet const &pkgset,
+ OpProgress *Progress)
+{
+ if (Progress != NULL)
+ Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver"));
+ unsigned long p = 0;
+ for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg, ++p)
+ for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver)
+ {
+ WriteScenarioVersion(Cache, output, Pkg, Ver);
+ WriteScenarioLimitedDependency(Cache, output, Pkg, Ver, pkgset);
+ fprintf(output, "\n");
+ if (Progress != NULL && p % 100 == 0)
+ Progress->Progress(p);
+ }
+ if (Progress != NULL)
+ Progress->Done();
+ return true;
+}
+ /*}}}*/
+// EDSP::WriteScenarioVersion /*{{{*/
+void EDSP::WriteScenarioVersion(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg,
+ pkgCache::VerIterator const &Ver)
+{
+ fprintf(output, "Package: %s\n", Pkg.Name());
+ fprintf(output, "Architecture: %s\n", Ver.Arch());
+ fprintf(output, "Version: %s\n", Ver.VerStr());
+ if (Pkg.CurrentVer() == Ver)
+ fprintf(output, "Installed: yes\n");
+ if (Pkg->SelectedState == pkgCache::State::Hold ||
+ (Cache[Pkg].Keep() == true && Cache[Pkg].Protect() == true))
+ fprintf(output, "Hold: yes\n");
+ fprintf(output, "APT-ID: %d\n", Ver->ID);
+ fprintf(output, "Priority: %s\n", PrioMap[Ver->Priority]);
+ if ((Pkg->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential)
+ fprintf(output, "Essential: yes\n");
+ fprintf(output, "Section: %s\n", Ver.Section());
+ if ((Ver->MultiArch & pkgCache::Version::Allowed) == pkgCache::Version::Allowed)
+ fprintf(output, "Multi-Arch: allowed\n");
+ else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign)
+ fprintf(output, "Multi-Arch: foreign\n");
+ else if ((Ver->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same)
+ fprintf(output, "Multi-Arch: same\n");
+ signed short Pin = std::numeric_limits<signed short>::min();
+ for (pkgCache::VerFileIterator File = Ver.FileList(); File.end() == false; ++File) {
+ signed short const p = Cache.GetPolicy().GetPriority(File.File());
+ if (Pin < p)
+ Pin = p;
+ }
+ fprintf(output, "APT-Pin: %d\n", Pin);
+ if (Cache.GetCandidateVer(Pkg) == Ver)
+ fprintf(output, "APT-Candidate: yes\n");
+ if ((Cache[Pkg].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto)
+ fprintf(output, "APT-Automatic: yes\n");
+}
+ /*}}}*/
+// EDSP::WriteScenarioDependency /*{{{*/
+void EDSP::WriteScenarioDependency(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg,
+ pkgCache::VerIterator const &Ver)
+{
+ std::string dependencies[pkgCache::Dep::Enhances + 1];
+ bool orGroup = false;
+ for (pkgCache::DepIterator Dep = Ver.DependsList(); Dep.end() == false; ++Dep)
+ {
+ // Ignore implicit dependencies for multiarch here
+ if (strcmp(Pkg.Arch(), Dep.TargetPkg().Arch()) != 0)
+ continue;
+ if (orGroup == false)
+ dependencies[Dep->Type].append(", ");
+ dependencies[Dep->Type].append(Dep.TargetPkg().Name());
+ if (Dep->Version != 0)
+ dependencies[Dep->Type].append(" (").append(pkgCache::CompTypeDeb(Dep->CompareOp)).append(" ").append(Dep.TargetVer()).append(")");
+ if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
+ {
+ dependencies[Dep->Type].append(" | ");
+ orGroup = true;
+ }
+ else
+ orGroup = false;
+ }
+ for (int i = 1; i < pkgCache::Dep::Enhances + 1; ++i)
+ if (dependencies[i].empty() == false)
+ fprintf(output, "%s: %s\n", DepMap[i], dependencies[i].c_str()+2);
+ string provides;
+ for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); Prv.end() == false; ++Prv)
+ {
+ // Ignore implicit provides for multiarch here
+ if (strcmp(Pkg.Arch(), Prv.ParentPkg().Arch()) != 0 || strcmp(Pkg.Name(),Prv.Name()) == 0)
+ continue;
+ provides.append(", ").append(Prv.Name());
+ }
+ if (provides.empty() == false)
+ fprintf(output, "Provides: %s\n", provides.c_str()+2);
+}
+ /*}}}*/
+// EDSP::WriteScenarioLimitedDependency /*{{{*/
+void EDSP::WriteScenarioLimitedDependency(pkgDepCache &Cache, FILE* output,
+ pkgCache::PkgIterator const &Pkg,
+ pkgCache::VerIterator const &Ver,
+ APT::PackageSet const &pkgset)
+{
+ std::string dependencies[pkgCache::Dep::Enhances + 1];
+ bool orGroup = false;
+ for (pkgCache::DepIterator Dep = Ver.DependsList(); Dep.end() == false; ++Dep)
+ {
+ // Ignore implicit dependencies for multiarch here
+ if (strcmp(Pkg.Arch(), Dep.TargetPkg().Arch()) != 0)
+ continue;
+ if (orGroup == false)
+ {
+ if (pkgset.find(Dep.TargetPkg()) == pkgset.end())
+ continue;
+ dependencies[Dep->Type].append(", ");
+ }
+ else if (pkgset.find(Dep.TargetPkg()) == pkgset.end())
+ {
+ if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
+ continue;
+ dependencies[Dep->Type].erase(dependencies[Dep->Type].end()-3, dependencies[Dep->Type].end());
+ orGroup = false;
+ continue;
+ }
+ dependencies[Dep->Type].append(Dep.TargetPkg().Name());
+ if (Dep->Version != 0)
+ dependencies[Dep->Type].append(" (").append(pkgCache::CompTypeDeb(Dep->CompareOp)).append(" ").append(Dep.TargetVer()).append(")");
+ if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
+ {
+ dependencies[Dep->Type].append(" | ");
+ orGroup = true;
+ }
+ else
+ orGroup = false;
+ }
+ for (int i = 1; i < pkgCache::Dep::Enhances + 1; ++i)
+ if (dependencies[i].empty() == false)
+ fprintf(output, "%s: %s\n", DepMap[i], dependencies[i].c_str()+2);
+ string provides;
+ for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); Prv.end() == false; ++Prv)
+ {
+ // Ignore implicit provides for multiarch here
+ if (strcmp(Pkg.Arch(), Prv.ParentPkg().Arch()) != 0 || strcmp(Pkg.Name(),Prv.Name()) == 0)
+ continue;
+ if (pkgset.find(Prv.ParentPkg()) == pkgset.end())
+ continue;
+ provides.append(", ").append(Prv.Name());
+ }
+ if (provides.empty() == false)
+ fprintf(output, "Provides: %s\n", provides.c_str()+2);
+}
+ /*}}}*/
+// EDSP::WriteRequest - to the given file descriptor /*{{{*/
+bool EDSP::WriteRequest(pkgDepCache &Cache, FILE* output, bool const Upgrade,
+ bool const DistUpgrade, bool const AutoRemove,
+ OpProgress *Progress)
+{
+ if (Progress != NULL)
+ Progress->SubProgress(Cache.Head().PackageCount, _("Send request to solver"));
+ unsigned long p = 0;
+ string del, inst;
+ for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg, ++p)
+ {
+ if (Progress != NULL && p % 100 == 0)
+ Progress->Progress(p);
+ string* req;
+ if (Cache[Pkg].Delete() == true)
+ req = &del;
+ else if (Cache[Pkg].NewInstall() == true || Cache[Pkg].Upgrade() == true)
+ req = &inst;
+ else
+ continue;
+ req->append(" ").append(Pkg.FullName());
+ }
+ fprintf(output, "Request: EDSP 0.4\n");
+ if (del.empty() == false)
+ fprintf(output, "Remove: %s\n", del.c_str()+1);
+ if (inst.empty() == false)
+ fprintf(output, "Install: %s\n", inst.c_str()+1);
+ if (Upgrade == true)
+ fprintf(output, "Upgrade: yes\n");
+ if (DistUpgrade == true)
+ fprintf(output, "Dist-Upgrade: yes\n");
+ if (AutoRemove == true)
+ fprintf(output, "Autoremove: yes\n");
+ if (_config->FindB("APT::Solver::Strict-Pinning", true) == false)
+ fprintf(output, "Strict-Pinning: no\n");
+ string solverpref("APT::Solver::");
+ solverpref.append(_config->Find("APT::Solver", "internal")).append("::Preferences");
+ if (_config->Exists(solverpref) == true)
+ fprintf(output, "Preferences: %s\n", _config->Find(solverpref,"").c_str());
+ fprintf(output, "\n");
+
+ return true;
+}
+ /*}}}*/
+// EDSP::ReadResponse - from the given file descriptor /*{{{*/
+bool EDSP::ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progress) {
+ /* We build an map id to mmap offset here
+ In theory we could use the offset as ID, but then VersionCount
+ couldn't be used to create other versionmappings anymore and it
+ would be too easy for a (buggy) solver to segfault APT… */
+ unsigned long long const VersionCount = Cache.Head().VersionCount;
+ unsigned long VerIdx[VersionCount];
+ for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; ++P) {
+ for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V)
+ VerIdx[V->ID] = V.Index();
+ Cache[P].Marked = true;
+ Cache[P].Garbage = false;
+ }
+
+ FileFd in;
+ in.OpenDescriptor(input, FileFd::ReadOnly);
+ pkgTagFile response(&in, 100);
+ pkgTagSection section;
+
+ while (response.Step(section) == true) {
+ std::string type;
+ if (section.Exists("Install") == true)
+ type = "Install";
+ else if (section.Exists("Remove") == true)
+ type = "Remove";
+ else if (section.Exists("Progress") == true) {
+ if (Progress != NULL) {
+ string msg = section.FindS("Message");
+ if (msg.empty() == true)
+ msg = _("Prepare for receiving solution");
+ Progress->SubProgress(100, msg, section.FindI("Percentage", 0));
+ }
+ continue;
+ } else if (section.Exists("Error") == true) {
+ std::string msg = SubstVar(SubstVar(section.FindS("Message"), "\n .\n", "\n\n"), "\n ", "\n");
+ if (msg.empty() == true) {
+ msg = _("External solver failed without a proper error message");
+ _error->Error(msg.c_str());
+ } else
+ _error->Error("External solver failed with: %s", msg.substr(0,msg.find('\n')).c_str());
+ if (Progress != NULL)
+ Progress->Done();
+ std::cerr << "The solver encountered an error of type: " << section.FindS("Error") << std::endl;
+ std::cerr << "The following information might help you to understand what is wrong:" << std::endl;
+ std::cerr << msg << std::endl << std::endl;
+ return false;
+ } else if (section.Exists("Autoremove") == true)
+ type = "Autoremove";
+ else
+ continue;
+
+ size_t const id = section.FindULL(type.c_str(), VersionCount);
+ if (id == VersionCount) {
+ _error->Warning("Unable to parse %s request with id value '%s'!", type.c_str(), section.FindS(type.c_str()).c_str());
+ continue;
+ } else if (id > Cache.Head().VersionCount) {
+ _error->Warning("ID value '%s' in %s request stanza is to high to refer to a known version!", section.FindS(type.c_str()).c_str(), type.c_str());
+ continue;
+ }
+
+ pkgCache::VerIterator Ver(Cache.GetCache(), Cache.GetCache().VerP + VerIdx[id]);
+ Cache.SetCandidateVersion(Ver);
+ if (type == "Install")
+ Cache.MarkInstall(Ver.ParentPkg(), false, 0, false);
+ else if (type == "Remove")
+ Cache.MarkDelete(Ver.ParentPkg(), false);
+ else if (type == "Autoremove") {
+ Cache[Ver.ParentPkg()].Marked = false;
+ Cache[Ver.ParentPkg()].Garbage = true;
+ }
+ }
+ return true;
+}
+ /*}}}*/
+// EDSP::ReadLine - first line from the given file descriptor /*{{{*/
+// ---------------------------------------------------------------------
+/* Little helper method to read a complete line into a string. Similar to
+ fgets but we need to use the low-level read() here as otherwise the
+ listparser will be confused later on as mixing of fgets and read isn't
+ a supported action according to the manpages and results are undefined */
+bool EDSP::ReadLine(int const input, std::string &line) {
+ char one;
+ ssize_t data = 0;
+ line.erase();
+ line.reserve(100);
+ while ((data = read(input, &one, sizeof(one))) != -1) {
+ if (data != 1)
+ continue;
+ if (one == '\n')
+ return true;
+ if (one == '\r')
+ continue;
+ if (line.empty() == true && isblank(one) != 0)
+ continue;
+ line += one;
+ }
+ return false;
+}
+ /*}}}*/
+// EDSP::StringToBool - convert yes/no to bool /*{{{*/
+// ---------------------------------------------------------------------
+/* we are not as lazy as we are in the global StringToBool as we really
+ only accept yes/no here - but we will ignore leading spaces */
+bool EDSP::StringToBool(char const *answer, bool const defValue) {
+ for (; isspace(*answer) != 0; ++answer);
+ if (strncasecmp(answer, "yes", 3) == 0)
+ return true;
+ else if (strncasecmp(answer, "no", 2) == 0)
+ return false;
+ else
+ _error->Warning("Value '%s' is not a boolean 'yes' or 'no'!", answer);
+ return defValue;
+}
+ /*}}}*/
+// EDSP::ReadRequest - first stanza from the given file descriptor /*{{{*/
+bool EDSP::ReadRequest(int const input, std::list<std::string> &install,
+ std::list<std::string> &remove, bool &upgrade,
+ bool &distUpgrade, bool &autoRemove)
+{
+ install.clear();
+ remove.clear();
+ upgrade = false;
+ distUpgrade = false;
+ autoRemove = false;
+ std::string line;
+ while (ReadLine(input, line) == true)
+ {
+ // Skip empty lines before request
+ if (line.empty() == true)
+ continue;
+ // The first Tag must be a request, so search for it
+ if (line.compare(0, 8, "Request:") != 0)
+ continue;
+
+ while (ReadLine(input, line) == true)
+ {
+ // empty lines are the end of the request
+ if (line.empty() == true)
+ return true;
+
+ std::list<std::string> *request = NULL;
+ if (line.compare(0, 8, "Install:") == 0)
+ {
+ line.erase(0, 8);
+ request = &install;
+ }
+ else if (line.compare(0, 7, "Remove:") == 0)
+ {
+ line.erase(0, 7);
+ request = &remove;
+ }
+ else if (line.compare(0, 8, "Upgrade:") == 0)
+ upgrade = EDSP::StringToBool(line.c_str() + 9, false);
+ else if (line.compare(0, 13, "Dist-Upgrade:") == 0)
+ distUpgrade = EDSP::StringToBool(line.c_str() + 14, false);
+ else if (line.compare(0, 11, "Autoremove:") == 0)
+ autoRemove = EDSP::StringToBool(line.c_str() + 12, false);
+ else
+ _error->Warning("Unknown line in EDSP Request stanza: %s", line.c_str());
+
+ if (request == NULL)
+ continue;
+ size_t end = line.length();
+ do {
+ size_t begin = line.rfind(' ');
+ if (begin == std::string::npos)
+ {
+ request->push_back(line.substr(0, end));
+ break;
+ }
+ else if (begin < end)
+ request->push_back(line.substr(begin + 1, end));
+ line.erase(begin);
+ end = line.find_last_not_of(' ');
+ } while (end != std::string::npos);
+ }
+ }
+ return false;
+}
+ /*}}}*/
+// EDSP::ApplyRequest - first stanza from the given file descriptor /*{{{*/
+bool EDSP::ApplyRequest(std::list<std::string> const &install,
+ std::list<std::string> const &remove,
+ pkgDepCache &Cache)
+{
+ for (std::list<std::string>::const_iterator i = install.begin();
+ i != install.end(); ++i) {
+ pkgCache::PkgIterator P = Cache.FindPkg(*i);
+ if (P.end() == true)
+ _error->Warning("Package %s is not known, so can't be installed", i->c_str());
+ else
+ Cache.MarkInstall(P, false);
+ }
+
+ for (std::list<std::string>::const_iterator i = remove.begin();
+ i != remove.end(); ++i) {
+ pkgCache::PkgIterator P = Cache.FindPkg(*i);
+ if (P.end() == true)
+ _error->Warning("Package %s is not known, so can't be installed", i->c_str());
+ else
+ Cache.MarkDelete(P);
+ }
+ return true;
+}
+ /*}}}*/
+// EDSP::WriteSolution - to the given file descriptor /*{{{*/
+bool EDSP::WriteSolution(pkgDepCache &Cache, FILE* output)
+{
+ bool const Debug = _config->FindB("Debug::EDSP::WriteSolution", false);
+ for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg)
+ {
+ if (Cache[Pkg].Delete() == true)
+ {
+ fprintf(output, "Remove: %d\n", Pkg.CurrentVer()->ID);
+ if (Debug == true)
+ fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr());
+ }
+ else if (Cache[Pkg].NewInstall() == true || Cache[Pkg].Upgrade() == true)
+ {
+ fprintf(output, "Install: %d\n", Cache.GetCandidateVer(Pkg)->ID);
+ if (Debug == true)
+ fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Cache.GetCandidateVer(Pkg).VerStr());
+ }
+ else if (Cache[Pkg].Garbage == true)
+ {
+ fprintf(output, "Autoremove: %d\n", Pkg.CurrentVer()->ID);
+ if (Debug == true)
+ fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr());
+ fprintf(stderr, "Autoremove: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr());
+ }
+ else
+ continue;
+ fprintf(output, "\n");
+ }
+
+ return true;
+}
+ /*}}}*/
+// EDSP::WriteProgess - pulse to the given file descriptor /*{{{*/
+bool EDSP::WriteProgress(unsigned short const percent, const char* const message, FILE* output) {
+ fprintf(output, "Progress: %s\n", TimeRFC1123(time(NULL)).c_str());
+ fprintf(output, "Percentage: %d\n", percent);
+ fprintf(output, "Message: %s\n\n", message);
+ fflush(output);
+ return true;
+}
+ /*}}}*/
+// EDSP::WriteError - format an error message to be send to file descriptor /*{{{*/
+bool EDSP::WriteError(char const * const uuid, std::string const &message, FILE* output) {
+ fprintf(output, "Error: %s\n", uuid);
+ fprintf(output, "Message: %s\n\n", SubstVar(SubstVar(message, "\n\n", "\n.\n"), "\n", "\n ").c_str());
+ return true;
+}
+ /*}}}*/
+// EDSP::ExecuteSolver - fork requested solver and setup ipc pipes {{{*/
+bool EDSP::ExecuteSolver(const char* const solver, int *solver_in, int *solver_out) {
+ std::vector<std::string> const solverDirs = _config->FindVector("Dir::Bin::Solvers");
+ std::string file;
+ for (std::vector<std::string>::const_iterator dir = solverDirs.begin();
+ dir != solverDirs.end(); ++dir) {
+ file = flCombine(*dir, solver);
+ if (RealFileExists(file.c_str()) == true)
+ break;
+ file.clear();
+ }
+
+ if (file.empty() == true)
+ return _error->Error("Can't call external solver '%s' as it is not in a configured directory!", solver);
+ int external[4] = {-1, -1, -1, -1};
+ if (pipe(external) != 0 || pipe(external + 2) != 0)
+ return _error->Errno("Resolve", "Can't create needed IPC pipes for EDSP");
+ for (int i = 0; i < 4; ++i)
+ SetCloseExec(external[i], true);
+
+ pid_t Solver = ExecFork();
+ if (Solver == 0) {
+ dup2(external[0], STDIN_FILENO);
+ dup2(external[3], STDOUT_FILENO);
+ const char* calling[2] = { file.c_str(), 0 };
+ execv(calling[0], (char**) calling);
+ std::cerr << "Failed to execute solver '" << solver << "'!" << std::endl;
+ _exit(100);
+ }
+ close(external[0]);
+ close(external[3]);
+
+ if (WaitFd(external[1], true, 5) == false)
+ return _error->Errno("Resolve", "Timed out while Waiting on availability of solver stdin");
+
+ *solver_in = external[1];
+ *solver_out = external[2];
+ return true;
+}
+ /*}}}*/
+// EDSP::ResolveExternal - resolve problems by asking external for help {{{*/
+bool EDSP::ResolveExternal(const char* const solver, pkgDepCache &Cache,
+ bool const upgrade, bool const distUpgrade,
+ bool const autoRemove, OpProgress *Progress) {
+ int solver_in, solver_out;
+ if (EDSP::ExecuteSolver(solver, &solver_in, &solver_out) == false)
+ return false;
+
+ FILE* output = fdopen(solver_in, "w");
+ if (output == NULL)
+ return _error->Errno("Resolve", "fdopen on solver stdin failed");
+
+ if (Progress != NULL)
+ Progress->OverallProgress(0, 100, 5, _("Execute external solver"));
+ EDSP::WriteRequest(Cache, output, upgrade, distUpgrade, autoRemove, Progress);
+ if (Progress != NULL)
+ Progress->OverallProgress(5, 100, 20, _("Execute external solver"));
+ EDSP::WriteScenario(Cache, output, Progress);
+ fclose(output);
+
+ if (Progress != NULL)
+ Progress->OverallProgress(25, 100, 75, _("Execute external solver"));
+ if (EDSP::ReadResponse(solver_out, Cache, Progress) == false)
+ return false;
+
+ return true;
+}
+ /*}}}*/
diff --git a/apt-pkg/edsp.h b/apt-pkg/edsp.h
new file mode 100644
index 000000000..743c3f5d1
--- /dev/null
+++ b/apt-pkg/edsp.h
@@ -0,0 +1,222 @@
+// -*- mode: cpp; mode: fold -*-
+/** Description \file edsp.h {{{
+ ######################################################################
+ Set of methods to help writing and reading everything needed for EDSP
+ with the noteable exception of reading a scenario for conversion into
+ a Cache as this is handled by edsp interface for listparser and friends
+ ##################################################################### */
+ /*}}}*/
+#ifndef PKGLIB_EDSP_H
+#define PKGLIB_EDSP_H
+
+#include <apt-pkg/depcache.h>
+#include <apt-pkg/cacheset.h>
+#include <apt-pkg/progress.h>
+
+#include <string>
+
+class EDSP /*{{{*/
+{
+ // we could use pkgCache::DepType and ::Priority, but these would be localized strings…
+ static const char * const PrioMap[];
+ static const char * const DepMap[];
+
+ bool static ReadLine(int const input, std::string &line);
+ bool static StringToBool(char const *answer, bool const defValue);
+
+ void static WriteScenarioVersion(pkgDepCache &Cache, FILE* output,
+ pkgCache::PkgIterator const &Pkg,
+ pkgCache::VerIterator const &Ver);
+ void static WriteScenarioDependency(pkgDepCache &Cache, FILE* output,
+ pkgCache::PkgIterator const &Pkg,
+ pkgCache::VerIterator const &Ver);
+ void static WriteScenarioLimitedDependency(pkgDepCache &Cache, FILE* output,
+ pkgCache::PkgIterator const &Pkg,
+ pkgCache::VerIterator const &Ver,
+ APT::PackageSet const &pkgset);
+public:
+ /** \brief creates the EDSP request stanza
+ *
+ * In the EDSP protocol the first thing send to the resolver is a stanza
+ * encoding the request. This method will write this stanza by looking at
+ * the given Cache and requests the installation of all packages which were
+ * marked for installation in it (equally for remove).
+ *
+ * \param Cache in which the request is encoded
+ * \param output is written to this "file"
+ * \param upgrade is true if it is an request like apt-get upgrade
+ * \param distUpgrade is true if it is a request like apt-get dist-upgrade
+ * \param autoRemove is true if removal of unneeded packages should be performed
+ * \param Progress is an instance to report progress to
+ *
+ * \return true if request was composed successfully, otherwise false
+ */
+ bool static WriteRequest(pkgDepCache &Cache, FILE* output,
+ bool const upgrade = false,
+ bool const distUpgrade = false,
+ bool const autoRemove = false,
+ OpProgress *Progress = NULL);
+
+ /** \brief creates the scenario representing the package universe
+ *
+ * After the request all known information about a package are send
+ * to the solver. The output looks similar to a Packages or status file
+ *
+ * All packages and version included in this Cache are send, even if
+ * it doesn't make sense from an APT resolver point of view like versions
+ * with a negative pin to enable the solver to propose even that as a
+ * solution or at least to be able to give a hint what can be done to
+ * statisfy a request.
+ *
+ * \param Cache is the known package universe
+ * \param output is written to this "file"
+ * \param Progress is an instance to report progress to
+ *
+ * \return true if universe was composed successfully, otherwise false
+ */
+ bool static WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress = NULL);
+
+ /** \brief creates a limited scenario representing the package universe
+ *
+ * This method works similar to #WriteScenario as it works in the same
+ * way but doesn't send the complete universe to the solver but only
+ * packages included in the pkgset which will have only dependencies
+ * on packages which are in the given set. All other dependencies will
+ * be removed, so that this method can be used to create testcases
+ *
+ * \param Cache is the known package universe
+ * \param output is written to this "file"
+ * \param pkgset is a set of packages the universe should be limited to
+ * \param Progress is an instance to report progress to
+ *
+ * \return true if universe was composed successfully, otherwise false
+ */
+ bool static WriteLimitedScenario(pkgDepCache &Cache, FILE* output,
+ APT::PackageSet const &pkgset,
+ OpProgress *Progress = NULL);
+
+ /** \brief waits and acts on the information returned from the solver
+ *
+ * This method takes care of interpreting whatever the solver sends
+ * through the standard output like a solution, progress or an error.
+ * The main thread should handle his control over to this method to
+ * wait for the solver to finish the given task
+ *
+ * \param input file descriptor with the response from the solver
+ * \param Cache the solution should be applied on if any
+ * \param Progress is an instance to report progress to
+ *
+ * \return true if a solution is found and applied correctly, otherwise false
+ */
+ bool static ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progress = NULL);
+
+ /** \brief search and read the request stanza for action later
+ *
+ * This method while ignore the input up to the point it finds the
+ * Request: line as an indicator for the Request stanza.
+ * The request is stored in the parameters install and remove then,
+ * as the cache isn't build yet as the scenario follows the request.
+ *
+ * \param input file descriptor with the edsp input for the solver
+ * \param[out] install is a list which gets populated with requested installs
+ * \param[out] remove is a list which gets populated with requested removals
+ * \param[out] upgrade is true if it is a request like apt-get upgrade
+ * \param[out] distUpgrade is true if it is a request like apt-get dist-upgrade
+ * \param[out] autoRemove is true if removal of uneeded packages should be performed
+ *
+ * \return true if the request could be found and worked on, otherwise false
+ */
+ bool static ReadRequest(int const input, std::list<std::string> &install,
+ std::list<std::string> &remove, bool &upgrade,
+ bool &distUpgrade, bool &autoRemove);
+
+ /** \brief takes the request lists and applies it on the cache
+ *
+ * The lists as created by #ReadRequest will be used to find the
+ * packages in question and mark them for install/remove.
+ * No solving is done and no auto-install/-remove.
+ *
+ * \param install is a list of packages to mark for installation
+ * \param remove is a list of packages to mark for removal
+ * \param Cache is there the markers should be set
+ *
+ * \return false if the request couldn't be applied, true otherwise
+ */
+ bool static ApplyRequest(std::list<std::string> const &install,
+ std::list<std::string> const &remove,
+ pkgDepCache &Cache);
+
+ /** \brief encodes the changes in the Cache as a EDSP solution
+ *
+ * The markers in the Cache are observed and send to given
+ * file. The solution isn't checked for consistency or alike,
+ * so even broken solutions can be written successfully,
+ * but the front-end revicing it will properly fail then.
+ *
+ * \param Cache which represents the solution
+ * \param output to write the stanzas forming the solution to
+ *
+ * \return true if solution could be written, otherwise false
+ */
+ bool static WriteSolution(pkgDepCache &Cache, FILE* output);
+
+ /** \brief sends a progress report
+ *
+ * \param percent of the solving completed
+ * \param message the solver wants the user to see
+ * \param output the front-end listens for progress report
+ */
+ bool static WriteProgress(unsigned short const percent, const char* const message, FILE* output);
+
+ /** \brief sends an error report
+ *
+ * Solvers are expected to execute successfully even if
+ * they were unable to calculate a solution for a given task.
+ * Obviously they can't send a solution through, so this
+ * methods deals with formatting an error message correctly
+ * so that the front-ends can recieve and display it.
+ *
+ * The first line of the message should be a short description
+ * of the error so it can be used for dialog titles or alike
+ *
+ * \param uuid of this error message
+ * \param message is free form text to discribe the error
+ * \param output the front-end listens for error messages
+ */
+ bool static WriteError(char const * const uuid, std::string const &message, FILE* output);
+
+
+ /** \brief executes the given solver and returns the pipe ends
+ *
+ * The given solver is executed if it can be found in one of the
+ * configured directories and setup for it is performed.
+ *
+ * \param solver to execute
+ * \param[out] solver_in will be the stdin of the solver
+ * \param[out] solver_out will be the stdout of the solver
+ *
+ * \return true if the solver could be started and the pipes
+ * are set up correctly, otherwise false and the pipes are invalid
+ */
+ bool static ExecuteSolver(const char* const solver, int *solver_in, int *solver_out);
+
+ /** \brief call an external resolver to handle the request
+ *
+ * This method wraps all the methods above to call an external solver
+ *
+ * \param solver to execute
+ * \param Cache with the problem and as universe to work in
+ * \param upgrade is true if it is a request like apt-get upgrade
+ * \param distUpgrade is true if it is a request like apt-get dist-upgrade
+ * \param autoRemove is true if unneeded packages should be removed
+ * \param Progress is an instance to report progress to
+ *
+ * \return true if the solver has successfully solved the problem,
+ * otherwise false
+ */
+ bool static ResolveExternal(const char* const solver, pkgDepCache &Cache,
+ bool const upgrade, bool const distUpgrade,
+ bool const autoRemove, OpProgress *Progress = NULL);
+};
+ /*}}}*/
+#endif
diff --git a/apt-pkg/edsp/edspindexfile.cc b/apt-pkg/edsp/edspindexfile.cc
new file mode 100644
index 000000000..b417a7562
--- /dev/null
+++ b/apt-pkg/edsp/edspindexfile.cc
@@ -0,0 +1,80 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* ######################################################################
+ The scenario file is designed to work as an intermediate file between
+ APT and the resolver. Its on propose very similar to a dpkg status file
+ ##################################################################### */
+ /*}}}*/
+// Include Files /*{{{*/
+#include <config.h>
+
+#include <apt-pkg/edspindexfile.h>
+#include <apt-pkg/edsplistparser.h>
+#include <apt-pkg/sourcelist.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/progress.h>
+#include <apt-pkg/error.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/acquire-item.h>
+
+#include <sys/stat.h>
+ /*}}}*/
+
+// edspIndex::edspIndex - Constructor /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+edspIndex::edspIndex(string File) : debStatusIndex(File)
+{
+}
+ /*}}}*/
+// StatusIndex::Merge - Load the index file into a cache /*{{{*/
+bool edspIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const
+{
+ FileFd Pkg;
+ if (File != "stdin")
+ Pkg.Open(File, FileFd::ReadOnly);
+ else
+ Pkg.OpenDescriptor(STDIN_FILENO, FileFd::ReadOnly);
+ if (_error->PendingError() == true)
+ return false;
+ edspListParser Parser(&Pkg);
+ if (_error->PendingError() == true)
+ return false;
+
+ if (Prog != NULL)
+ Prog->SubProgress(0,File);
+ if (Gen.SelectFile(File,string(),*this) == false)
+ return _error->Error("Problem with SelectFile %s",File.c_str());
+
+ // Store the IMS information
+ pkgCache::PkgFileIterator CFile = Gen.GetCurFile();
+ struct stat St;
+ if (fstat(Pkg.Fd(),&St) != 0)
+ return _error->Errno("fstat","Failed to stat");
+ CFile->Size = St.st_size;
+ CFile->mtime = St.st_mtime;
+ CFile->Archive = Gen.WriteUniqString("edsp::scenario");
+
+ if (Gen.MergeList(Parser) == false)
+ return _error->Error("Problem with MergeList %s",File.c_str());
+ return true;
+}
+ /*}}}*/
+// Index File types for APT /*{{{*/
+class edspIFType: public pkgIndexFile::Type
+{
+ public:
+ virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const
+ {
+ // we don't have a record parser for this type as the file is not presistent
+ return NULL;
+ };
+ edspIFType() {Label = "EDSP scenario file";};
+};
+static edspIFType _apt_Universe;
+
+const pkgIndexFile::Type *edspIndex::GetType() const
+{
+ return &_apt_Universe;
+}
+ /*}}}*/
diff --git a/apt-pkg/edsp/edspindexfile.h b/apt-pkg/edsp/edspindexfile.h
new file mode 100644
index 000000000..0053388eb
--- /dev/null
+++ b/apt-pkg/edsp/edspindexfile.h
@@ -0,0 +1,28 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* ######################################################################
+ The scenario file is designed to work as an intermediate file between
+ APT and the resolver. Its on propose very similar to a dpkg status file
+ ##################################################################### */
+ /*}}}*/
+#ifndef PKGLIB_EDSPINDEXFILE_H
+#define PKGLIB_EDSPINDEXFILE_H
+
+#include <apt-pkg/indexfile.h>
+#include <apt-pkg/debindexfile.h>
+
+class edspIndex : public debStatusIndex
+{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
+ public:
+
+ virtual const Type *GetType() const;
+
+ virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
+
+ edspIndex(string File);
+};
+
+#endif
diff --git a/apt-pkg/edsp/edsplistparser.cc b/apt-pkg/edsp/edsplistparser.cc
new file mode 100644
index 000000000..e00abdbcc
--- /dev/null
+++ b/apt-pkg/edsp/edsplistparser.cc
@@ -0,0 +1,92 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* ######################################################################
+
+ Package Cache Generator - Generator for the cache structure.
+
+ This builds the cache structure from the abstract package list parser.
+
+ ##################################################################### */
+ /*}}}*/
+// Include Files /*{{{*/
+#include <config.h>
+
+#include <apt-pkg/edsplistparser.h>
+#include <apt-pkg/error.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/md5.h>
+#include <apt-pkg/macros.h>
+ /*}}}*/
+
+// ListParser::edspListParser - Constructor /*{{{*/
+edspListParser::edspListParser(FileFd *File, string const &Arch) : debListParser(File, Arch)
+{}
+ /*}}}*/
+// ListParser::NewVersion - Fill in the version structure /*{{{*/
+bool edspListParser::NewVersion(pkgCache::VerIterator &Ver)
+{
+ Ver->ID = Section.FindI("APT-ID", Ver->ID);
+ return debListParser::NewVersion(Ver);
+}
+ /*}}}*/
+// ListParser::Description - Return the description string /*{{{*/
+// ---------------------------------------------------------------------
+/* Sorry, no description for the resolvers… */
+string edspListParser::Description()
+{
+ return "";
+}
+string edspListParser::DescriptionLanguage()
+{
+ return "";
+}
+MD5SumValue edspListParser::Description_md5()
+{
+ return MD5SumValue("");
+}
+ /*}}}*/
+// ListParser::VersionHash - Compute a unique hash for this version /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+unsigned short edspListParser::VersionHash()
+{
+ if (Section.Exists("APT-Hash") == true)
+ return Section.FindI("APT-Hash");
+ else if (Section.Exists("APT-ID") == true)
+ return Section.FindI("APT-ID");
+ return 0;
+}
+ /*}}}*/
+// ListParser::ParseStatus - Parse the status field /*{{{*/
+// ---------------------------------------------------------------------
+/* The Status: line here is not a normal dpkg one but just one which tells
+ use if the package is installed or not, where missing means not. */
+bool edspListParser::ParseStatus(pkgCache::PkgIterator &Pkg,
+ pkgCache::VerIterator &Ver)
+{
+ unsigned long state = 0;
+ if (Section.FindFlag("Hold",state,pkgCache::State::Hold) == false)
+ return false;
+ if (state != 0)
+ Pkg->SelectedState = pkgCache::State::Hold;
+
+ state = 0;
+ if (Section.FindFlag("Installed",state,pkgCache::State::Installed) == false)
+ return false;
+ if (state != 0)
+ {
+ Pkg->CurrentState = pkgCache::State::Installed;
+ Pkg->CurrentVer = Ver.Index();
+ }
+
+ return true;
+}
+ /*}}}*/
+// ListParser::LoadReleaseInfo - Load the release information /*{{{*/
+bool edspListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,
+ FileFd &File, string component)
+{
+ return true;
+}
+ /*}}}*/
diff --git a/apt-pkg/edsp/edsplistparser.h b/apt-pkg/edsp/edsplistparser.h
new file mode 100644
index 000000000..ec9f09905
--- /dev/null
+++ b/apt-pkg/edsp/edsplistparser.h
@@ -0,0 +1,38 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* ######################################################################
+
+ EDSP Package List Parser - This implements the abstract parser
+ interface for the APT specific intermediate format which is passed
+ to external resolvers
+
+ ##################################################################### */
+ /*}}}*/
+#ifndef PKGLIB_EDSPLISTPARSER_H
+#define PKGLIB_EDSPLISTPARSER_H
+
+#include <apt-pkg/deblistparser.h>
+#include <apt-pkg/pkgcachegen.h>
+#include <apt-pkg/indexfile.h>
+#include <apt-pkg/tagfile.h>
+
+class edspListParser : public debListParser
+{
+ public:
+ virtual bool NewVersion(pkgCache::VerIterator &Ver);
+ virtual string Description();
+ virtual string DescriptionLanguage();
+ virtual MD5SumValue Description_md5();
+ virtual unsigned short VersionHash();
+
+ bool LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,FileFd &File,
+ string section);
+
+ edspListParser(FileFd *File, string const &Arch = "");
+
+ protected:
+ virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver);
+
+};
+
+#endif
diff --git a/apt-pkg/edsp/edspsystem.cc b/apt-pkg/edsp/edspsystem.cc
new file mode 100644
index 000000000..10d75771a
--- /dev/null
+++ b/apt-pkg/edsp/edspsystem.cc
@@ -0,0 +1,127 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* ######################################################################
+
+ This system provides the abstraction to use the scenario file as the
+ only source of package information to be able to feed the created file
+ back to APT for its own consumption (eat your own dogfood).
+
+ ##################################################################### */
+ /*}}}*/
+// Include Files /*{{{*/
+#include <config.h>
+
+#include <apt-pkg/edspsystem.h>
+#include <apt-pkg/debversion.h>
+#include <apt-pkg/edspindexfile.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/error.h>
+#include <apt-pkg/fileutl.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <errno.h>
+
+#include <apti18n.h>
+ /*}}}*/
+
+edspSystem edspSys;
+
+// System::debSystem - Constructor /*{{{*/
+edspSystem::edspSystem()
+{
+ StatusFile = 0;
+
+ Label = "Debian APT solver interface";
+ VS = &debVS;
+}
+ /*}}}*/
+// System::~debSystem - Destructor /*{{{*/
+edspSystem::~edspSystem()
+{
+ delete StatusFile;
+}
+ /*}}}*/
+// System::Lock - Get the lock /*{{{*/
+bool edspSystem::Lock()
+{
+ return true;
+}
+ /*}}}*/
+// System::UnLock - Drop a lock /*{{{*/
+bool edspSystem::UnLock(bool NoErrors)
+{
+ return true;
+}
+ /*}}}*/
+// System::CreatePM - Create the underlying package manager /*{{{*/
+// ---------------------------------------------------------------------
+/* we can't use edsp input as input for real installations - just a
+ simulation can work, but everything else will fail bigtime */
+pkgPackageManager *edspSystem::CreatePM(pkgDepCache *Cache) const
+{
+ return NULL;
+}
+ /*}}}*/
+// System::Initialize - Setup the configuration space.. /*{{{*/
+bool edspSystem::Initialize(Configuration &Cnf)
+{
+ Cnf.Set("Dir::State::extended_states", "/dev/null");
+ Cnf.Set("Dir::State::status","/dev/null");
+ Cnf.Set("Dir::State::lists","/dev/null");
+
+ Cnf.Set("Debug::NoLocking", "true");
+ Cnf.Set("APT::Get::Simulate", "true");
+
+ if (StatusFile) {
+ delete StatusFile;
+ StatusFile = 0;
+ }
+ return true;
+}
+ /*}}}*/
+// System::ArchiveSupported - Is a file format supported /*{{{*/
+bool edspSystem::ArchiveSupported(const char *Type)
+{
+ return false;
+}
+ /*}}}*/
+// System::Score - Determine if we should use the edsp system /*{{{*/
+signed edspSystem::Score(Configuration const &Cnf)
+{
+ if (Cnf.Find("edsp::scenario", "") == "stdin")
+ return 1000;
+ if (FileExists(Cnf.FindFile("edsp::scenario","")) == true)
+ return 1000;
+ return -1000;
+}
+ /*}}}*/
+// System::AddStatusFiles - Register the status files /*{{{*/
+bool edspSystem::AddStatusFiles(vector<pkgIndexFile *> &List)
+{
+ if (StatusFile == 0)
+ {
+ if (_config->Find("edsp::scenario", "") == "stdin")
+ StatusFile = new edspIndex("stdin");
+ else
+ StatusFile = new edspIndex(_config->FindFile("edsp::scenario"));
+ }
+ List.push_back(StatusFile);
+ return true;
+}
+ /*}}}*/
+// System::FindIndex - Get an index file for status files /*{{{*/
+bool edspSystem::FindIndex(pkgCache::PkgFileIterator File,
+ pkgIndexFile *&Found) const
+{
+ if (StatusFile == 0)
+ return false;
+ if (StatusFile->FindInCache(*File.Cache()) == File)
+ {
+ Found = StatusFile;
+ return true;
+ }
+
+ return false;
+}
+ /*}}}*/
diff --git a/apt-pkg/edsp/edspsystem.h b/apt-pkg/edsp/edspsystem.h
new file mode 100644
index 000000000..ca703fa84
--- /dev/null
+++ b/apt-pkg/edsp/edspsystem.h
@@ -0,0 +1,41 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+// $Id: debsystem.h,v 1.4 2003/01/11 07:16:33 jgg Exp $
+/* ######################################################################
+
+ System - Debian version of the System Class
+
+ ##################################################################### */
+ /*}}}*/
+#ifndef PKGLIB_EDSPSYSTEM_H
+#define PKGLIB_EDSPSYSTEM_H
+
+#include <apt-pkg/pkgsystem.h>
+
+class edspIndex;
+class edspSystem : public pkgSystem
+{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
+ edspIndex *StatusFile;
+
+ public:
+
+ virtual bool Lock();
+ virtual bool UnLock(bool NoErrors = false);
+ virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const;
+ virtual bool Initialize(Configuration &Cnf);
+ virtual bool ArchiveSupported(const char *Type);
+ virtual signed Score(Configuration const &Cnf);
+ virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List);
+ virtual bool FindIndex(pkgCache::PkgFileIterator File,
+ pkgIndexFile *&Found) const;
+
+ edspSystem();
+ ~edspSystem();
+};
+
+extern edspSystem edspSys;
+
+#endif
diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc
index 064fb007c..4df018ef4 100644
--- a/apt-pkg/indexcopy.cc
+++ b/apt-pkg/indexcopy.cc
@@ -10,7 +10,7 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "indexcopy.h"
+#include<config.h>
#include <apt-pkg/error.h>
#include <apt-pkg/progress.h>
@@ -21,7 +21,6 @@
#include <apt-pkg/indexrecords.h>
#include <apt-pkg/md5.h>
#include <apt-pkg/cdrom.h>
-#include <apti18n.h>
#include <iostream>
#include <sstream>
@@ -30,6 +29,10 @@
#include <sys/types.h>
#include <fcntl.h>
#include <stdio.h>
+#include <stdlib.h>
+
+#include "indexcopy.h"
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -43,7 +46,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
pkgCdromStatus *log)
{
OpProgress *Progress = NULL;
- if (List.size() == 0)
+ if (List.empty() == true)
return true;
if(log)
@@ -53,8 +56,8 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
bool Debug = _config->FindB("Debug::aptcdrom",false);
// Prepare the progress indicator
- unsigned long TotalSize = 0;
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ off_t TotalSize = 0;
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
{
struct stat Buf;
if (stat(string(*I + GetFileName()).c_str(),&Buf) != 0 &&
@@ -64,14 +67,14 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
TotalSize += Buf.st_size;
}
- unsigned long CurrentSize = 0;
+ off_t CurrentSize = 0;
unsigned int NotFound = 0;
unsigned int WrongSize = 0;
unsigned int Packages = 0;
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
{
string OrigPath = string(*I,CDROM.length());
- unsigned long FileSize = 0;
+ off_t FileSize = 0;
// Open the package file
FileFd Pkg;
@@ -164,7 +167,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
if(Progress)
Progress->Progress(Parser.Offset());
string File;
- unsigned long Size;
+ unsigned long long Size;
if (GetFile(File,Size) == false)
{
fclose(TargetFl);
@@ -219,7 +222,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
}
// Size match
- if ((unsigned)Buf.st_size != Size)
+ if ((unsigned long long)Buf.st_size != Size)
{
if (Debug == true)
clog << "Wrong Size: " << File << endl;
@@ -453,7 +456,7 @@ bool IndexCopy::GrabFirst(string Path,string &To,unsigned int Depth)
// PackageCopy::GetFile - Get the file information from the section /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool PackageCopy::GetFile(string &File,unsigned long &Size)
+bool PackageCopy::GetFile(string &File,unsigned long long &Size)
{
File = Section->FindS("Filename");
Size = Section->FindI("Size");
@@ -479,7 +482,7 @@ bool PackageCopy::RewriteEntry(FILE *Target,string File)
// SourceCopy::GetFile - Get the file information from the section /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool SourceCopy::GetFile(string &File,unsigned long &Size)
+bool SourceCopy::GetFile(string &File,unsigned long long &Size)
{
string Files = Section->FindS("Files");
if (Files.empty() == true)
@@ -502,7 +505,7 @@ bool SourceCopy::GetFile(string &File,unsigned long &Size)
return _error->Error("Error parsing file record");
// Parse the size and append the directory
- Size = atoi(sSize.c_str());
+ Size = strtoull(sSize.c_str(), NULL, 10);
File = Base + File;
return true;
}
@@ -583,13 +586,13 @@ bool SigVerify::CopyMetaIndex(string CDROM, string CDName, /*{{{*/
bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList, /*{{{*/
vector<string> PkgList,vector<string> SrcList)
{
- if (SigList.size() == 0)
+ if (SigList.empty() == true)
return true;
bool Debug = _config->FindB("Debug::aptcdrom",false);
// Read all Release files
- for (vector<string>::iterator I = SigList.begin(); I != SigList.end(); I++)
+ for (vector<string>::iterator I = SigList.begin(); I != SigList.end(); ++I)
{
if(Debug)
cout << "Signature verify for: " << *I << endl;
@@ -633,7 +636,7 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList,
// go over the Indexfiles and see if they verify
// if so, remove them from our copy of the lists
vector<string> keys = MetaIndex->MetaKeys();
- for (vector<string>::iterator I = keys.begin(); I != keys.end(); I++)
+ for (vector<string>::iterator I = keys.begin(); I != keys.end(); ++I)
{
if(!Verify(prefix,*I, MetaIndex)) {
// something went wrong, don't copy the Release.gpg
@@ -664,6 +667,21 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList,
bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG,
int const &statusfd, int fd[2])
{
+ if (File == FileGPG)
+ {
+ #define SIGMSG "-----BEGIN PGP SIGNED MESSAGE-----\n"
+ char buffer[sizeof(SIGMSG)];
+ FILE* gpg = fopen(File.c_str(), "r");
+ if (gpg == NULL)
+ return _error->Errno("RunGPGV", _("Could not open file %s"), File.c_str());
+ char const * const test = fgets(buffer, sizeof(buffer), gpg);
+ fclose(gpg);
+ if (test == NULL || strcmp(buffer, SIGMSG) != 0)
+ return _error->Error(_("File %s doesn't start with a clearsigned message"), File.c_str());
+ #undef SIGMSG
+ }
+
+
string const gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv");
// FIXME: remove support for deprecated APT::GPGV setting
string const trustedFile = _config->Find("APT::GPGV::TrustedKeyring", _config->FindFile("Dir::Etc::Trusted"));
@@ -688,7 +706,11 @@ bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG,
Args.reserve(30);
if (keyrings.empty() == true)
- return false;
+ {
+ // TRANSLATOR: %s is the trusted keyring parts directory
+ return _error->Error(_("No keyring installed in %s."),
+ _config->FindDir("Dir::Etc::TrustedParts").c_str());
+ }
Args.push_back(gpgvpath.c_str());
Args.push_back("--ignore-time-conflict");
@@ -757,7 +779,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/
vector<string> &List, pkgCdromStatus *log)
{
OpProgress *Progress = NULL;
- if (List.size() == 0)
+ if (List.empty() == true)
return true;
if(log)
@@ -766,8 +788,8 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/
bool Debug = _config->FindB("Debug::aptcdrom",false);
// Prepare the progress indicator
- unsigned long TotalSize = 0;
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ off_t TotalSize = 0;
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
{
struct stat Buf;
if (stat(string(*I).c_str(),&Buf) != 0 &&
@@ -777,14 +799,14 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/
TotalSize += Buf.st_size;
}
- unsigned long CurrentSize = 0;
+ off_t CurrentSize = 0;
unsigned int NotFound = 0;
unsigned int WrongSize = 0;
unsigned int Packages = 0;
- for (vector<string>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::iterator I = List.begin(); I != List.end(); ++I)
{
string OrigPath = string(*I,CDROM.length());
- unsigned long FileSize = 0;
+ off_t FileSize = 0;
// Open the package file
FileFd Pkg;
@@ -866,7 +888,6 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/
this->Section = &Section;
string Prefix;
unsigned long Hits = 0;
- unsigned long Chop = 0;
while (Parser.Step(Section) == true)
{
if(Progress)
@@ -884,7 +905,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/
fclose(TargetFl);
if (Debug == true)
- cout << " Processed by using Prefix '" << Prefix << "' and chop " << Chop << endl;
+ cout << " Processed by using Prefix '" << Prefix << "' and chop " << endl;
if (_config->FindB("APT::CDROM::NoAct",false) == false)
{
diff --git a/apt-pkg/indexcopy.h b/apt-pkg/indexcopy.h
index 6fcd3b8ce..60c90dd4a 100644
--- a/apt-pkg/indexcopy.h
+++ b/apt-pkg/indexcopy.h
@@ -24,6 +24,9 @@ class pkgCdromStatus;
class IndexCopy /*{{{*/
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
protected:
pkgTagSection *Section;
@@ -34,7 +37,7 @@ class IndexCopy /*{{{*/
bool ReconstructChop(unsigned long &Chop,string Dir,string File);
void ConvertToSourceList(string CD,string &Path);
bool GrabFirst(string Path,string &To,unsigned int Depth);
- virtual bool GetFile(string &Filename,unsigned long &Size) = 0;
+ virtual bool GetFile(string &Filename,unsigned long long &Size) = 0;
virtual bool RewriteEntry(FILE *Target,string File) = 0;
virtual const char *GetFileName() = 0;
virtual const char *Type() = 0;
@@ -50,24 +53,22 @@ class PackageCopy : public IndexCopy /*{{{*/
{
protected:
- virtual bool GetFile(string &Filename,unsigned long &Size);
+ virtual bool GetFile(string &Filename,unsigned long long &Size);
virtual bool RewriteEntry(FILE *Target,string File);
virtual const char *GetFileName() {return "Packages";};
virtual const char *Type() {return "Package";};
- public:
};
/*}}}*/
class SourceCopy : public IndexCopy /*{{{*/
{
protected:
- virtual bool GetFile(string &Filename,unsigned long &Size);
+ virtual bool GetFile(string &Filename,unsigned long long &Size);
virtual bool RewriteEntry(FILE *Target,string File);
virtual const char *GetFileName() {return "Sources";};
virtual const char *Type() {return "Source";};
- public:
};
/*}}}*/
class TranslationsCopy /*{{{*/
@@ -82,6 +83,9 @@ class TranslationsCopy /*{{{*/
/*}}}*/
class SigVerify /*{{{*/
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
bool Verify(string prefix,string file, indexRecords *records);
bool CopyMetaIndex(string CDROM, string CDName,
string prefix, string file);
diff --git a/apt-pkg/indexfile.cc b/apt-pkg/indexfile.cc
index 37be87055..68e9df4c8 100644
--- a/apt-pkg/indexfile.cc
+++ b/apt-pkg/indexfile.cc
@@ -8,6 +8,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/indexfile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/aptconfiguration.h>
@@ -27,7 +29,8 @@ unsigned long pkgIndexFile::Type::GlobalListLen = 0;
pkgIndexFile::Type::Type()
{
ItmList[GlobalListLen] = this;
- GlobalListLen++;
+ GlobalListLen++;
+ Label = NULL;
}
/*}}}*/
// Type::GetType - Locate the type by name /*{{{*/
diff --git a/apt-pkg/indexrecords.cc b/apt-pkg/indexrecords.cc
index 10e154ad2..448a76c27 100644
--- a/apt-pkg/indexrecords.cc
+++ b/apt-pkg/indexrecords.cc
@@ -3,15 +3,17 @@
// $Id: indexrecords.cc,v 1.1.2.4 2003/12/30 02:11:43 mdz Exp $
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/indexrecords.h>
#include <apt-pkg/tagfile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/configuration.h>
-#include <apti18n.h>
#include <sys/stat.h>
#include <clocale>
+#include <apti18n.h>
/*}}}*/
string indexRecords::GetDist() const
{
@@ -78,7 +80,7 @@ bool indexRecords::Load(const string Filename) /*{{{*/
string Name;
string Hash;
- size_t Size;
+ unsigned long long Size;
while (Start < End)
{
if (!parseSumData(Start, End, Name, Hash, Size))
@@ -113,10 +115,14 @@ bool indexRecords::Load(const string Filename) /*{{{*/
}
// get the user settings for this archive and use what expires earlier
int MaxAge = _config->FindI("Acquire::Max-ValidTime", 0);
- if (Label.empty() == true)
+ if (Label.empty() == false)
MaxAge = _config->FindI(string("Acquire::Max-ValidTime::" + Label).c_str(), MaxAge);
+ int MinAge = _config->FindI("Acquire::Min-ValidTime", 0);
+ if (Label.empty() == false)
+ MinAge = _config->FindI(string("Acquire::Min-ValidTime::" + Label).c_str(), MinAge);
- if(MaxAge == 0) // No user settings, use the one from the Release file
+ if(MaxAge == 0 &&
+ (MinAge == 0 || ValidUntil == 0)) // No user settings, use the one from the Release file
return true;
time_t date;
@@ -125,10 +131,17 @@ bool indexRecords::Load(const string Filename) /*{{{*/
strprintf(ErrorText, _("Invalid 'Date' entry in Release file %s"), Filename.c_str());
return false;
}
- date += 24*60*60*MaxAge;
- if (ValidUntil == 0 || ValidUntil > date)
- ValidUntil = date;
+ if (MinAge != 0 && ValidUntil != 0) {
+ time_t const min_date = date + MinAge;
+ if (ValidUntil < min_date)
+ ValidUntil = min_date;
+ }
+ if (MaxAge != 0) {
+ time_t const max_date = date + MaxAge;
+ if (ValidUntil == 0 || ValidUntil > max_date)
+ ValidUntil = max_date;
+ }
return true;
}
@@ -145,7 +158,7 @@ vector<string> indexRecords::MetaKeys() /*{{{*/
}
/*}}}*/
bool indexRecords::parseSumData(const char *&Start, const char *End, /*{{{*/
- string &Name, string &Hash, size_t &Size)
+ string &Name, string &Hash, unsigned long long &Size)
{
Name = "";
Hash = "";
@@ -182,7 +195,7 @@ bool indexRecords::parseSumData(const char *&Start, const char *End, /*{{{*/
if (EntryEnd == End)
return false;
- Size = strtol (Start, NULL, 10);
+ Size = strtoull (Start, NULL, 10);
/* Skip over intermediate blanks */
Start = EntryEnd;
diff --git a/apt-pkg/indexrecords.h b/apt-pkg/indexrecords.h
index 5b532c1a5..0f933b93c 100644
--- a/apt-pkg/indexrecords.h
+++ b/apt-pkg/indexrecords.h
@@ -17,7 +17,7 @@
class indexRecords
{
bool parseSumData(const char *&Start, const char *End, string &Name,
- string &Hash, size_t &Size);
+ string &Hash, unsigned long long &Size);
public:
struct checkSum;
string ErrorText;
@@ -53,7 +53,7 @@ struct indexRecords::checkSum
{
string MetaKeyFilename;
HashString Hash;
- size_t Size;
+ unsigned long long Size;
};
#endif
diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
index 31b2d9ccd..97a39e96e 100644
--- a/apt-pkg/init.cc
+++ b/apt-pkg/init.cc
@@ -8,14 +8,16 @@
##################################################################### */
/*}}}*/
// Include files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/init.h>
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
-#include <apti18n.h>
-#include <config.h>
#include <cstdlib>
#include <sys/stat.h>
+
+#include <apti18n.h>
/*}}}*/
#define Stringfy_(x) # x
@@ -33,60 +35,65 @@ const char *pkgLibVersion = Stringfy(APT_PKG_MAJOR) "."
bool pkgInitConfig(Configuration &Cnf)
{
// General APT things
- Cnf.Set("APT::Architecture", COMMON_ARCH);
- Cnf.Set("APT::Build-Essential::", "build-essential");
- Cnf.Set("APT::Install-Recommends", true);
- Cnf.Set("APT::Install-Suggests", false);
- Cnf.Set("Dir","/");
+ Cnf.CndSet("APT::Architecture", COMMON_ARCH);
+ if (Cnf.Exists("APT::Build-Essential") == false)
+ Cnf.Set("APT::Build-Essential::", "build-essential");
+ Cnf.CndSet("APT::Install-Recommends", true);
+ Cnf.CndSet("APT::Install-Suggests", false);
+ Cnf.CndSet("Dir","/");
// State
- Cnf.Set("Dir::State","var/lib/apt/");
+ Cnf.CndSet("Dir::State","var/lib/apt/");
/* Just in case something goes horribly wrong, we can fall back to the
old /var/state paths.. */
struct stat St;
if (stat("/var/lib/apt/.",&St) != 0 &&
stat("/var/state/apt/.",&St) == 0)
- Cnf.Set("Dir::State","var/state/apt/");
+ Cnf.CndSet("Dir::State","var/state/apt/");
- Cnf.Set("Dir::State::lists","lists/");
- Cnf.Set("Dir::State::cdroms","cdroms.list");
- Cnf.Set("Dir::State::mirrors","mirrors/");
+ Cnf.CndSet("Dir::State::lists","lists/");
+ Cnf.CndSet("Dir::State::cdroms","cdroms.list");
+ Cnf.CndSet("Dir::State::mirrors","mirrors/");
// Cache
- Cnf.Set("Dir::Cache","var/cache/apt/");
- Cnf.Set("Dir::Cache::archives","archives/");
- Cnf.Set("Dir::Cache::srcpkgcache","srcpkgcache.bin");
- Cnf.Set("Dir::Cache::pkgcache","pkgcache.bin");
+ Cnf.CndSet("Dir::Cache","var/cache/apt/");
+ Cnf.CndSet("Dir::Cache::archives","archives/");
+ Cnf.CndSet("Dir::Cache::srcpkgcache","srcpkgcache.bin");
+ Cnf.CndSet("Dir::Cache::pkgcache","pkgcache.bin");
// Configuration
- Cnf.Set("Dir::Etc","etc/apt/");
- Cnf.Set("Dir::Etc::sourcelist","sources.list");
- Cnf.Set("Dir::Etc::sourceparts","sources.list.d");
- Cnf.Set("Dir::Etc::vendorlist","vendors.list");
- Cnf.Set("Dir::Etc::vendorparts","vendors.list.d");
- Cnf.Set("Dir::Etc::main","apt.conf");
- Cnf.Set("Dir::Etc::netrc", "auth.conf");
- Cnf.Set("Dir::Etc::parts","apt.conf.d");
- Cnf.Set("Dir::Etc::preferences","preferences");
- Cnf.Set("Dir::Etc::preferencesparts","preferences.d");
- Cnf.Set("Dir::Etc::trusted", "trusted.gpg");
- Cnf.Set("Dir::Etc::trustedparts","trusted.gpg.d");
- Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods");
- Cnf.Set("Dir::Media::MountPath","/media/apt");
+ Cnf.CndSet("Dir::Etc","etc/apt/");
+ Cnf.CndSet("Dir::Etc::sourcelist","sources.list");
+ Cnf.CndSet("Dir::Etc::sourceparts","sources.list.d");
+ Cnf.CndSet("Dir::Etc::vendorlist","vendors.list");
+ Cnf.CndSet("Dir::Etc::vendorparts","vendors.list.d");
+ Cnf.CndSet("Dir::Etc::main","apt.conf");
+ Cnf.CndSet("Dir::Etc::netrc", "auth.conf");
+ Cnf.CndSet("Dir::Etc::parts","apt.conf.d");
+ Cnf.CndSet("Dir::Etc::preferences","preferences");
+ Cnf.CndSet("Dir::Etc::preferencesparts","preferences.d");
+ Cnf.CndSet("Dir::Etc::trusted", "trusted.gpg");
+ Cnf.CndSet("Dir::Etc::trustedparts","trusted.gpg.d");
+ Cnf.CndSet("Dir::Bin::methods","/usr/lib/apt/methods");
+ Cnf.CndSet("Dir::Bin::solvers::","/usr/lib/apt/solvers");
+ Cnf.CndSet("Dir::Media::MountPath","/media/apt");
// State
- Cnf.Set("Dir::Log","var/log/apt");
- Cnf.Set("Dir::Log::Terminal","term.log");
- Cnf.Set("Dir::Log::History","history.log");
+ Cnf.CndSet("Dir::Log","var/log/apt");
+ Cnf.CndSet("Dir::Log::Terminal","term.log");
+ Cnf.CndSet("Dir::Log::History","history.log");
- Cnf.Set("Dir::Ignore-Files-Silently::", "~$");
- Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$");
- Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$");
- Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$");
+ if (Cnf.Exists("Dir::Ignore-Files-Silently") == false)
+ {
+ Cnf.Set("Dir::Ignore-Files-Silently::", "~$");
+ Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$");
+ Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$");
+ Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$");
+ }
// Default cdrom mount point
- Cnf.Set("Acquire::cdrom::mount", "/media/cdrom/");
+ Cnf.CndSet("Acquire::cdrom::mount", "/media/cdrom/");
bool Res = true;
diff --git a/apt-pkg/init.h b/apt-pkg/init.h
index 15a1165b9..4cee1001a 100644
--- a/apt-pkg/init.h
+++ b/apt-pkg/init.h
@@ -22,8 +22,8 @@
// Non-ABI-Breaks should only increase RELEASE number.
// See also buildlib/libversion.mak
#define APT_PKG_MAJOR 4
-#define APT_PKG_MINOR 10
-#define APT_PKG_RELEASE 1
+#define APT_PKG_MINOR 12
+#define APT_PKG_RELEASE 0
extern const char *pkgVersion;
extern const char *pkgLibVersion;
diff --git a/apt-pkg/makefile b/apt-pkg/makefile
index 4e5ec107f..e1f69dd65 100644
--- a/apt-pkg/makefile
+++ b/apt-pkg/makefile
@@ -3,7 +3,7 @@ BASE=..
SUBDIR=apt-pkg
# Header location
-SUBDIRS = deb contrib
+SUBDIRS = deb edsp contrib
HEADER_TARGETDIRS = apt-pkg
# Bring in the default rules
@@ -20,11 +20,15 @@ APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR)
# Source code for the contributed non-core things
SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \
- contrib/md5.cc contrib/sha1.cc contrib/sha256.cc contrib/hashes.cc \
+ contrib/hashsum.cc contrib/md5.cc contrib/sha1.cc \
+ contrib/sha2_internal.cc\
+ contrib/hashes.cc \
contrib/cdromutl.cc contrib/crc-16.cc contrib/netrc.cc \
contrib/fileutl.cc
HEADERS = mmap.h error.h configuration.h fileutl.h cmndline.h netrc.h\
- md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha256.h hashes.h \
+ md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha2.h sha256.h\
+ sha2_internal.h \
+ hashes.h hashsum_template.h\
macros.h weakptr.h
# Source code for the core main library
@@ -35,7 +39,7 @@ SOURCE+= pkgcache.cc version.cc depcache.cc \
srcrecords.cc cachefile.cc versionmatch.cc policy.cc \
pkgsystem.cc indexfile.cc pkgcachegen.cc acquire-item.cc \
indexrecords.cc vendor.cc vendorlist.cc cdrom.cc indexcopy.cc \
- aptconfiguration.cc cachefilter.cc cacheset.cc
+ aptconfiguration.cc cachefilter.cc cacheset.cc edsp.cc
HEADERS+= algorithms.h depcache.h pkgcachegen.h cacheiterators.h \
orderlist.h sourcelist.h packagemanager.h tagfile.h \
init.h pkgcache.h version.h progress.h pkgrecords.h \
@@ -43,7 +47,7 @@ HEADERS+= algorithms.h depcache.h pkgcachegen.h cacheiterators.h \
clean.h srcrecords.h cachefile.h versionmatch.h policy.h \
pkgsystem.h indexfile.h metaindex.h indexrecords.h vendor.h \
vendorlist.h cdrom.h indexcopy.h aptconfiguration.h \
- cachefilter.h cacheset.h
+ cachefilter.h cacheset.h edsp.h
# Source code for the debian specific components
# In theory the deb headers do not need to be exported..
@@ -53,6 +57,10 @@ SOURCE+= deb/deblistparser.cc deb/debrecords.cc deb/dpkgpm.cc \
HEADERS+= debversion.h debsrcrecords.h dpkgpm.h debrecords.h \
deblistparser.h debsystem.h debindexfile.h debmetaindex.h
+# Source code for the APT resolver interface specific components
+SOURCE+= edsp/edsplistparser.cc edsp/edspindexfile.cc edsp/edspsystem.cc
+HEADERS+= edsplistparser.h edspindexfile.h edspsystem.h
+
HEADERS := $(addprefix apt-pkg/,$(HEADERS))
include $(LIBRARY_H)
diff --git a/apt-pkg/metaindex.h b/apt-pkg/metaindex.h
index 1d2140799..f60235a5d 100644
--- a/apt-pkg/metaindex.h
+++ b/apt-pkg/metaindex.h
@@ -39,6 +39,10 @@ class metaIndex
virtual vector<pkgIndexFile *> *GetIndexFiles() = 0;
virtual bool IsTrusted() const = 0;
+ metaIndex(string const &URI, string const &Dist, char const * const Type) :
+ Indexes(NULL), Type(Type), URI(URI), Dist(Dist) {
+ }
+
virtual ~metaIndex() {
if (Indexes == 0)
return;
diff --git a/apt-pkg/orderlist.cc b/apt-pkg/orderlist.cc
index 1e412ead5..0ac9a83e3 100644
--- a/apt-pkg/orderlist.cc
+++ b/apt-pkg/orderlist.cc
@@ -63,6 +63,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/orderlist.h>
#include <apt-pkg/depcache.h>
#include <apt-pkg/error.h>
@@ -145,14 +147,14 @@ bool pkgOrderList::DoRun()
Depth = 0;
WipeFlags(Added | AddPending | Loop | InList);
- for (iterator I = List; I != End; I++)
+ for (iterator I = List; I != End; ++I)
Flag(*I,InList);
// Rebuild the main list into the temp list.
iterator OldEnd = End;
End = NList;
- for (iterator I = List; I != OldEnd; I++)
- if (VisitNode(PkgIterator(Cache,*I)) == false)
+ for (iterator I = List; I != OldEnd; ++I)
+ if (VisitNode(PkgIterator(Cache,*I), "DoRun") == false)
{
End = OldEnd;
return false;
@@ -197,7 +199,7 @@ bool pkgOrderList::OrderCritical()
{
clog << "** Critical Unpack ordering done" << endl;
- for (iterator I = List; I != End; I++)
+ for (iterator I = List; I != End; ++I)
{
PkgIterator P(Cache,*I);
if (IsNow(P) == true)
@@ -222,7 +224,7 @@ bool pkgOrderList::OrderUnpack(string *FileList)
WipeFlags(After);
// Set the inlist flag
- for (iterator I = List; I != End; I++)
+ for (iterator I = List; I != End; ++I)
{
PkgIterator P(Cache,*I);
if (IsMissing(P) == true && IsNow(P) == true)
@@ -270,7 +272,7 @@ bool pkgOrderList::OrderUnpack(string *FileList)
{
clog << "** Unpack ordering done" << endl;
- for (iterator I = List; I != End; I++)
+ for (iterator I = List; I != End; ++I)
{
PkgIterator P(Cache,*I);
if (IsNow(P) == true)
@@ -323,7 +325,7 @@ int pkgOrderList::Score(PkgIterator Pkg)
Score += ScoreImmediate;
for (DepIterator D = Cache[Pkg].InstVerIter(Cache).DependsList();
- D.end() == false; D++)
+ D.end() == false; ++D)
if (D->Type == pkgCache::Dep::PreDepends)
{
Score += ScorePreDepends;
@@ -488,40 +490,76 @@ bool pkgOrderList::VisitRProvides(DepFunc F,VerIterator Ver)
return true;
bool Res = true;
- for (PrvIterator P = Ver.ProvidesList(); P.end() == false; P++)
+ for (PrvIterator P = Ver.ProvidesList(); P.end() == false; ++P)
Res &= (this->*F)(P.ParentPkg().RevDependsList());
return Res;
}
/*}}}*/
// OrderList::VisitProvides - Visit all of the providing packages /*{{{*/
// ---------------------------------------------------------------------
-/* This routine calls visit on all providing packages. */
+/* This routine calls visit on all providing packages.
+
+ If the dependency is negative it first visits packages which are
+ intended to be removed and after that all other packages.
+ It does so to avoid situations in which this package is used to
+ satisfy a (or-group/provides) dependency of another package which
+ could have been satisfied also by upgrading another package -
+ otherwise we have more broken packages dpkg needs to auto-
+ deconfigure and in very complicated situations it even decides
+ against it! */
bool pkgOrderList::VisitProvides(DepIterator D,bool Critical)
-{
+{
SPtrArray<Version *> List = D.AllTargets();
- for (Version **I = List; *I != 0; I++)
+ for (Version **I = List; *I != 0; ++I)
{
VerIterator Ver(Cache,*I);
PkgIterator Pkg = Ver.ParentPkg();
+ if (D.IsNegative() == true && Cache[Pkg].Delete() == false)
+ continue;
+
if (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing)
continue;
-
+
if (D.IsNegative() == false &&
Cache[Pkg].InstallVer != *I)
continue;
-
+
if (D.IsNegative() == true &&
(Version *)Pkg.CurrentVer() != *I)
continue;
-
+
// Skip over missing files
if (Critical == false && IsMissing(D.ParentPkg()) == true)
continue;
- if (VisitNode(Pkg) == false)
+ if (VisitNode(Pkg, "Provides-1") == false)
return false;
}
+ if (D.IsNegative() == false)
+ return true;
+ for (Version **I = List; *I != 0; ++I)
+ {
+ VerIterator Ver(Cache,*I);
+ PkgIterator Pkg = Ver.ParentPkg();
+
+ if (Cache[Pkg].Delete() == true)
+ continue;
+
+ if (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing)
+ continue;
+
+ if ((Version *)Pkg.CurrentVer() != *I)
+ continue;
+
+ // Skip over missing files
+ if (Critical == false && IsMissing(D.ParentPkg()) == true)
+ continue;
+
+ if (VisitNode(Pkg, "Provides-2") == false)
+ return false;
+ }
+
return true;
}
/*}}}*/
@@ -530,7 +568,7 @@ bool pkgOrderList::VisitProvides(DepIterator D,bool Critical)
/* This is the core ordering routine. It calls the set dependency
consideration functions which then potentialy call this again. Finite
depth is achived through the colouring mechinism. */
-bool pkgOrderList::VisitNode(PkgIterator Pkg)
+bool pkgOrderList::VisitNode(PkgIterator Pkg, char const* from)
{
// Looping or irrelevent.
// This should probably trancend not installed packages
@@ -541,7 +579,7 @@ bool pkgOrderList::VisitNode(PkgIterator Pkg)
if (Debug == true)
{
for (int j = 0; j != Depth; j++) clog << ' ';
- clog << "Visit " << Pkg.FullName() << endl;
+ clog << "Visit " << Pkg.FullName() << " from " << from << endl;
}
Depth++;
@@ -615,7 +653,7 @@ bool pkgOrderList::VisitNode(PkgIterator Pkg)
Loops are preprocessed and logged. */
bool pkgOrderList::DepUnPackCrit(DepIterator D)
{
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
{
if (D.Reverse() == true)
{
@@ -636,7 +674,7 @@ bool pkgOrderList::DepUnPackCrit(DepIterator D)
if (CheckDep(D) == true)
continue;
- if (VisitNode(D.ParentPkg()) == false)
+ if (VisitNode(D.ParentPkg(), "UnPackCrit") == false)
return false;
}
else
@@ -693,7 +731,7 @@ bool pkgOrderList::DepUnPackPreD(DepIterator D)
if (D.Reverse() == true)
return DepUnPackCrit(D);
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
{
if (D.IsCritical() == false)
continue;
@@ -736,7 +774,7 @@ bool pkgOrderList::DepUnPackPre(DepIterator D)
if (D.Reverse() == true)
return true;
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
{
/* Only consider the PreDepends or Depends. Depends are only
considered at the lowest depth or in the case of immediate
@@ -791,7 +829,7 @@ bool pkgOrderList::DepUnPackPre(DepIterator D)
bool pkgOrderList::DepUnPackDep(DepIterator D)
{
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
if (D.IsCritical() == true)
{
if (D.Reverse() == true)
@@ -811,7 +849,7 @@ bool pkgOrderList::DepUnPackDep(DepIterator D)
if (IsMissing(D.ParentPkg()) == true)
continue;
- if (VisitNode(D.ParentPkg()) == false)
+ if (VisitNode(D.ParentPkg(), "UnPackDep-Parent") == false)
return false;
}
else
@@ -825,7 +863,7 @@ bool pkgOrderList::DepUnPackDep(DepIterator D)
if (CheckDep(D) == true)
continue;
- if (VisitNode(D.TargetPkg()) == false)
+ if (VisitNode(D.TargetPkg(), "UnPackDep-Target") == false)
return false;
}
}
@@ -846,7 +884,7 @@ bool pkgOrderList::DepConfigure(DepIterator D)
if (D.Reverse() == true)
return true;
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
if (D->Type == pkgCache::Dep::Depends)
if (VisitProvides(D,false) == false)
return false;
@@ -868,7 +906,7 @@ bool pkgOrderList::DepRemove(DepIterator D)
{
if (D.Reverse() == false)
return true;
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends)
{
// Duplication elimination, consider the current version only
@@ -924,7 +962,7 @@ bool pkgOrderList::DepRemove(DepIterator D)
if (IsFlag(P, InList) == true &&
IsFlag(P, AddPending) == false &&
Cache[P].InstallVer != 0 &&
- VisitNode(P) == true)
+ VisitNode(P, "Remove-P") == true)
{
Flag(P, Immediate);
tryFixDeps = false;
@@ -960,7 +998,7 @@ bool pkgOrderList::DepRemove(DepIterator D)
if (IsFlag(F.TargetPkg(), InList) == true &&
IsFlag(F.TargetPkg(), AddPending) == false &&
Cache[F.TargetPkg()].InstallVer != 0 &&
- VisitNode(F.TargetPkg()) == true)
+ VisitNode(F.TargetPkg(), "Remove-Target") == true)
{
Flag(F.TargetPkg(), Immediate);
tryFixDeps = false;
@@ -974,7 +1012,7 @@ bool pkgOrderList::DepRemove(DepIterator D)
if (IsFlag(Prv.OwnerPkg(), InList) == true &&
IsFlag(Prv.OwnerPkg(), AddPending) == false &&
Cache[Prv.OwnerPkg()].InstallVer != 0 &&
- VisitNode(Prv.OwnerPkg()) == true)
+ VisitNode(Prv.OwnerPkg(), "Remove-Owner") == true)
{
Flag(Prv.OwnerPkg(), Immediate);
tryFixDeps = false;
@@ -994,7 +1032,7 @@ bool pkgOrderList::DepRemove(DepIterator D)
if (IsMissing(D.ParentPkg()) == true)
continue;
- if (VisitNode(D.ParentPkg()) == false)
+ if (VisitNode(D.ParentPkg(), "Remove-Parent") == false)
return false;
}
diff --git a/apt-pkg/orderlist.h b/apt-pkg/orderlist.h
index 4e5ea1654..9588d30a5 100644
--- a/apt-pkg/orderlist.h
+++ b/apt-pkg/orderlist.h
@@ -18,6 +18,7 @@
#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/macros.h>
class pkgDepCache;
class pkgOrderList : protected pkgCache::Namespace
@@ -45,7 +46,8 @@ class pkgOrderList : protected pkgCache::Namespace
bool Debug;
// Main visit function
- bool VisitNode(PkgIterator Pkg);
+ __deprecated bool VisitNode(PkgIterator Pkg) { return VisitNode(Pkg, "UNKNOWN"); };
+ bool VisitNode(PkgIterator Pkg, char const* from);
bool VisitDeps(DepFunc F,PkgIterator Pkg);
bool VisitRDeps(DepFunc F,PkgIterator Pkg);
bool VisitRProvides(DepFunc F,VerIterator Ver);
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index b5d353602..3cd9f6f00 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -13,6 +13,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/packagemanager.h>
#include <apt-pkg/orderlist.h>
#include <apt-pkg/depcache.h>
@@ -22,10 +24,10 @@
#include <apt-pkg/algorithms.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/sptr.h>
-
-#include <apti18n.h>
+
+#include <apti18n.h>
#include <iostream>
-#include <fcntl.h>
+#include <fcntl.h>
/*}}}*/
using namespace std;
@@ -65,7 +67,7 @@ bool pkgPackageManager::GetArchives(pkgAcquire *Owner,pkgSourceList *Sources,
if (ordering == false)
return _error->Error("Internal ordering error");
- for (pkgOrderList::iterator I = List->begin(); I != List->end(); I++)
+ for (pkgOrderList::iterator I = List->begin(); I != List->end(); ++I)
{
PkgIterator Pkg(Cache,*I);
FileNames[Pkg->ID] = string();
@@ -101,7 +103,7 @@ bool pkgPackageManager::FixMissing()
List->SetFileList(FileNames);
bool Bad = false;
- for (PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
if (List->IsMissing(I) == false)
continue;
@@ -142,7 +144,7 @@ void pkgPackageManager::ImmediateAdd(PkgIterator I, bool UseInstallVer, unsigned
D = I.CurrentVer().DependsList();
}
- for ( /* nothing */ ; D.end() == false; D++)
+ for ( /* nothing */ ; D.end() == false; ++D)
if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends)
{
if(!List->IsFlag(D.TargetPkg(), pkgOrderList::Immediate))
@@ -175,7 +177,7 @@ bool pkgPackageManager::CreateOrderList()
clog << "CreateOrderList(): Adding Immediate flag for all packages because of APT::Immediate-Configure-All" << endl;
// Generate the list of affected packages and sort it
- for (PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
+ for (PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
// Ignore no-version packages
if (I->VersionList == 0)
@@ -237,7 +239,7 @@ bool pkgPackageManager::DepAlwaysTrue(DepIterator D)
bool pkgPackageManager::CheckRConflicts(PkgIterator Pkg,DepIterator D,
const char *Ver)
{
- for (;D.end() == false; D++)
+ for (;D.end() == false; ++D)
{
if (D->Type != pkgCache::Dep::Conflicts &&
D->Type != pkgCache::Dep::Obsoletes)
@@ -271,7 +273,7 @@ bool pkgPackageManager::ConfigureAll()
pkgOrderList OList(&Cache);
// Populate the order list
- for (pkgOrderList::iterator I = List->begin(); I != List->end(); I++)
+ for (pkgOrderList::iterator I = List->begin(); I != List->end(); ++I)
if (List->IsFlag(pkgCache::PkgIterator(Cache,*I),
pkgOrderList::UnPacked) == true)
OList.push_back(*I);
@@ -283,7 +285,7 @@ bool pkgPackageManager::ConfigureAll()
bool const ConfigurePkgs = (conf == "all");
// Perform the configuring
- for (pkgOrderList::iterator I = OList.begin(); I != OList.end(); I++)
+ for (pkgOrderList::iterator I = OList.begin(); I != OList.end(); ++I)
{
PkgIterator Pkg(Cache,*I);
@@ -441,10 +443,10 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg, int const Depth)
if (ConfigurePkgs == true && Configure(Pkg) == false)
return false;
-
+
List->Flag(Pkg,pkgOrderList::Configured,pkgOrderList::States);
- if (Cache[Pkg].InstVerIter(Cache)->MultiArch == pkgCache::Version::Same)
+ if ((Cache[Pkg].InstVerIter(Cache)->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same)
for (PkgIterator P = Pkg.Group().PackageList();
P.end() == false; P = Pkg.Group().NextPkg(P))
{
@@ -488,7 +490,7 @@ bool pkgPackageManager::EarlyRemove(PkgIterator Pkg)
if (Pkg->CurrentVer != 0)
{
for (DepIterator D = Pkg.RevDependsList(); D.end() == false &&
- IsEssential == false; D++)
+ IsEssential == false; ++D)
if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends)
if ((D.ParentPkg()->Flags & pkgCache::Flag::Essential) != 0)
IsEssential = true;
@@ -627,7 +629,7 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
return _error->Error("Couldn't configure pre-depend %s for %s, "
"probably a dependency cycle.",
End.TargetPkg().Name(),Pkg.Name());
- Start++;
+ ++Start;
}
else
break;
@@ -725,25 +727,48 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
return false;
for (PrvIterator P = instVer.ProvidesList();
- P.end() == false; P++)
- CheckRConflicts(Pkg,P.ParentPkg().RevDependsList(),P.ProvideVersion());
+ P.end() == false; ++P)
+ if (Pkg->Group != P.OwnerPkg()->Group)
+ CheckRConflicts(Pkg,P.ParentPkg().RevDependsList(),P.ProvideVersion());
- if (PkgLoop) return true;
+ if (PkgLoop)
+ return true;
List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
- if (instVer->MultiArch == pkgCache::Version::Same)
+ if (Immediate == true && instVer->MultiArch == pkgCache::Version::Same)
+ {
+ /* Do lockstep M-A:same unpacking in two phases:
+ First unpack all installed architectures, then the not installed.
+ This way we avoid that M-A: enabled packages are installed before
+ their older non-M-A enabled packages are replaced by newer versions */
+ bool const installed = Pkg->CurrentVer != 0;
+ if (installed == true && Install(Pkg,FileNames[Pkg->ID]) == false)
+ return false;
+ for (PkgIterator P = Pkg.Group().PackageList();
+ P.end() == false; P = Pkg.Group().NextPkg(P))
+ {
+ if (P->CurrentVer == 0 || P == Pkg || List->IsFlag(P,pkgOrderList::UnPacked) == true ||
+ Cache[P].InstallVer == 0 || (P.CurrentVer() == Cache[P].InstallVer &&
+ (Cache[Pkg].iFlags & pkgDepCache::ReInstall) != pkgDepCache::ReInstall))
+ continue;
+ if (SmartUnPack(P, false, Depth + 1) == false)
+ return false;
+ }
+ if (installed == false && Install(Pkg,FileNames[Pkg->ID]) == false)
+ return false;
for (PkgIterator P = Pkg.Group().PackageList();
- P.end() == false; P = Pkg.Group().NextPkg(P))
+ P.end() == false; P = Pkg.Group().NextPkg(P))
{
- if (Pkg == P || List->IsFlag(P,pkgOrderList::UnPacked) == true ||
- Cache[P].InstallVer == 0 || (P.CurrentVer() == Cache[P].InstallVer &&
- (Cache[Pkg].iFlags & pkgDepCache::ReInstall) != pkgDepCache::ReInstall))
- continue;
- SmartUnPack(P, false, Depth + 1);
+ if (P->CurrentVer != 0 || P == Pkg || List->IsFlag(P,pkgOrderList::UnPacked) == true ||
+ Cache[P].InstallVer == 0 || (P.CurrentVer() == Cache[P].InstallVer &&
+ (Cache[Pkg].iFlags & pkgDepCache::ReInstall) != pkgDepCache::ReInstall))
+ continue;
+ if (SmartUnPack(P, false, Depth + 1) == false)
+ return false;
}
-
- if(Install(Pkg,FileNames[Pkg->ID]) == false)
+ }
+ else if (Install(Pkg,FileNames[Pkg->ID]) == false)
return false;
if (Immediate == true) {
@@ -782,7 +807,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
clog << "Done ordering" << endl;
bool DoneSomething = false;
- for (pkgOrderList::iterator I = List->begin(); I != List->end(); I++)
+ for (pkgOrderList::iterator I = List->begin(); I != List->end(); ++I)
{
PkgIterator Pkg(Cache,*I);
@@ -845,7 +870,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
return Failed;
// Sanity check
- for (pkgOrderList::iterator I = List->begin(); I != List->end(); I++)
+ for (pkgOrderList::iterator I = List->begin(); I != List->end(); ++I)
{
if (List->IsFlag(*I,pkgOrderList::Configured) == false)
{
diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc
index 38e4e904e..089648271 100644
--- a/apt-pkg/pkgcache.cc
+++ b/apt-pkg/pkgcache.cc
@@ -20,6 +20,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/pkgcache.h>
#include <apt-pkg/policy.h>
#include <apt-pkg/version.h>
@@ -29,13 +31,12 @@
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/macros.h>
-#include <apti18n.h>
-
#include <string>
#include <sys/stat.h>
#include <unistd.h>
-
#include <ctype.h>
+
+#include <apti18n.h>
/*}}}*/
using std::string;
@@ -84,6 +85,8 @@ pkgCache::Header::Header()
memset(PkgHashTable,0,sizeof(PkgHashTable));
memset(GrpHashTable,0,sizeof(GrpHashTable));
memset(Pools,0,sizeof(Pools));
+
+ CacheFileSize = 0;
}
/*}}}*/
// Cache::Header::CheckSizes - Check if the two headers have same *sz /*{{{*/
@@ -155,6 +158,9 @@ bool pkgCache::ReMap(bool const &Errorchecks)
HeaderP->CheckSizes(DefHeader) == false)
return _error->Error(_("The package cache file is an incompatible version"));
+ if (Map.Size() < HeaderP->CacheFileSize)
+ return _error->Error(_("The package cache file is corrupted, it is too small"));
+
// Locate our VS..
if (HeaderP->VerSysName == 0 ||
(VS = pkgVersioningSystem::GetVS(StrP + HeaderP->VerSysName)) == 0)
@@ -175,7 +181,7 @@ bool pkgCache::ReMap(bool const &Errorchecks)
unsigned long pkgCache::sHash(const string &Str) const
{
unsigned long Hash = 0;
- for (string::const_iterator I = Str.begin(); I != Str.end(); I++)
+ for (string::const_iterator I = Str.begin(); I != Str.end(); ++I)
Hash = 5*Hash + tolower_ascii(*I);
return Hash % _count(HeaderP->PkgHashTable);
}
@@ -183,7 +189,7 @@ unsigned long pkgCache::sHash(const string &Str) const
unsigned long pkgCache::sHash(const char *Str) const
{
unsigned long Hash = 0;
- for (const char *I = Str; *I != 0; I++)
+ for (const char *I = Str; *I != 0; ++I)
Hash = 5*Hash + tolower_ascii(*I);
return Hash % _count(HeaderP->PkgHashTable);
}
@@ -569,7 +575,7 @@ bool pkgCache::DepIterator::SmartTargetPkg(PkgIterator &Result) const
virtual package libc-dev which is provided by libc5-dev and libc6-dev
we must ignore libc5-dev when considering the provides list. */
PrvIterator PStart = Result.ProvidesList();
- for (; PStart.end() != true && PStart.OwnerPkg() == ParentPkg(); PStart++);
+ for (; PStart.end() != true && PStart.OwnerPkg() == ParentPkg(); ++PStart);
// Nothing but indirect self provides
if (PStart.end() == true)
@@ -577,7 +583,7 @@ bool pkgCache::DepIterator::SmartTargetPkg(PkgIterator &Result) const
// Check for single packages in the provides list
PrvIterator P = PStart;
- for (; P.end() != true; P++)
+ for (; P.end() != true; ++P)
{
// Skip over self provides
if (P.OwnerPkg() == ParentPkg())
@@ -611,7 +617,7 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const
PkgIterator DPkg = TargetPkg();
// Walk along the actual package providing versions
- for (VerIterator I = DPkg.VersionList(); I.end() == false; I++)
+ for (VerIterator I = DPkg.VersionList(); I.end() == false; ++I)
{
if (Owner->VS->CheckDep(I.VerStr(),S->CompareOp,TargetVer()) == false)
continue;
@@ -626,13 +632,13 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const
}
// Follow all provides
- for (PrvIterator I = DPkg.ProvidesList(); I.end() == false; I++)
+ for (PrvIterator I = DPkg.ProvidesList(); I.end() == false; ++I)
{
if (Owner->VS->CheckDep(I.ProvideVersion(),S->CompareOp,TargetVer()) == false)
continue;
if (IsNegative() == true &&
- ParentPkg() == I.OwnerPkg())
+ ParentPkg()->Group == I.OwnerPkg()->Group)
continue;
Size++;
@@ -717,7 +723,7 @@ int pkgCache::VerIterator::CompareVer(const VerIterator &B) const
/* Start at A and look for B. If B is found then A > B otherwise
B was before A so A < B */
VerIterator I = *this;
- for (;I.end() == false; I++)
+ for (;I.end() == false; ++I)
if (I == B)
return 1;
return -1;
@@ -729,7 +735,7 @@ int pkgCache::VerIterator::CompareVer(const VerIterator &B) const
bool pkgCache::VerIterator::Downloadable() const
{
VerFileIterator Files = FileList();
- for (; Files.end() == false; Files++)
+ for (; Files.end() == false; ++Files)
if ((Files.File()->Flags & pkgCache::Flag::NotSource) != pkgCache::Flag::NotSource)
return true;
return false;
@@ -742,16 +748,13 @@ bool pkgCache::VerIterator::Downloadable() const
bool pkgCache::VerIterator::Automatic() const
{
VerFileIterator Files = FileList();
- for (; Files.end() == false; Files++)
+ for (; Files.end() == false; ++Files)
// Do not check ButAutomaticUpgrades here as it is kind of automatic…
if ((Files.File()->Flags & pkgCache::Flag::NotAutomatic) != pkgCache::Flag::NotAutomatic)
return true;
return false;
}
/*}}}*/
-// VerIterator::Pseudo - deprecated no-op method /*{{{*/
-bool pkgCache::VerIterator::Pseudo() const { return false; }
- /*}}}*/
// VerIterator::NewestFile - Return the newest file version relation /*{{{*/
// ---------------------------------------------------------------------
/* This looks at the version numbers associated with all of the sources
@@ -760,7 +763,7 @@ pkgCache::VerFileIterator pkgCache::VerIterator::NewestFile() const
{
VerFileIterator Files = FileList();
VerFileIterator Highest = Files;
- for (; Files.end() == false; Files++)
+ for (; Files.end() == false; ++Files)
{
if (Owner->VS->CmpReleaseVer(Files.File().Version(),Highest.File().Version()) > 0)
Highest = Files;
@@ -777,7 +780,7 @@ string pkgCache::VerIterator::RelStr() const
{
bool First = true;
string Res;
- for (pkgCache::VerFileIterator I = this->FileList(); I.end() == false; I++)
+ for (pkgCache::VerFileIterator I = this->FileList(); I.end() == false; ++I)
{
// Do not print 'not source' entries'
pkgCache::PkgFileIterator File = I.File();
@@ -786,7 +789,7 @@ string pkgCache::VerIterator::RelStr() const
// See if we have already printed this out..
bool Seen = false;
- for (pkgCache::VerFileIterator J = this->FileList(); I != J; J++)
+ for (pkgCache::VerFileIterator J = this->FileList(); I != J; ++J)
{
pkgCache::PkgFileIterator File2 = J.File();
if (File2->Label == 0 || File->Label == 0)
@@ -887,7 +890,7 @@ pkgCache::DescIterator pkgCache::VerIterator::TranslatedDescription() const
{
std::vector<string> const lang = APT::Configuration::getLanguages();
for (std::vector<string>::const_iterator l = lang.begin();
- l != lang.end(); l++)
+ l != lang.end(); ++l)
{
pkgCache::DescIterator Desc = DescriptionList();
for (; Desc.end() == false; ++Desc)
diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h
index 1b1743724..87912aead 100644
--- a/apt-pkg/pkgcache.h
+++ b/apt-pkg/pkgcache.h
@@ -314,6 +314,9 @@ struct pkgCache::Header
map_ptrloc PkgHashTable[2*1048];
map_ptrloc GrpHashTable[2*1048];
+ /** \brief Size of the complete cache file */
+ unsigned long CacheFileSize;
+
bool CheckSizes(Header &Against) const;
Header();
};
@@ -500,15 +503,20 @@ struct pkgCache::Version
map_ptrloc VerStr; // StringItem
/** \brief section this version is filled in */
map_ptrloc Section; // StringItem
+
+ /** \brief Multi-Arch capabilities of a package version */
+ enum VerMultiArch { None = 0, /*!< is the default and doesn't trigger special behaviour */
+ All = (1<<0), /*!< will cause that Ver.Arch() will report "all" */
+ Foreign = (1<<1), /*!< can satisfy dependencies in another architecture */
+ Same = (1<<2), /*!< can be co-installed with itself from other architectures */
+ Allowed = (1<<3), /*!< other packages are allowed to depend on thispkg:any */
+ AllForeign = All | Foreign,
+ AllAllowed = All | Allowed };
/** \brief stores the MultiArch capabilities of this version
- None is the default and doesn't trigger special behaviour,
- Foreign means that this version can fulfill dependencies even
- if it is built for another architecture as the requester.
- Same indicates that builds for different architectures can
- be co-installed on the system */
- /* FIXME: A bitflag would be better with the next abibreak… */
- enum {None, All, Foreign, Same, Allowed, AllForeign, AllAllowed} MultiArch;
+ Flags used are defined in pkgCache::Version::VerMultiArch
+ */
+ unsigned char MultiArch;
/** \brief references all the PackageFile's that this version came from
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc
index 9820fde81..a39aa9f59 100644
--- a/apt-pkg/pkgcachegen.cc
+++ b/apt-pkg/pkgcachegen.cc
@@ -11,6 +11,7 @@
/*}}}*/
// Include Files /*{{{*/
#define APT_COMPATIBILITY 986
+#include <config.h>
#include <apt-pkg/pkgcachegen.h>
#include <apt-pkg/error.h>
@@ -23,17 +24,15 @@
#include <apt-pkg/sptr.h>
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/macros.h>
-
#include <apt-pkg/tagfile.h>
-#include <apti18n.h>
-
#include <vector>
-
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
+
+#include <apti18n.h>
/*}}}*/
typedef vector<pkgIndexFile *>::iterator FileIterator;
template <typename Iter> std::vector<Iter*> pkgCacheGenerator::Dynamic<Iter>::toReMap;
@@ -98,6 +97,7 @@ pkgCacheGenerator::~pkgCacheGenerator()
return;
Cache.HeaderP->Dirty = false;
+ Cache.HeaderP->CacheFileSize = Map.Size();
Map.Sync(0,sizeof(pkgCache::Header));
}
/*}}}*/
@@ -105,6 +105,9 @@ void pkgCacheGenerator::ReMap(void const * const oldMap, void const * const newM
if (oldMap == newMap)
return;
+ if (_config->FindB("Debug::pkgCacheGen", false))
+ std::clog << "Remaping from " << oldMap << " to " << newMap << std::endl;
+
Cache.ReMap(false);
CurrentFile += (pkgCache::PackageFile*) newMap - (pkgCache::PackageFile*) oldMap;
@@ -217,7 +220,7 @@ bool pkgCacheGenerator::MergeList(ListParser &List,
// don't add a new description if we have one for the given
// md5 && language
- for ( ; Desc.end() == false; Desc++)
+ for ( ; Desc.end() == false; ++Desc)
if (MD5SumValue(Desc.md5()) == CurMd5 &&
Desc.LanguageCode() == List.DescriptionLanguage())
duplicate=true;
@@ -226,7 +229,7 @@ bool pkgCacheGenerator::MergeList(ListParser &List,
for (Desc = Ver.DescriptionList();
Desc.end() == false;
- LastDesc = &Desc->NextDesc, Desc++)
+ LastDesc = &Desc->NextDesc, ++Desc)
{
if (MD5SumValue(Desc.md5()) == CurMd5)
{
@@ -392,7 +395,7 @@ bool pkgCacheGenerator::MergeFileProvides(ListParser &List)
unsigned long Hash = List.VersionHash();
pkgCache::VerIterator Ver = Pkg.VersionList();
Dynamic<pkgCache::VerIterator> DynVer(Ver);
- for (; Ver.end() == false; Ver++)
+ for (; Ver.end() == false; ++Ver)
{
if (Ver->Hash == Hash && Version.c_str() == Ver.VerStr())
{
@@ -508,7 +511,7 @@ bool pkgCacheGenerator::NewFileVer(pkgCache::VerIterator &Ver,
// Link it to the end of the list
map_ptrloc *Last = &Ver->FileList;
- for (pkgCache::VerFileIterator V = Ver.FileList(); V.end() == false; V++)
+ for (pkgCache::VerFileIterator V = Ver.FileList(); V.end() == false; ++V)
Last = &V->NextFile;
VF->NextFile = *Last;
*Last = VF.Index();
@@ -565,7 +568,7 @@ bool pkgCacheGenerator::NewFileDesc(pkgCache::DescIterator &Desc,
// Link it to the end of the list
map_ptrloc *Last = &Desc->FileList;
- for (pkgCache::DescFileIterator D = Desc.FileList(); D.end() == false; D++)
+ for (pkgCache::DescFileIterator D = Desc.FileList(); D.end() == false; ++D)
Last = &D->NextFile;
DF->NextFile = *Last;
@@ -620,7 +623,7 @@ bool pkgCacheGenerator::FinishCache(OpProgress *Progress)
// Create Conflicts in between the group
pkgCache::GrpIterator G = GetCache().GrpBegin();
Dynamic<pkgCache::GrpIterator> DynG(G);
- for (; G.end() != true; G++)
+ for (; G.end() != true; ++G)
{
string const PkgName = G.Name();
pkgCache::PkgIterator P = G.PackageList();
@@ -631,9 +634,11 @@ bool pkgCacheGenerator::FinishCache(OpProgress *Progress)
Dynamic<pkgCache::PkgIterator> DynallPkg(allPkg);
pkgCache::VerIterator V = P.VersionList();
Dynamic<pkgCache::VerIterator> DynV(V);
- for (; V.end() != true; V++)
+ for (; V.end() != true; ++V)
{
- char const * const Arch = P.Arch();
+ // copy P.Arch() into a string here as a cache remap
+ // in NewDepends() later may alter the pointer location
+ string Arch = P.Arch() == NULL ? "" : P.Arch();
map_ptrloc *OldDepLast = NULL;
/* MultiArch handling introduces a lot of implicit Dependencies:
- MultiArch: same → Co-Installable if they have the same version
@@ -684,7 +689,7 @@ bool pkgCacheGenerator::NewDepends(pkgCache::PkgIterator &Pkg,
string const &Version,
unsigned int const &Op,
unsigned int const &Type,
- map_ptrloc *OldDepLast)
+ map_ptrloc* &OldDepLast)
{
void const * const oldMap = Map.Data();
// Get a structure
@@ -723,7 +728,7 @@ bool pkgCacheGenerator::NewDepends(pkgCache::PkgIterator &Pkg,
if (OldDepLast == NULL)
{
OldDepLast = &Ver->DependsList;
- for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; ++D)
OldDepLast = &D->NextDepends;
} else if (oldMap != Map.Data())
OldDepLast += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
@@ -915,8 +920,11 @@ unsigned long pkgCacheGenerator::WriteUniqString(const char *S,
/* This just verifies that each file in the list of index files exists,
has matching attributes with the cache and the cache does not have
any extra files. */
-static bool CheckValidity(const string &CacheFile, FileIterator Start,
- FileIterator End,MMap **OutMap = 0)
+static bool CheckValidity(const string &CacheFile,
+ pkgSourceList &List,
+ FileIterator Start,
+ FileIterator End,
+ MMap **OutMap = 0)
{
bool const Debug = _config->FindB("Debug::pkgCacheGen", false);
// No file, certainly invalid
@@ -927,6 +935,13 @@ static bool CheckValidity(const string &CacheFile, FileIterator Start,
return false;
}
+ if (List.GetLastModifiedTime() > GetModificationTime(CacheFile))
+ {
+ if (Debug == true)
+ std::clog << "sources.list is newer than the cache" << std::endl;
+ return false;
+ }
+
// Map it
FileFd CacheF(CacheFile,FileFd::ReadOnly);
SPtr<MMap> Map = new MMap(CacheF,0);
@@ -943,7 +958,7 @@ static bool CheckValidity(const string &CacheFile, FileIterator Start,
verify the IMS data and check that it is on the disk too.. */
SPtrArray<bool> Visited = new bool[Cache.HeaderP->PackageFileCount];
memset(Visited,0,sizeof(*Visited)*Cache.HeaderP->PackageFileCount);
- for (; Start != End; Start++)
+ for (; Start != End; ++Start)
{
if (Debug == true)
std::clog << "Checking PkgFile " << (*Start)->Describe() << ": ";
@@ -1010,7 +1025,7 @@ static bool CheckValidity(const string &CacheFile, FileIterator Start,
static unsigned long ComputeSize(FileIterator Start,FileIterator End)
{
unsigned long TotalSize = 0;
- for (; Start != End; Start++)
+ for (; Start != End; ++Start)
{
if ((*Start)->HasPackages() == false)
continue;
@@ -1028,7 +1043,7 @@ static bool BuildCache(pkgCacheGenerator &Gen,
FileIterator Start, FileIterator End)
{
FileIterator I;
- for (I = Start; I != End; I++)
+ for (I = Start; I != End; ++I)
{
if ((*I)->HasPackages() == false)
continue;
@@ -1058,7 +1073,7 @@ static bool BuildCache(pkgCacheGenerator &Gen,
Progress->Done();
TotalSize = ComputeSize(Start, End);
CurrentSize = 0;
- for (I = Start; I != End; I++)
+ for (I = Start; I != End; ++I)
{
unsigned long Size = (*I)->Size();
if (Progress != NULL)
@@ -1105,12 +1120,12 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress
vector<pkgIndexFile *> Files;
for (vector<metaIndex *>::const_iterator i = List.begin();
i != List.end();
- i++)
+ ++i)
{
vector <pkgIndexFile *> *Indexes = (*i)->GetIndexFiles();
for (vector<pkgIndexFile *>::const_iterator j = Indexes->begin();
j != Indexes->end();
- j++)
+ ++j)
Files.push_back (*j);
}
@@ -1152,7 +1167,7 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress
Progress->OverallProgress(0,1,1,_("Reading package lists"));
// Cache is OK, Fin.
- if (CheckValidity(CacheFile,Files.begin(),Files.end(),OutMap) == true)
+ if (CheckValidity(CacheFile, List, Files.begin(),Files.end(),OutMap) == true)
{
if (Progress != NULL)
Progress->OverallProgress(1,1,1,_("Reading package lists"));
@@ -1169,16 +1184,32 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress
SPtr<DynamicMMap> Map;
if (Writeable == true && CacheFile.empty() == false)
{
+ _error->PushToStack();
unlink(CacheFile.c_str());
CacheF = new FileFd(CacheFile,FileFd::WriteAtomic);
fchmod(CacheF->Fd(),0644);
Map = CreateDynamicMMap(CacheF, MMap::Public);
if (_error->PendingError() == true)
- return false;
- if (Debug == true)
+ {
+ delete CacheF.UnGuard();
+ delete Map.UnGuard();
+ if (Debug == true)
+ std::clog << "Open filebased MMap FAILED" << std::endl;
+ Writeable = false;
+ if (AllowMem == false)
+ {
+ _error->MergeWithStack();
+ return false;
+ }
+ _error->RevertToStack();
+ }
+ else if (Debug == true)
+ {
+ _error->MergeWithStack();
std::clog << "Open filebased MMap" << std::endl;
+ }
}
- else
+ if (Writeable == false || CacheFile.empty() == true)
{
// Just build it in memory..
Map = CreateDynamicMMap(NULL);
@@ -1189,7 +1220,7 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress
// Lets try the source cache.
unsigned long CurrentSize = 0;
unsigned long TotalSize = 0;
- if (CheckValidity(SrcCacheFile,Files.begin(),
+ if (CheckValidity(SrcCacheFile, List, Files.begin(),
Files.begin()+EndOfSource) == true)
{
if (Debug == true)
diff --git a/apt-pkg/pkgcachegen.h b/apt-pkg/pkgcachegen.h
index ff198833a..c26051182 100644
--- a/apt-pkg/pkgcachegen.h
+++ b/apt-pkg/pkgcachegen.h
@@ -75,7 +75,7 @@ class pkgCacheGenerator /*{{{*/
bool NewFileDesc(pkgCache::DescIterator &Desc,ListParser &List);
bool NewDepends(pkgCache::PkgIterator &Pkg, pkgCache::VerIterator &Ver,
string const &Version, unsigned int const &Op,
- unsigned int const &Type, map_ptrloc *OldDepLast);
+ unsigned int const &Type, map_ptrloc* &OldDepLast);
unsigned long NewVersion(pkgCache::VerIterator &Ver,const string &VerStr,unsigned long Next);
map_ptrloc NewDescription(pkgCache::DescIterator &Desc,const string &Lang,const MD5SumValue &md5sum,map_ptrloc Next);
diff --git a/apt-pkg/pkgrecords.cc b/apt-pkg/pkgrecords.cc
index e506de73a..7709f133a 100644
--- a/apt-pkg/pkgrecords.cc
+++ b/apt-pkg/pkgrecords.cc
@@ -9,12 +9,14 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/pkgrecords.h>
#include <apt-pkg/indexfile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
-
-#include <apti18n.h>
+
+#include <apti18n.h>
/*}}}*/
// Records::pkgRecords - Constructor /*{{{*/
@@ -24,7 +26,7 @@ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache),
Files(Cache.HeaderP->PackageFileCount)
{
for (pkgCache::PkgFileIterator I = Cache.FileBegin();
- I.end() == false; I++)
+ I.end() == false; ++I)
{
const pkgIndexFile::Type *Type = pkgIndexFile::Type::GetType(I.IndexType());
if (Type == 0)
diff --git a/apt-pkg/pkgrecords.h b/apt-pkg/pkgrecords.h
index c2c98188a..8741533b9 100644
--- a/apt-pkg/pkgrecords.h
+++ b/apt-pkg/pkgrecords.h
@@ -19,7 +19,6 @@
#include <apt-pkg/pkgcache.h>
-#include <apt-pkg/fileutl.h>
#include <vector>
class pkgRecords /*{{{*/
@@ -28,12 +27,13 @@ class pkgRecords /*{{{*/
class Parser;
private:
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
pkgCache &Cache;
std::vector<Parser *>Files;
- public:
-
+ public:
// Lookup function
Parser &Lookup(pkgCache::VerFileIterator const &Ver);
Parser &Lookup(pkgCache::DescFileIterator const &Desc);
@@ -58,6 +58,7 @@ class pkgRecords::Parser /*{{{*/
virtual string MD5Hash() {return string();};
virtual string SHA1Hash() {return string();};
virtual string SHA256Hash() {return string();};
+ virtual string SHA512Hash() {return string();};
virtual string SourcePkg() {return string();};
virtual string SourceVer() {return string();};
@@ -67,7 +68,10 @@ class pkgRecords::Parser /*{{{*/
virtual string LongDesc() {return string();};
virtual string Name() {return string();};
virtual string Homepage() {return string();}
-
+
+ // An arbitrary custom field
+ virtual string RecordField(const char *fieldName) { return string();};
+
// The record in binary form
virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;};
diff --git a/apt-pkg/pkgsystem.cc b/apt-pkg/pkgsystem.cc
index 6dd2d3ee4..f61c140fa 100644
--- a/apt-pkg/pkgsystem.cc
+++ b/apt-pkg/pkgsystem.cc
@@ -10,6 +10,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/policy.h>
#include <cassert>
diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc
index bd213e0ce..e6c44ebe2 100644
--- a/apt-pkg/policy.cc
+++ b/apt-pkg/policy.cc
@@ -23,6 +23,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/policy.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/tagfile.h>
@@ -31,10 +33,10 @@
#include <apt-pkg/error.h>
#include <apt-pkg/sptr.h>
-#include <apti18n.h>
-
#include <iostream>
#include <sstream>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -56,8 +58,22 @@ pkgPolicy::pkgPolicy(pkgCache *Owner) : Pins(0), PFPriority(0), Cache(Owner)
// The config file has a master override.
string DefRel = _config->Find("APT::Default-Release");
if (DefRel.empty() == false)
- CreatePin(pkgVersionMatch::Release,"",DefRel,990);
-
+ {
+ bool found = false;
+ // FIXME: make ExpressionMatches static to use it here easily
+ pkgVersionMatch vm("", pkgVersionMatch::None);
+ for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); ++F)
+ {
+ if ((F->Archive != 0 && vm.ExpressionMatches(DefRel, F.Archive()) == true) ||
+ (F->Codename != 0 && vm.ExpressionMatches(DefRel, F.Codename()) == true) ||
+ (F->Version != 0 && vm.ExpressionMatches(DefRel, F.Version()) == true))
+ found = true;
+ }
+ if (found == false)
+ _error->Error(_("The value '%s' is invalid for APT::Default-Release as such a release is not available in the sources"), DefRel.c_str());
+ else
+ CreatePin(pkgVersionMatch::Release,"",DefRel,990);
+ }
InitDefaults();
}
/*}}}*/
@@ -67,7 +83,7 @@ pkgPolicy::pkgPolicy(pkgCache *Owner) : Pins(0), PFPriority(0), Cache(Owner)
bool pkgPolicy::InitDefaults()
{
// Initialize the priorities based on the status of the package file
- for (pkgCache::PkgFileIterator I = Cache->FileBegin(); I != Cache->FileEnd(); I++)
+ for (pkgCache::PkgFileIterator I = Cache->FileBegin(); I != Cache->FileEnd(); ++I)
{
PFPriority[I->ID] = 500;
if ((I->Flags & pkgCache::Flag::NotSource) == pkgCache::Flag::NotSource)
@@ -84,10 +100,10 @@ bool pkgPolicy::InitDefaults()
signed Cur = 989;
StatusOverride = false;
for (vector<Pin>::const_iterator I = Defaults.begin(); I != Defaults.end();
- I++, Cur--)
+ ++I, --Cur)
{
pkgVersionMatch Match(I->Data,I->Type);
- for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); F++)
+ for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); ++F)
{
if (Match.FileMatch(F) == true && Fixed[F->ID] == false)
{
@@ -108,7 +124,7 @@ bool pkgPolicy::InitDefaults()
}
if (_config->FindB("Debug::pkgPolicy",false) == true)
- for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); F++)
+ for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); ++F)
std::clog << "Prio of " << F.FileName() << ' ' << PFPriority[F->ID] << std::endl;
return true;
@@ -148,12 +164,12 @@ pkgCache::VerIterator pkgPolicy::GetCandidateVer(pkgCache::PkgIterator const &Pk
tracks the default when the default is taken away, and a permanent
pin that stays at that setting.
*/
- for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; Ver++)
+ for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver)
{
/* Lets see if this version is the installed version */
bool instVer = (Pkg.CurrentVer() == Ver);
- for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false; VF++)
+ for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false; ++VF)
{
/* If this is the status file, and the current version is not the
version in the status file (ie it is not installed, or somesuch)
@@ -306,6 +322,10 @@ signed short pkgPolicy::GetPriority(pkgCache::PkgIterator const &Pkg)
return 0;
}
+signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &File)
+{
+ return PFPriority[File->ID];
+}
/*}}}*/
// PreferenceSection class - Overriding the default TrimRecord method /*{{{*/
// ---------------------------------------------------------------------
@@ -342,7 +362,7 @@ bool ReadPinDir(pkgPolicy &Plcy,string Dir)
vector<string> const List = GetListOfFilesInDir(Dir, "pref", true, true);
// Read the files
- for (vector<string>::const_iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I)
if (ReadPinFile(Plcy, *I) == false)
return false;
return true;
diff --git a/apt-pkg/policy.h b/apt-pkg/policy.h
index a5e6c6048..92d32728f 100644
--- a/apt-pkg/policy.h
+++ b/apt-pkg/policy.h
@@ -70,14 +70,13 @@ class pkgPolicy : public pkgDepCache::Policy
// Things for manipulating pins
void CreatePin(pkgVersionMatch::MatchType Type,string Pkg,
string Data,signed short Priority);
- inline signed short GetPriority(pkgCache::PkgFileIterator const &File)
- {return PFPriority[File->ID];};
- signed short GetPriority(pkgCache::PkgIterator const &Pkg);
pkgCache::VerIterator GetMatch(pkgCache::PkgIterator const &Pkg);
// Things for the cache interface.
virtual pkgCache::VerIterator GetCandidateVer(pkgCache::PkgIterator const &Pkg);
- virtual bool IsImportantDep(pkgCache::DepIterator const &Dep) {return pkgDepCache::Policy::IsImportantDep(Dep);};
+ virtual signed short GetPriority(pkgCache::PkgIterator const &Pkg);
+ virtual signed short GetPriority(pkgCache::PkgFileIterator const &File);
+
bool InitDefaults();
pkgPolicy(pkgCache *Owner);
diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc
index 851eefdfe..e20ec4704 100644
--- a/apt-pkg/sourcelist.cc
+++ b/apt-pkg/sourcelist.cc
@@ -8,15 +8,17 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/sourcelist.h>
#include <apt-pkg/error.h>
#include <apt-pkg/fileutl.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/configuration.h>
-#include <apti18n.h>
-
#include <fstream>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -173,7 +175,7 @@ pkgSourceList::pkgSourceList(string File)
/* */
pkgSourceList::~pkgSourceList()
{
- for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++)
+ for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I)
delete *I;
}
/*}}}*/
@@ -218,7 +220,7 @@ bool pkgSourceList::ReadMainList()
/* */
void pkgSourceList::Reset()
{
- for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++)
+ for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I)
delete *I;
SrcList.erase(SrcList.begin(),SrcList.end());
}
@@ -296,11 +298,11 @@ bool pkgSourceList::ReadAppend(string File)
bool pkgSourceList::FindIndex(pkgCache::PkgFileIterator File,
pkgIndexFile *&Found) const
{
- for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++)
+ for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I)
{
vector<pkgIndexFile *> *Indexes = (*I)->GetIndexFiles();
for (vector<pkgIndexFile *>::const_iterator J = Indexes->begin();
- J != Indexes->end(); J++)
+ J != Indexes->end(); ++J)
{
if ((*J)->FindInCache(*File.Cache()) == File)
{
@@ -318,7 +320,7 @@ bool pkgSourceList::FindIndex(pkgCache::PkgFileIterator File,
/* */
bool pkgSourceList::GetIndexes(pkgAcquire *Owner, bool GetAll) const
{
- for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++)
+ for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I)
if ((*I)->GetIndexes(Owner,GetAll) == false)
return false;
return true;
@@ -334,11 +336,33 @@ bool pkgSourceList::ReadSourceDir(string Dir)
vector<string> const List = GetListOfFilesInDir(Dir, "list", true);
// Read the files
- for (vector<string>::const_iterator I = List.begin(); I != List.end(); I++)
+ for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I)
if (ReadAppend(*I) == false)
return false;
return true;
}
/*}}}*/
+// GetLastModified() /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+time_t pkgSourceList::GetLastModifiedTime()
+{
+ vector<string> List;
+
+ string Main = _config->FindFile("Dir::Etc::sourcelist");
+ string Parts = _config->FindDir("Dir::Etc::sourceparts");
+
+ // go over the parts
+ if (DirectoryExists(Parts) == true)
+ List = GetListOfFilesInDir(Parts, "list", true);
+
+ // calculate the time
+ time_t mtime_sources = GetModificationTime(Main);
+ for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I)
+ mtime_sources = std::max(mtime_sources, GetModificationTime(*I));
+
+ return mtime_sources;
+}
+ /*}}}*/
diff --git a/apt-pkg/sourcelist.h b/apt-pkg/sourcelist.h
index e15314a5e..7b473ee64 100644
--- a/apt-pkg/sourcelist.h
+++ b/apt-pkg/sourcelist.h
@@ -92,6 +92,9 @@ class pkgSourceList
pkgIndexFile *&Found) const;
bool GetIndexes(pkgAcquire *Owner, bool GetAll=false) const;
+ // query last-modified time
+ time_t GetLastModifiedTime();
+
pkgSourceList();
pkgSourceList(string File);
~pkgSourceList();
diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc
index 46a02b55c..8c1de2ea5 100644
--- a/apt-pkg/srcrecords.cc
+++ b/apt-pkg/srcrecords.cc
@@ -11,12 +11,14 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/srcrecords.h>
#include <apt-pkg/error.h>
#include <apt-pkg/sourcelist.h>
#include <apt-pkg/strutl.h>
-
-#include <apti18n.h>
+
+#include <apti18n.h>
/*}}}*/
// SrcRecords::pkgSrcRecords - Constructor /*{{{*/
@@ -24,11 +26,11 @@
/* Open all the source index files */
pkgSrcRecords::pkgSrcRecords(pkgSourceList &List) : Files(0), Current(0)
{
- for (pkgSourceList::const_iterator I = List.begin(); I != List.end(); I++)
+ for (pkgSourceList::const_iterator I = List.begin(); I != List.end(); ++I)
{
vector<pkgIndexFile *> *Indexes = (*I)->GetIndexFiles();
for (vector<pkgIndexFile *>::const_iterator J = Indexes->begin();
- J != Indexes->end(); J++)
+ J != Indexes->end(); ++J)
{
Parser* P = (*J)->CreateSrcParser();
if (_error->PendingError() == true)
@@ -66,7 +68,7 @@ bool pkgSrcRecords::Restart()
{
Current = Files.begin();
for (vector<Parser*>::iterator I = Files.begin();
- I != Files.end(); I++)
+ I != Files.end(); ++I)
(*I)->Restart();
return true;
@@ -89,7 +91,7 @@ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool const &SrcOn
{
if (_error->PendingError() == true)
return 0;
- Current++;
+ ++Current;
if (Current == Files.end())
return 0;
}
@@ -107,7 +109,7 @@ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool const &SrcOn
// Check for a binary hit
const char **I = (*Current)->Binaries();
- for (; I != 0 && *I != 0; I++)
+ for (; I != 0 && *I != 0; ++I)
if (strcmp(Package,*I) == 0)
return *Current;
}
diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h
index a49533864..8a78d7711 100644
--- a/apt-pkg/srcrecords.h
+++ b/apt-pkg/srcrecords.h
@@ -79,6 +79,8 @@ class pkgSrcRecords
};
private:
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
// The list of files and the current parser pointer
vector<Parser*> Files;
@@ -93,7 +95,7 @@ class pkgSrcRecords
Parser *Find(const char *Package,bool const &SrcOnly = false);
pkgSrcRecords(pkgSourceList &List);
- ~pkgSrcRecords();
+ virtual ~pkgSrcRecords();
};
#endif
diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc
index 4a2f3f7e6..418e6bed8 100644
--- a/apt-pkg/tagfile.cc
+++ b/apt-pkg/tagfile.cc
@@ -11,39 +11,55 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/tagfile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
-#include <apti18n.h>
-
#include <string>
#include <stdio.h>
#include <ctype.h>
+
+#include <apti18n.h>
/*}}}*/
using std::string;
+class pkgTagFilePrivate
+{
+public:
+ pkgTagFilePrivate(FileFd *pFd, unsigned long long Size) : Fd(*pFd), Size(Size)
+ {
+ }
+ FileFd &Fd;
+ char *Buffer;
+ char *Start;
+ char *End;
+ bool Done;
+ unsigned long long iOffset;
+ unsigned long long Size;
+};
+
// TagFile::pkgTagFile - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* */
-pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
- Fd(*pFd),
- Size(Size)
+pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long long Size)
{
- if (Fd.IsOpen() == false)
+ d = new pkgTagFilePrivate(pFd, Size);
+
+ if (d->Fd.IsOpen() == false)
{
- Buffer = 0;
- Start = End = Buffer = 0;
- Done = true;
- iOffset = 0;
+ d->Start = d->End = d->Buffer = 0;
+ d->Done = true;
+ d->iOffset = 0;
return;
}
- Buffer = new char[Size];
- Start = End = Buffer;
- Done = false;
- iOffset = 0;
+ d->Buffer = new char[Size];
+ d->Start = d->End = d->Buffer;
+ d->Done = false;
+ d->iOffset = 0;
Fill();
}
/*}}}*/
@@ -52,7 +68,14 @@ pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
/* */
pkgTagFile::~pkgTagFile()
{
- delete [] Buffer;
+ delete [] d->Buffer;
+ delete d;
+}
+ /*}}}*/
+// TagFile::Offset - Return the current offset in the buffer /*{{{*/
+unsigned long pkgTagFile::Offset()
+{
+ return d->iOffset;
}
/*}}}*/
// TagFile::Resize - Resize the internal buffer /*{{{*/
@@ -63,22 +86,22 @@ pkgTagFile::~pkgTagFile()
bool pkgTagFile::Resize()
{
char *tmp;
- unsigned long EndSize = End - Start;
+ unsigned long long EndSize = d->End - d->Start;
// fail is the buffer grows too big
- if(Size > 1024*1024+1)
+ if(d->Size > 1024*1024+1)
return false;
// get new buffer and use it
- tmp = new char[2*Size];
- memcpy(tmp, Buffer, Size);
- Size = Size*2;
- delete [] Buffer;
- Buffer = tmp;
+ tmp = new char[2*d->Size];
+ memcpy(tmp, d->Buffer, d->Size);
+ d->Size = d->Size*2;
+ delete [] d->Buffer;
+ d->Buffer = tmp;
// update the start/end pointers to the new buffer
- Start = Buffer;
- End = Start + EndSize;
+ d->Start = d->Buffer;
+ d->End = d->Start + EndSize;
return true;
}
/*}}}*/
@@ -90,20 +113,20 @@ bool pkgTagFile::Resize()
*/
bool pkgTagFile::Step(pkgTagSection &Tag)
{
- while (Tag.Scan(Start,End - Start) == false)
+ while (Tag.Scan(d->Start,d->End - d->Start) == false)
{
if (Fill() == false)
return false;
- if(Tag.Scan(Start,End - Start))
+ if(Tag.Scan(d->Start,d->End - d->Start))
break;
if (Resize() == false)
return _error->Error(_("Unable to parse package file %s (1)"),
- Fd.Name().c_str());
+ d->Fd.Name().c_str());
}
- Start += Tag.size();
- iOffset += Tag.size();
+ d->Start += Tag.size();
+ d->iOffset += Tag.size();
Tag.Trim();
return true;
@@ -115,37 +138,37 @@ bool pkgTagFile::Step(pkgTagSection &Tag)
then fills the rest from the file */
bool pkgTagFile::Fill()
{
- unsigned long EndSize = End - Start;
- unsigned long Actual = 0;
+ unsigned long long EndSize = d->End - d->Start;
+ unsigned long long Actual = 0;
- memmove(Buffer,Start,EndSize);
- Start = Buffer;
- End = Buffer + EndSize;
+ memmove(d->Buffer,d->Start,EndSize);
+ d->Start = d->Buffer;
+ d->End = d->Buffer + EndSize;
- if (Done == false)
+ if (d->Done == false)
{
// See if only a bit of the file is left
- if (Fd.Read(End,Size - (End - Buffer),&Actual) == false)
+ if (d->Fd.Read(d->End, d->Size - (d->End - d->Buffer),&Actual) == false)
return false;
- if (Actual != Size - (End - Buffer))
- Done = true;
- End += Actual;
+ if (Actual != d->Size - (d->End - d->Buffer))
+ d->Done = true;
+ d->End += Actual;
}
- if (Done == true)
+ if (d->Done == true)
{
if (EndSize <= 3 && Actual == 0)
return false;
- if (Size - (End - Buffer) < 4)
+ if (d->Size - (d->End - d->Buffer) < 4)
return true;
// Append a double new line if one does not exist
unsigned int LineCount = 0;
- for (const char *E = End - 1; E - End < 6 && (*E == '\n' || *E == '\r'); E--)
+ for (const char *E = d->End - 1; E - d->End < 6 && (*E == '\n' || *E == '\r'); E--)
if (*E == '\n')
LineCount++;
for (; LineCount < 2; LineCount++)
- *End++ = '\n';
+ *d->End++ = '\n';
return true;
}
@@ -157,36 +180,36 @@ bool pkgTagFile::Fill()
// ---------------------------------------------------------------------
/* This jumps to a pre-recorded file location and reads the record
that is there */
-bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long Offset)
+bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long long Offset)
{
// We are within a buffer space of the next hit..
- if (Offset >= iOffset && iOffset + (End - Start) > Offset)
+ if (Offset >= d->iOffset && d->iOffset + (d->End - d->Start) > Offset)
{
- unsigned long Dist = Offset - iOffset;
- Start += Dist;
- iOffset += Dist;
+ unsigned long long Dist = Offset - d->iOffset;
+ d->Start += Dist;
+ d->iOffset += Dist;
return Step(Tag);
}
// Reposition and reload..
- iOffset = Offset;
- Done = false;
- if (Fd.Seek(Offset) == false)
+ d->iOffset = Offset;
+ d->Done = false;
+ if (d->Fd.Seek(Offset) == false)
return false;
- End = Start = Buffer;
+ d->End = d->Start = d->Buffer;
if (Fill() == false)
return false;
- if (Tag.Scan(Start,End - Start) == true)
+ if (Tag.Scan(d->Start, d->End - d->Start) == true)
return true;
// This appends a double new line (for the real eof handling)
if (Fill() == false)
return false;
- if (Tag.Scan(Start,End - Start) == false)
- return _error->Error(_("Unable to parse package file %s (2)"),Fd.Name().c_str());
+ if (Tag.Scan(d->Start, d->End - d->Start) == false)
+ return _error->Error(_("Unable to parse package file %s (2)"),d->Fd.Name().c_str());
return true;
}
@@ -457,6 +480,7 @@ static const char *iTFRewritePackageOrder[] = {
"MD5Sum",
"SHA1",
"SHA256",
+ "SHA512",
"MSDOS-Filename", // Obsolete
"Description",
0};
diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h
index 61491aa04..28f7fcc24 100644
--- a/apt-pkg/tagfile.h
+++ b/apt-pkg/tagfile.h
@@ -23,16 +23,16 @@
#include <apt-pkg/fileutl.h>
#include <stdio.h>
-
+
class pkgTagSection
{
const char *Section;
-
// We have a limit of 256 tags per section.
unsigned int Indexes[256];
unsigned int AlphaIndexes[0x100];
-
unsigned int TagCount;
+ // dpointer placeholder (for later in case we need it)
+ void *d;
/* This very simple hash function for the last 8 letters gives
very good performance on the debian package files */
@@ -44,7 +44,6 @@ class pkgTagSection
return Res & 0xFF;
}
-
protected:
const char *Stop;
@@ -79,18 +78,14 @@ class pkgTagSection
Stop = this->Stop;
};
- pkgTagSection() : Section(0), Stop(0) {};
+ pkgTagSection() : Section(0), TagCount(0), Stop(0) {};
+ virtual ~pkgTagSection() {};
};
+class pkgTagFilePrivate;
class pkgTagFile
{
- FileFd &Fd;
- char *Buffer;
- char *Start;
- char *End;
- bool Done;
- unsigned long iOffset;
- unsigned long Size;
+ pkgTagFilePrivate *d;
bool Fill();
bool Resize();
@@ -98,11 +93,11 @@ class pkgTagFile
public:
bool Step(pkgTagSection &Section);
- inline unsigned long Offset() {return iOffset;};
- bool Jump(pkgTagSection &Tag,unsigned long Offset);
+ unsigned long Offset();
+ bool Jump(pkgTagSection &Tag,unsigned long long Offset);
- pkgTagFile(FileFd *F,unsigned long Size = 32*1024);
- ~pkgTagFile();
+ pkgTagFile(FileFd *F,unsigned long long Size = 32*1024);
+ virtual ~pkgTagFile();
};
/* This is the list of things to rewrite. The rewriter
diff --git a/apt-pkg/vendor.cc b/apt-pkg/vendor.cc
index 2350afe69..eab6d448f 100644
--- a/apt-pkg/vendor.cc
+++ b/apt-pkg/vendor.cc
@@ -1,3 +1,5 @@
+#include<config.h>
+
#include <iostream>
#include <apt-pkg/error.h>
#include <apt-pkg/vendor.h>
diff --git a/apt-pkg/vendorlist.cc b/apt-pkg/vendorlist.cc
index 48ac12cee..731f11acf 100644
--- a/apt-pkg/vendorlist.cc
+++ b/apt-pkg/vendorlist.cc
@@ -1,3 +1,5 @@
+#include<config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
#include <apti18n.h>
@@ -11,7 +13,7 @@
pkgVendorList::~pkgVendorList()
{
for (vector<const Vendor *>::const_iterator I = VendorList.begin();
- I != VendorList.end(); I++)
+ I != VendorList.end(); ++I)
delete *I;
}
@@ -49,7 +51,7 @@ bool pkgVendorList::Read(string File) /*{{{*/
bool pkgVendorList::CreateList(Configuration& Cnf) /*{{{*/
{
for (vector<const Vendor *>::const_iterator I = VendorList.begin();
- I != VendorList.end(); I++)
+ I != VendorList.end(); ++I)
delete *I;
VendorList.erase(VendorList.begin(),VendorList.end());
@@ -129,7 +131,7 @@ const Vendor* pkgVendorList::LookupFingerprint(string Fingerprint) /*{{{*/
/*}}}*/
const Vendor* pkgVendorList::FindVendor(const std::vector<string> GPGVOutput) /*{{{*/
{
- for (std::vector<string>::const_iterator I = GPGVOutput.begin(); I != GPGVOutput.end(); I++)
+ for (std::vector<string>::const_iterator I = GPGVOutput.begin(); I != GPGVOutput.end(); ++I)
{
string::size_type pos = (*I).find("VALIDSIG ");
if (_config->FindB("Debug::Vendor", false))
diff --git a/apt-pkg/version.cc b/apt-pkg/version.cc
index 42e449d36..a9d4fb763 100644
--- a/apt-pkg/version.cc
+++ b/apt-pkg/version.cc
@@ -8,6 +8,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/version.h>
#include <apt-pkg/pkgcache.h>
diff --git a/apt-pkg/versionmatch.cc b/apt-pkg/versionmatch.cc
index c40b1fdbc..f336b3c35 100644
--- a/apt-pkg/versionmatch.cc
+++ b/apt-pkg/versionmatch.cc
@@ -11,8 +11,9 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include <apt-pkg/versionmatch.h>
+#include<config.h>
+#include <apt-pkg/versionmatch.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
@@ -21,7 +22,6 @@
#include <fnmatch.h>
#include <sys/types.h>
#include <regex.h>
-
/*}}}*/
// VersionMatch::pkgVersionMatch - Constructor /*{{{*/
@@ -60,7 +60,7 @@ pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type) : Type(Type)
// Are we a simple specification?
string::const_iterator I = Data.begin();
- for (; I != Data.end() && *I != '='; I++);
+ for (; I != Data.end() && *I != '='; ++I);
if (I == Data.end())
{
// Temporary
@@ -152,7 +152,7 @@ bool pkgVersionMatch::MatchVer(const char *A,string B,bool Prefix)
pkgCache::VerIterator pkgVersionMatch::Find(pkgCache::PkgIterator Pkg)
{
pkgCache::VerIterator Ver = Pkg.VersionList();
- for (; Ver.end() == false; Ver++)
+ for (; Ver.end() == false; ++Ver)
{
if (Type == Version)
{
@@ -163,7 +163,7 @@ pkgCache::VerIterator pkgVersionMatch::Find(pkgCache::PkgIterator Pkg)
continue;
}
- for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false; VF++)
+ for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false; ++VF)
if (FileMatch(VF.File()) == true)
return Ver;
}
diff --git a/buildlib/config.h.in b/buildlib/config.h.in
index b3609a700..256911231 100644
--- a/buildlib/config.h.in
+++ b/buildlib/config.h.in
@@ -33,6 +33,9 @@
/* If there is no socklen_t, define this for the netdb shim */
#undef NEED_SOCKLEN_T_DEFINE
+/* Define to the size of the filesize containing structures */
+#undef _FILE_OFFSET_BITS
+
/* Define the arch name string */
#undef COMMON_ARCH
diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak
index bf93bd2ee..edb089160 100644
--- a/buildlib/defaults.mak
+++ b/buildlib/defaults.mak
@@ -118,10 +118,10 @@ MKDIRS := $(BIN)
# list
.PHONY: headers library clean veryclean all binary program doc dirs
.PHONY: maintainer-clean dist-clean distclean pristine sanity
-all: binary doc
+all: dirs binary doc
binary: library program
maintainer-clean dist-clean distclean pristine sanity: veryclean
-headers library clean veryclean program:
+headers library clean veryclean program test:
veryclean:
echo Very Clean done for $(SUBDIR)
diff --git a/cmdline/acqprogress.cc b/cmdline/acqprogress.cc
index ba334ce05..1ccb08804 100644
--- a/cmdline/acqprogress.cc
+++ b/cmdline/acqprogress.cc
@@ -8,19 +8,21 @@
##################################################################### */
/*}}}*/
// Include files /*{{{*/
-#include "acqprogress.h"
+#include<config.h>
+
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/acquire-worker.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
-#include <apti18n.h>
-
#include <stdio.h>
#include <signal.h>
#include <iostream>
#include <unistd.h>
+
+#include "acqprogress.h"
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -161,7 +163,7 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner)
ScreenWidth = sizeof(Buffer)-1;
// Put in the percent done
- sprintf(S,"%ld%%",long(double((CurrentBytes + CurrentItems)*100.0)/double(TotalBytes+TotalItems)));
+ sprintf(S,"%.0f%%",((CurrentBytes + CurrentItems)*100.0)/(TotalBytes+TotalItems));
bool Shown = false;
for (pkgAcquire::Worker *I = Owner->WorkersBegin(); I != 0;
@@ -200,7 +202,7 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner)
// Add the current progress
if (Mode == Long)
- snprintf(S,End-S," %lu",I->CurrentSize);
+ snprintf(S,End-S," %llu",I->CurrentSize);
else
{
if (Mode == Medium || I->TotalSize == 0)
@@ -212,11 +214,11 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner)
if (I->TotalSize > 0 && I->CurrentItem->Owner->Complete == false)
{
if (Mode == Short)
- snprintf(S,End-S," %lu%%",
- long(double(I->CurrentSize*100.0)/double(I->TotalSize)));
+ snprintf(S,End-S," %.0f%%",
+ (I->CurrentSize*100.0)/I->TotalSize);
else
- snprintf(S,End-S,"/%sB %lu%%",SizeToStr(I->TotalSize).c_str(),
- long(double(I->CurrentSize*100.0)/double(I->TotalSize)));
+ snprintf(S,End-S,"/%sB %.0f%%",SizeToStr(I->TotalSize).c_str(),
+ (I->CurrentSize*100.0)/I->TotalSize);
}
S += strlen(S);
snprintf(S,End-S,"]");
@@ -236,7 +238,7 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner)
if (CurrentCPS != 0)
{
char Tmp[300];
- unsigned long ETA = (unsigned long)((TotalBytes - CurrentBytes)/CurrentCPS);
+ unsigned long long ETA = (TotalBytes - CurrentBytes)/CurrentCPS;
sprintf(Tmp," %sB/s %s",SizeToStr(CurrentCPS).c_str(),TimeToStr(ETA).c_str());
unsigned int Len = strlen(Buffer);
unsigned int LenT = strlen(Tmp);
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc
index 232bb93ec..a4cdf784e 100644
--- a/cmdline/apt-cache.cc
+++ b/cmdline/apt-cache.cc
@@ -13,8 +13,9 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/error.h>
-#include <cassert>
#include <apt-pkg/pkgcachegen.h>
#include <apt-pkg/cachefile.h>
#include <apt-pkg/cacheset.h>
@@ -31,17 +32,16 @@
#include <apt-pkg/algorithms.h>
#include <apt-pkg/sptr.h>
-#include <config.h>
-#include <apti18n.h>
-
+#include <cassert>
#include <locale.h>
#include <iostream>
#include <unistd.h>
#include <errno.h>
#include <regex.h>
#include <stdio.h>
-
#include <iomanip>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -141,7 +141,7 @@ bool ShowUnMet(pkgCache::VerIterator const &V, bool const &Important)
if (Start == End)
break;
- Start++;
+ ++Start;
}
while (1);
@@ -169,7 +169,7 @@ bool ShowUnMet(pkgCache::VerIterator const &V, bool const &Important)
if (Start == End)
break;
cout << " | ";
- Start++;
+ ++Start;
}
while (1);
@@ -187,7 +187,7 @@ bool UnMet(CommandLine &CmdL)
if (CmdL.FileSize() <= 1)
{
- for (pkgCache::PkgIterator P = CacheFile.GetPkgCache()->PkgBegin(); P.end() == false; P++)
+ for (pkgCache::PkgIterator P = CacheFile.GetPkgCache()->PkgBegin(); P.end() == false; ++P)
for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V)
if (ShowUnMet(V, Important) == false)
return false;
@@ -217,13 +217,13 @@ bool DumpPackage(CommandLine &CmdL)
{
cout << "Package: " << Pkg.FullName(true) << endl;
cout << "Versions: " << endl;
- for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
+ for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; ++Cur)
{
cout << Cur.VerStr();
- for (pkgCache::VerFileIterator Vf = Cur.FileList(); Vf.end() == false; Vf++)
+ for (pkgCache::VerFileIterator Vf = Cur.FileList(); Vf.end() == false; ++Vf)
cout << " (" << Vf.File().FileName() << ")";
cout << endl;
- for (pkgCache::DescIterator D = Cur.DescriptionList(); D.end() == false; D++)
+ for (pkgCache::DescIterator D = Cur.DescriptionList(); D.end() == false; ++D)
{
cout << " Description Language: " << D.LanguageCode() << endl
<< " File: " << D.FileList().File().FileName() << endl
@@ -235,7 +235,7 @@ bool DumpPackage(CommandLine &CmdL)
cout << endl;
cout << "Reverse Depends: " << endl;
- for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() != true; D++)
+ for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() != true; ++D)
{
cout << " " << D.ParentPkg().FullName(true) << ',' << D.TargetPkg().FullName(true);
if (D->Version != 0)
@@ -245,24 +245,24 @@ bool DumpPackage(CommandLine &CmdL)
}
cout << "Dependencies: " << endl;
- for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
+ for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; ++Cur)
{
cout << Cur.VerStr() << " - ";
- for (pkgCache::DepIterator Dep = Cur.DependsList(); Dep.end() != true; Dep++)
+ for (pkgCache::DepIterator Dep = Cur.DependsList(); Dep.end() != true; ++Dep)
cout << Dep.TargetPkg().FullName(true) << " (" << (int)Dep->CompareOp << " " << DeNull(Dep.TargetVer()) << ") ";
cout << endl;
}
cout << "Provides: " << endl;
- for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
+ for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; ++Cur)
{
cout << Cur.VerStr() << " - ";
- for (pkgCache::PrvIterator Prv = Cur.ProvidesList(); Prv.end() != true; Prv++)
+ for (pkgCache::PrvIterator Prv = Cur.ProvidesList(); Prv.end() != true; ++Prv)
cout << Prv.ParentPkg().FullName(true) << " ";
cout << endl;
}
cout << "Reverse Provides: " << endl;
- for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); Prv.end() != true; Prv++)
+ for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); Prv.end() != true; ++Prv)
cout << Prv.OwnerPkg().FullName(true) << " " << Prv.OwnerVer().VerStr() << endl;
}
@@ -290,7 +290,7 @@ bool Stats(CommandLine &Cmd)
int DVirt = 0;
int Missing = 0;
pkgCache::PkgIterator I = Cache->PkgBegin();
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
{
if (I->VersionList != 0 && I->ProvidesList == 0)
{
@@ -353,11 +353,11 @@ bool Stats(CommandLine &Cmd)
cout << _("Total globbed strings: ") << Count << " (" << SizeToStr(Size) << ')' << endl;
unsigned long DepVerSize = 0;
- for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++)
+ for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P)
{
- for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; V++)
+ for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V)
{
- for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; ++D)
{
if (D->Version != 0)
DepVerSize += strlen(D.TargetVer()) + 1;
@@ -394,17 +394,17 @@ bool Dump(CommandLine &Cmd)
cout << "Using Versioning System: " << Cache->VS->Label << endl;
- for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++)
+ for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P)
{
cout << "Package: " << P.FullName(true) << endl;
- for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; V++)
+ for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V)
{
cout << " Version: " << V.VerStr() << endl;
cout << " File: " << V.FileList().File().FileName() << endl;
- for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; ++D)
cout << " Depends: " << D.TargetPkg().FullName(true) << ' ' <<
DeNull(D.TargetVer()) << endl;
- for (pkgCache::DescIterator D = V.DescriptionList(); D.end() == false; D++)
+ for (pkgCache::DescIterator D = V.DescriptionList(); D.end() == false; ++D)
{
cout << " Description Language: " << D.LanguageCode() << endl
<< " File: " << D.FileList().File().FileName() << endl
@@ -413,7 +413,7 @@ bool Dump(CommandLine &Cmd)
}
}
- for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F.end() == false; F++)
+ for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F.end() == false; ++F)
{
cout << "File: " << F.FileName() << endl;
cout << " Type: " << F.IndexType() << endl;
@@ -449,7 +449,7 @@ bool DumpAvail(CommandLine &Cmd)
memset(VFList,0,sizeof(*VFList)*Count);
// Map versions that we want to write out onto the VerList array.
- for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++)
+ for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P)
{
if (P->VersionList == 0)
continue;
@@ -466,7 +466,7 @@ bool DumpAvail(CommandLine &Cmd)
}
pkgCache::VerFileIterator VF = V.FileList();
- for (; VF.end() == false ; VF++)
+ for (; VF.end() == false ; ++VF)
if ((VF.File()->Flags & pkgCache::Flag::NotSource) == 0)
break;
@@ -480,9 +480,9 @@ bool DumpAvail(CommandLine &Cmd)
handling works OK. */
if (VF.end() == true)
{
- for (pkgCache::VerIterator Cur = P.VersionList(); Cur.end() != true; Cur++)
+ for (pkgCache::VerIterator Cur = P.VersionList(); Cur.end() != true; ++Cur)
{
- for (VF = Cur.FileList(); VF.end() == false; VF++)
+ for (VF = Cur.FileList(); VF.end() == false; ++VF)
{
if ((VF.File()->Flags & pkgCache::Flag::NotSource) == 0)
{
@@ -615,7 +615,7 @@ bool ShowDepends(CommandLine &CmdL, bool const RevDepends)
if (RevDepends == true)
cout << "Reverse Depends:" << endl;
for (pkgCache::DepIterator D = RevDepends ? Pkg.RevDependsList() : Ver.DependsList();
- D.end() == false; D++)
+ D.end() == false; ++D)
{
switch (D->Type) {
case pkgCache::Dep::PreDepends: if (!ShowPreDepends) continue; break;
@@ -741,7 +741,7 @@ bool XVcg(CommandLine &CmdL)
memset(Flags,0,sizeof(*Flags)*Cache->Head().PackageCount);
// Map the shapes
- for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
+ for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg)
{
if (Pkg->VersionList == 0)
{
@@ -788,7 +788,7 @@ bool XVcg(CommandLine &CmdL)
while (Act == true)
{
Act = false;
- for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
+ for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg)
{
// See we need to show this package
if (Show[Pkg->ID] == None || Show[Pkg->ID] >= DoneNR)
@@ -814,14 +814,14 @@ bool XVcg(CommandLine &CmdL)
continue;
pkgCache::VerIterator Ver = Pkg.VersionList();
- for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; ++D)
{
// See if anything can meet this dep
// Walk along the actual package providing versions
bool Hit = false;
pkgCache::PkgIterator DPkg = D.TargetPkg();
for (pkgCache::VerIterator I = DPkg.VersionList();
- I.end() == false && Hit == false; I++)
+ I.end() == false && Hit == false; ++I)
{
if (Cache->VS->CheckDep(I.VerStr(),D->CompareOp,D.TargetVer()) == true)
Hit = true;
@@ -829,7 +829,7 @@ bool XVcg(CommandLine &CmdL)
// Follow all provides
for (pkgCache::PrvIterator I = DPkg.ProvidesList();
- I.end() == false && Hit == false; I++)
+ I.end() == false && Hit == false; ++I)
{
if (Cache->VS->CheckDep(I.ProvideVersion(),D->CompareOp,D.TargetVer()) == false)
Hit = true;
@@ -889,7 +889,7 @@ bool XVcg(CommandLine &CmdL)
/* Draw the box colours after the fact since we can not tell what colour
they should be until everything is finished drawing */
- for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
+ for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg)
{
if (Show[Pkg->ID] < DoneNR)
continue;
@@ -953,7 +953,7 @@ bool Dotty(CommandLine &CmdL)
memset(Flags,0,sizeof(*Flags)*Cache->Head().PackageCount);
// Map the shapes
- for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
+ for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg)
{
if (Pkg->VersionList == 0)
{
@@ -1000,7 +1000,7 @@ bool Dotty(CommandLine &CmdL)
while (Act == true)
{
Act = false;
- for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
+ for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg)
{
// See we need to show this package
if (Show[Pkg->ID] == None || Show[Pkg->ID] >= DoneNR)
@@ -1024,14 +1024,14 @@ bool Dotty(CommandLine &CmdL)
continue;
pkgCache::VerIterator Ver = Pkg.VersionList();
- for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; ++D)
{
// See if anything can meet this dep
// Walk along the actual package providing versions
bool Hit = false;
pkgCache::PkgIterator DPkg = D.TargetPkg();
for (pkgCache::VerIterator I = DPkg.VersionList();
- I.end() == false && Hit == false; I++)
+ I.end() == false && Hit == false; ++I)
{
if (Cache->VS->CheckDep(I.VerStr(),D->CompareOp,D.TargetVer()) == true)
Hit = true;
@@ -1039,7 +1039,7 @@ bool Dotty(CommandLine &CmdL)
// Follow all provides
for (pkgCache::PrvIterator I = DPkg.ProvidesList();
- I.end() == false && Hit == false; I++)
+ I.end() == false && Hit == false; ++I)
{
if (Cache->VS->CheckDep(I.ProvideVersion(),D->CompareOp,D.TargetVer()) == false)
Hit = true;
@@ -1094,7 +1094,7 @@ bool Dotty(CommandLine &CmdL)
/* Draw the box colours after the fact since we can not tell what colour
they should be until everything is finished drawing */
- for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
+ for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg)
{
if (Show[Pkg->ID] < DoneNR)
continue;
@@ -1127,7 +1127,7 @@ bool DisplayRecord(pkgCacheFile &CacheFile, pkgCache::VerIterator V)
// Find an appropriate file
pkgCache::VerFileIterator Vf = V.FileList();
- for (; Vf.end() == false; Vf++)
+ for (; Vf.end() == false; ++Vf)
if ((Vf.File()->Flags & pkgCache::Flag::NotSource) == 0)
break;
if (Vf.end() == true)
@@ -1272,7 +1272,7 @@ bool Search(CommandLine &CmdL)
continue;
// Include all the packages that provide matching names too
- for (pkgCache::PrvIterator Prv = P.ProvidesList() ; Prv.end() == false; Prv++)
+ for (pkgCache::PrvIterator Prv = P.ProvidesList() ; Prv.end() == false; ++Prv)
{
pkgCache::VerIterator V = Plcy->GetCandidateVer(Prv.OwnerPkg());
if (V.end() == true)
@@ -1341,13 +1341,13 @@ bool ShowAuto(CommandLine &CmdL)
std::vector<string> packages;
packages.reserve(Cache->HeaderP->PackageCount / 3);
- for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++)
+ for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P)
if ((*DepCache)[P].Flags & pkgCache::Flag::Auto)
packages.push_back(P.Name());
std::sort(packages.begin(), packages.end());
- for (vector<string>::iterator I = packages.begin(); I != packages.end(); I++)
+ for (vector<string>::iterator I = packages.begin(); I != packages.end(); ++I)
cout << *I << "\n";
_error->Notice(_("This command is deprecated. Please use 'apt-mark showauto' instead."));
@@ -1391,7 +1391,7 @@ bool ShowPkgNames(CommandLine &CmdL)
if (CmdL.FileList[1] != 0)
{
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
{
if (All == false && I->FirstPackage == 0)
continue;
@@ -1405,7 +1405,7 @@ bool ShowPkgNames(CommandLine &CmdL)
}
// Show all pkgs
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
{
if (All == false && I->FirstPackage == 0)
continue;
@@ -1476,7 +1476,7 @@ bool Policy(CommandLine &CmdL)
if (CmdL.FileList[1] == 0)
{
cout << _("Package files:") << endl;
- for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F.end() == false; F++)
+ for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F.end() == false; ++F)
{
// Locate the associated index files so we can derive a description
pkgIndexFile *Indx;
@@ -1498,7 +1498,7 @@ bool Policy(CommandLine &CmdL)
// Show any packages have explicit pins
cout << _("Pinned packages:") << endl;
pkgCache::PkgIterator I = Cache->PkgBegin();
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
{
if (Plcy->GetPriority(I) == 0)
continue;
@@ -1560,14 +1560,14 @@ bool Policy(CommandLine &CmdL)
// Show the priority tables
cout << _(" Version table:") << endl;
- for (V = Pkg.VersionList(); V.end() == false; V++)
+ for (V = Pkg.VersionList(); V.end() == false; ++V)
{
if (Pkg.CurrentVer() == V)
cout << " *** " << V.VerStr();
else
cout << " " << V.VerStr();
cout << " " << Plcy->GetPriority(Pkg) << endl;
- for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; VF++)
+ for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; ++VF)
{
// Locate the associated index files so we can derive a description
pkgIndexFile *Indx;
@@ -1607,9 +1607,9 @@ bool Madison(CommandLine &CmdL)
APT::PackageSet pkgset = APT::PackageSet::FromString(CacheFile, *I, helper);
for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg)
{
- for (pkgCache::VerIterator V = Pkg.VersionList(); V.end() == false; V++)
+ for (pkgCache::VerIterator V = Pkg.VersionList(); V.end() == false; ++V)
{
- for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; VF++)
+ for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; ++VF)
{
// This might be nice, but wouldn't uniquely identify the source -mdz
// if (VF.File().Archive() != 0)
@@ -1619,11 +1619,11 @@ bool Madison(CommandLine &CmdL)
// }
// Locate the associated index files so we can derive a description
- for (pkgSourceList::const_iterator S = SrcList->begin(); S != SrcList->end(); S++)
+ for (pkgSourceList::const_iterator S = SrcList->begin(); S != SrcList->end(); ++S)
{
vector<pkgIndexFile *> *Indexes = (*S)->GetIndexFiles();
for (vector<pkgIndexFile *>::const_iterator IF = Indexes->begin();
- IF != Indexes->end(); IF++)
+ IF != Indexes->end(); ++IF)
{
if ((*IF)->FindInCache(*(VF.File().Cache())) == VF.File())
{
diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc
index d1268edf9..8608b1215 100644
--- a/cmdline/apt-cdrom.cc
+++ b/cmdline/apt-cdrom.cc
@@ -11,6 +11,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/cmndline.h>
#include <apt-pkg/error.h>
#include <apt-pkg/init.h>
@@ -21,10 +23,6 @@
#include <apt-pkg/acquire.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/cdrom.h>
-#include <config.h>
-#include <apti18n.h>
-
-//#include "indexcopy.h"
#include <locale.h>
#include <iostream>
@@ -36,6 +34,8 @@
#include <dirent.h>
#include <unistd.h>
#include <stdio.h>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc
index 589ee7ada..df2958975 100644
--- a/cmdline/apt-config.cc
+++ b/cmdline/apt-config.cc
@@ -16,6 +16,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/cmndline.h>
#include <apt-pkg/error.h>
#include <apt-pkg/init.h>
@@ -23,13 +25,12 @@
#include <apt-pkg/configuration.h>
#include <apt-pkg/aptconfiguration.h>
-#include <config.h>
-#include <apti18n.h>
-
#include <locale.h>
#include <iostream>
#include <string>
#include <vector>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
diff --git a/cmdline/apt-dump-solver.cc b/cmdline/apt-dump-solver.cc
new file mode 100644
index 000000000..dab0cc6fd
--- /dev/null
+++ b/cmdline/apt-dump-solver.cc
@@ -0,0 +1,50 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* #####################################################################
+
+ dummy solver to get quickly a scenario file out of APT
+
+ ##################################################################### */
+ /*}}}*/
+// Include Files /*{{{*/
+#include <apt-pkg/edsp.h>
+
+#include <config.h>
+
+#include <cstdio>
+ /*}}}*/
+
+// ShowHelp - Show a help screen /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool ShowHelp() {
+
+ std::cout <<
+ PACKAGE " " VERSION " for " COMMON_ARCH " compiled on " __DATE__ " " __TIME__ << std::endl <<
+ "Usage: apt-dump-resolver\n"
+ "\n"
+ "apt-dump-resolver is a dummy solver who just dumps its input to the\n"
+ "file /tmp/dump.edsp and exists with a proper EDSP error.\n"
+ "\n"
+ " This dump has lost Super Cow Powers.\n";
+ return true;
+}
+ /*}}}*/
+int main(int argc,const char *argv[]) /*{{{*/
+{
+ if (argc > 1 && (strcmp(argv[1], "--help") == 0 || strcmp(argv[1],"-h") == 0 ||
+ strcmp(argv[1],"-v") == 0 || strcmp(argv[1],"--version") == 0)) {
+ ShowHelp();
+ return 0;
+ }
+
+ FILE* input = fdopen(STDIN_FILENO, "r");
+ FILE* output = fopen("/tmp/dump.edsp", "w");
+ char buffer[400];
+ while (fgets(buffer, sizeof(buffer), input) != NULL)
+ fputs(buffer, output);
+ fclose(output);
+ fclose(input);
+
+ EDSP::WriteError("ERR_JUST_DUMPING", "I am too dumb, i can just dump!\nPlease use one of my friends instead!", stdout);
+}
diff --git a/cmdline/apt-extracttemplates.cc b/cmdline/apt-extracttemplates.cc
index 07bc0c25d..5d7b76c23 100644
--- a/cmdline/apt-extracttemplates.cc
+++ b/cmdline/apt-extracttemplates.cc
@@ -13,6 +13,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/init.h>
#include <apt-pkg/cmndline.h>
#include <apt-pkg/pkgcache.h>
@@ -28,7 +30,7 @@
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/fileutl.h>
-
+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
@@ -36,7 +38,6 @@
#include <fstream>
#include <locale.h>
-#include <config.h>
#include <apti18n.h>
#include "apt-extracttemplates.h"
/*}}}*/
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 845c92026..d8f207f0a 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -25,8 +25,7 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#define _LARGEFILE_SOURCE
-#define _LARGEFILE64_SOURCE
+#include <config.h>
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/error.h>
@@ -46,9 +45,6 @@
#include <apt-pkg/md5.h>
#include <apt-pkg/versionmatch.h>
-#include <config.h>
-#include <apti18n.h>
-
#include "acqprogress.h"
#include <set>
@@ -68,8 +64,7 @@
#include <sys/wait.h>
#include <sstream>
-#define statfs statfs64
-#define statvfs statvfs64
+#include <apti18n.h>
/*}}}*/
#define RAMFS_MAGIC 0x858458f6
@@ -135,6 +130,11 @@ bool YnPrompt(bool Default=true)
c1out << _("Y") << endl;
return true;
}
+ else if (_config->FindB("APT::Get::Assume-No",false) == true)
+ {
+ c1out << _("N") << endl;
+ return false;
+ }
char response[1024] = "";
cin.getline(response, sizeof(response));
@@ -363,7 +363,7 @@ void ShowBroken(ostream &out,CacheFile &Cache,bool Now)
if (Start == End)
break;
- Start++;
+ ++Start;
}
}
}
@@ -537,7 +537,7 @@ bool ShowEssential(ostream &out,CacheFile &Cache)
continue;
// Print out any essential package depenendents that are to be removed
- for (pkgCache::DepIterator D = I.CurrentVer().DependsList(); D.end() == false; D++)
+ for (pkgCache::DepIterator D = I.CurrentVer().DependsList(); D.end() == false; ++D)
{
// Skip everything but depends
if (D->Type != pkgCache::Dep::PreDepends &&
@@ -574,7 +574,7 @@ void Stats(ostream &out,pkgDepCache &Dep)
unsigned long Downgrade = 0;
unsigned long Install = 0;
unsigned long ReInstall = 0;
- for (pkgCache::PkgIterator I = Dep.PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Dep.PkgBegin(); I.end() == false; ++I)
{
if (Dep[I].NewInstall() == true)
Install++;
@@ -666,7 +666,7 @@ public:
}
// if we found no candidate which provide this package, show non-candidates
if (provider == 0)
- for (I = Pkg.ProvidesList(); I.end() == false; I++)
+ for (I = Pkg.ProvidesList(); I.end() == false; ++I)
out << " " << I.OwnerPkg().FullName(true) << " " << I.OwnerVer().VerStr()
<< _(" [Not candidate version]") << endl;
else
@@ -682,7 +682,7 @@ public:
SPtrArray<bool> Seen = new bool[Cache.GetPkgCache()->Head().PackageCount];
memset(Seen,0,Cache.GetPkgCache()->Head().PackageCount*sizeof(*Seen));
for (pkgCache::DepIterator Dep = Pkg.RevDependsList();
- Dep.end() == false; Dep++) {
+ Dep.end() == false; ++Dep) {
if (Dep->Type != pkgCache::Dep::Replaces)
continue;
if (Seen[Dep.ParentPkg()->ID] == true)
@@ -869,9 +869,7 @@ struct TryToInstall {
struct TryToRemove {
pkgCacheFile* Cache;
pkgProblemResolver* Fix;
- bool FixBroken;
bool PurgePkgs;
- unsigned long AutoMarkChanged;
TryToRemove(pkgCacheFile &Cache, pkgProblemResolver *PM) : Cache(&Cache), Fix(PM),
PurgePkgs(_config->FindB("APT::Get::Purge", false)) {};
@@ -923,7 +921,7 @@ void CacheFile::Sort()
List = new pkgCache::Package *[Cache->Head().PackageCount];
memset(List,0,sizeof(*List)*Cache->Head().PackageCount);
pkgCache::PkgIterator I = Cache->PkgBegin();
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
List[I->ID] = I;
SortCache = *this;
@@ -955,7 +953,7 @@ bool CacheFile::CheckDeps(bool AllowBroken)
if ((DCache->PolicyBrokenCount() > 0))
{
// upgrade all policy-broken packages with ForceImportantDeps=True
- for (pkgCache::PkgIterator I = Cache->PkgBegin(); !I.end(); I++)
+ for (pkgCache::PkgIterator I = Cache->PkgBegin(); !I.end(); ++I)
if ((*DCache)[I].NowPolicyBroken() == true)
DCache->MarkInstall(I,true,0, false, true);
}
@@ -1046,7 +1044,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,
if (_config->FindB("APT::Get::Purge",false) == true)
{
pkgCache::PkgIterator I = Cache->PkgBegin();
- for (; I.end() == false; I++)
+ for (; I.end() == false; ++I)
{
if (I.Purge() == false && Cache[I].Mode == pkgDepCache::ModeDelete)
Cache->MarkDelete(I,true);
@@ -1240,7 +1238,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,
if (_config->FindB("APT::Get::Print-URIs") == true)
{
pkgAcquire::UriIterator I = Fetcher.UriBegin();
- for (; I != Fetcher.UriEnd(); I++)
+ for (; I != Fetcher.UriEnd(); ++I)
cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' <<
I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl;
return true;
@@ -1264,7 +1262,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,
{
if ((*I)->Local == true)
{
- I++;
+ ++I;
continue;
}
@@ -1284,7 +1282,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,
// Print out errors
bool Failed = false;
- for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++)
+ for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); ++I)
{
if ((*I)->Status == pkgAcquire::Item::StatDone &&
(*I)->Complete == true)
@@ -1388,6 +1386,14 @@ bool TryToInstallBuildDep(pkgCache::PkgIterator Pkg,pkgCacheFile &Cache,
return AllowFail;
}
+ if (_config->FindB("Debug::BuildDeps",false) == true)
+ {
+ if (Remove == true)
+ cout << " Trying to remove " << Pkg << endl;
+ else
+ cout << " Trying to install " << Pkg << endl;
+ }
+
if (Remove == true)
{
TryToRemove RemoveAction(Cache, &Fix);
@@ -1436,7 +1442,7 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
// we have a default release, try to locate the pkg. we do it like
// this because GetCandidateVer() will not "downgrade", that means
// "apt-get source -t stable apt" won't work on a unstable system
- for (pkgCache::VerIterator Ver = Pkg.VersionList();; Ver++)
+ for (pkgCache::VerIterator Ver = Pkg.VersionList();; ++Ver)
{
// try first only exact matches, later fuzzy matches
if (Ver.end() == true)
@@ -1457,7 +1463,7 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
continue;
for (pkgCache::VerFileIterator VF = Ver.FileList();
- VF.end() == false; VF++)
+ VF.end() == false; ++VF)
{
/* If this is the status file, and the current version is not the
version in the status file (ie it is not installed, or somesuch)
@@ -1609,7 +1615,7 @@ bool DoUpdate(CommandLine &CmdL)
return false;
pkgAcquire::UriIterator I = Fetcher.UriBegin();
- for (; I != Fetcher.UriEnd(); I++)
+ for (; I != Fetcher.UriEnd(); ++I)
cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' <<
I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl;
return true;
@@ -1619,7 +1625,8 @@ bool DoUpdate(CommandLine &CmdL)
if (_config->FindB("APT::Get::Download",true) == true)
ListUpdate(Stat, *List);
- // Rebuild the cache.
+ // Rebuild the cache.
+ pkgCacheFile::RemoveCaches();
if (Cache.BuildCaches() == false)
return false;
@@ -1697,7 +1704,7 @@ bool DoAutomaticRemove(CacheFile &Cache)
// we could have removed a new dependency of a garbage package,
// so check if a reverse depends is broken and if so install it again.
- if (tooMuch.empty() == false && Cache->BrokenCount() != 0)
+ if (tooMuch.empty() == false && (Cache->BrokenCount() != 0 || Cache->PolicyBrokenCount() != 0))
{
bool Changed;
do {
@@ -1708,8 +1715,8 @@ bool DoAutomaticRemove(CacheFile &Cache)
for (pkgCache::DepIterator R = P.RevDependsList();
R.end() == false; ++R)
{
- if (R->Type != pkgCache::Dep::Depends &&
- R->Type != pkgCache::Dep::PreDepends)
+ if (R.IsNegative() == true ||
+ Cache->IsImportantDep(R) == false)
continue;
pkgCache::PkgIterator N = R.ParentPkg();
if (N.end() == true || (N->CurrentVer == 0 && (*Cache)[N].Install() == false))
@@ -1886,8 +1893,7 @@ bool DoInstall(CommandLine &CmdL)
{
// Call the scored problem resolver
Fix->InstallProtect();
- if (Fix->Resolve(true) == false)
- _error->Discard();
+ Fix->Resolve(true);
delete Fix;
}
@@ -1913,8 +1919,11 @@ bool DoInstall(CommandLine &CmdL)
c1out << _("The following information may help to resolve the situation:") << endl;
c1out << endl;
ShowBroken(c1out,Cache,false);
- return _error->Error(_("Broken packages"));
- }
+ if (_error->PendingError() == true)
+ return false;
+ else
+ return _error->Error(_("Broken packages"));
+ }
}
if (!DoAutomaticRemove(Cache))
return false;
@@ -1992,7 +2001,7 @@ bool DoInstall(CommandLine &CmdL)
if(Start.TargetPkg().ProvidesList() != 0)
{
pkgCache::PrvIterator I = Start.TargetPkg().ProvidesList();
- for (; I.end() == false; I++)
+ for (; I.end() == false; ++I)
{
pkgCache::PkgIterator Pkg = I.OwnerPkg();
if (Cache[Pkg].CandidateVerIter(Cache) == I.OwnerVer() &&
@@ -2015,7 +2024,7 @@ bool DoInstall(CommandLine &CmdL)
if (Start >= End)
break;
- Start++;
+ ++Start;
}
if(foundInstalledInOrGroup == false)
@@ -2129,7 +2138,7 @@ bool DoDSelectUpgrade(CommandLine &CmdL)
// Install everything with the install flag set
pkgCache::PkgIterator I = Cache->PkgBegin();
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
{
/* Install the package only if it is a new install, the autoupgrader
will deal with the rest */
@@ -2139,7 +2148,7 @@ bool DoDSelectUpgrade(CommandLine &CmdL)
/* Now install their deps too, if we do this above then order of
the status file is significant for | groups */
- for (I = Cache->PkgBegin();I.end() != true; I++)
+ for (I = Cache->PkgBegin();I.end() != true; ++I)
{
/* Install the package only if it is a new install, the autoupgrader
will deal with the rest */
@@ -2148,7 +2157,7 @@ bool DoDSelectUpgrade(CommandLine &CmdL)
}
// Apply erasures now, they override everything else.
- for (I = Cache->PkgBegin();I.end() != true; I++)
+ for (I = Cache->PkgBegin();I.end() != true; ++I)
{
// Remove packages
if (I->SelectedState == pkgCache::State::DeInstall ||
@@ -2165,7 +2174,7 @@ bool DoDSelectUpgrade(CommandLine &CmdL)
// Hold back held packages.
if (_config->FindB("APT::Ignore-Hold",false) == false)
{
- for (pkgCache::PkgIterator I = Cache->PkgBegin(); I.end() == false; I++)
+ for (pkgCache::PkgIterator I = Cache->PkgBegin(); I.end() == false; ++I)
{
if (I->SelectedState == pkgCache::State::Hold)
{
@@ -2197,10 +2206,14 @@ bool DoDSelectUpgrade(CommandLine &CmdL)
/* */
bool DoClean(CommandLine &CmdL)
{
+ std::string const archivedir = _config->FindDir("Dir::Cache::archives");
+ std::string const pkgcache = _config->FindFile("Dir::cache::pkgcache");
+ std::string const srcpkgcache = _config->FindFile("Dir::cache::srcpkgcache");
+
if (_config->FindB("APT::Get::Simulate") == true)
{
- cout << "Del " << _config->FindDir("Dir::Cache::archives") << "* " <<
- _config->FindDir("Dir::Cache::archives") << "partial/*" << endl;
+ cout << "Del " << archivedir << "* " << archivedir << "partial/*"<< endl
+ << "Del " << pkgcache << " " << srcpkgcache << endl;
return true;
}
@@ -2208,14 +2221,17 @@ bool DoClean(CommandLine &CmdL)
FileFd Lock;
if (_config->FindB("Debug::NoLocking",false) == false)
{
- Lock.Fd(GetLock(_config->FindDir("Dir::Cache::Archives") + "lock"));
+ Lock.Fd(GetLock(archivedir + "lock"));
if (_error->PendingError() == true)
return _error->Error(_("Unable to lock the download directory"));
}
pkgAcquire Fetcher;
- Fetcher.Clean(_config->FindDir("Dir::Cache::archives"));
- Fetcher.Clean(_config->FindDir("Dir::Cache::archives") + "partial/");
+ Fetcher.Clean(archivedir);
+ Fetcher.Clean(archivedir + "partial/");
+
+ pkgCacheFile::RemoveCaches();
+
return true;
}
/*}}}*/
@@ -2273,7 +2289,7 @@ bool DoDownload(CommandLine &CmdL)
pkgAcquire Fetcher;
AcqTextStatus Stat(ScreenWidth, _config->FindI("quiet",0));
- if (_config->FindB("APT::Get::Print-URIs") == true)
+ if (_config->FindB("APT::Get::Print-URIs") == false)
Fetcher.Setup(&Stat);
pkgRecords Recs(Cache);
@@ -2297,6 +2313,8 @@ bool DoDownload(CommandLine &CmdL)
strprintf(descr, _("Downloading %s %s"), Pkg.Name(), Ver.VerStr());
// get the most appropriate hash
HashString hash;
+ if (rec.SHA512Hash() != "")
+ hash = HashString("sha512", rec.SHA512Hash());
if (rec.SHA256Hash() != "")
hash = HashString("sha256", rec.SHA256Hash());
else if (rec.SHA1Hash() != "")
@@ -2311,7 +2329,7 @@ bool DoDownload(CommandLine &CmdL)
if (_config->FindB("APT::Get::Print-URIs") == true)
{
pkgAcquire::UriIterator I = Fetcher.UriBegin();
- for (; I != Fetcher.UriEnd(); I++)
+ for (; I != Fetcher.UriEnd(); ++I)
cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' <<
I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl;
return true;
@@ -2366,8 +2384,7 @@ bool DoSource(CommandLine &CmdL)
// Create the download object
AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0));
pkgAcquire Fetcher;
- if (Fetcher.Setup(&Stat) == false)
- return false;
+ Fetcher.SetLog(&Stat);
DscFile *Dsc = new DscFile[CmdL.FileSize()];
@@ -2430,7 +2447,7 @@ bool DoSource(CommandLine &CmdL)
// Load them into the fetcher
for (vector<pkgSrcRecords::File>::const_iterator I = Lst.begin();
- I != Lst.end(); I++)
+ I != Lst.end(); ++I)
{
// Try to guess what sort of file it is we are getting.
if (I->Type == "dsc")
@@ -2532,7 +2549,7 @@ bool DoSource(CommandLine &CmdL)
if (_config->FindB("APT::Get::Print-URIs") == true)
{
pkgAcquire::UriIterator I = Fetcher.UriBegin();
- for (; I != Fetcher.UriEnd(); I++)
+ for (; I != Fetcher.UriEnd(); ++I)
cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' <<
I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl;
delete[] Dsc;
@@ -2548,7 +2565,7 @@ bool DoSource(CommandLine &CmdL)
// Print error messages
bool Failed = false;
- for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++)
+ for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); ++I)
{
if ((*I)->Status == pkgAcquire::Item::StatDone &&
(*I)->Complete == true)
@@ -2577,7 +2594,7 @@ bool DoSource(CommandLine &CmdL)
if (Process == 0)
{
bool const fixBroken = _config->FindB("APT::Get::Fix-Broken", false);
- for (unsigned I = 0; I != J; I++)
+ for (unsigned I = 0; I != J; ++I)
{
string Dir = Dsc[I].Package + '-' + Cache->VS().UpstreamVersion(Dsc[I].Version.c_str());
@@ -2613,12 +2630,17 @@ bool DoSource(CommandLine &CmdL)
// Try to compile it with dpkg-buildpackage
if (_config->FindB("APT::Get::Compile",false) == true)
{
+ string buildopts = _config->Find("APT::Get::Host-Architecture");
+ if (buildopts.empty() == false)
+ buildopts = "-a " + buildopts + " ";
+ buildopts.append(_config->Find("DPkg::Build-Options","-b -uc"));
+
// Call dpkg-buildpackage
char S[500];
snprintf(S,sizeof(S),"cd %s && %s %s",
Dir.c_str(),
_config->Find("Dir::Bin::dpkg-buildpackage","dpkg-buildpackage").c_str(),
- _config->Find("DPkg::Build-Options","-b -uc").c_str());
+ buildopts.c_str());
if (system(S) != 0)
{
@@ -2680,8 +2702,19 @@ bool DoBuildDep(CommandLine &CmdL)
if (Fetcher.Setup(&Stat) == false)
return false;
+ bool StripMultiArch;
+ string hostArch = _config->Find("APT::Get::Host-Architecture");
+ if (hostArch.empty() == false)
+ {
+ std::vector<std::string> archs = APT::Configuration::getArchitectures();
+ if (std::find(archs.begin(), archs.end(), hostArch) == archs.end())
+ return _error->Error(_("No architecture information available for %s. See apt.conf(5) APT::Architectures for setup"), hostArch.c_str());
+ StripMultiArch = false;
+ }
+ else
+ StripMultiArch = true;
+
unsigned J = 0;
- bool const StripMultiArch = APT::Configuration::getArchitectures().size() <= 1;
for (const char **I = CmdL.FileList + 1; *I != 0; I++, J++)
{
string Src;
@@ -2710,22 +2743,32 @@ bool DoBuildDep(CommandLine &CmdL)
BuildDeps.push_back(rec);
}
- if (BuildDeps.size() == 0)
+ if (BuildDeps.empty() == true)
{
ioprintf(c1out,_("%s has no build depends.\n"),Src.c_str());
continue;
}
-
+
// Install the requested packages
vector <pkgSrcRecords::Parser::BuildDepRec>::iterator D;
pkgProblemResolver Fix(Cache);
bool skipAlternatives = false; // skip remaining alternatives in an or group
- for (D = BuildDeps.begin(); D != BuildDeps.end(); D++)
+ for (D = BuildDeps.begin(); D != BuildDeps.end(); ++D)
{
bool hasAlternatives = (((*D).Op & pkgCache::Dep::Or) == pkgCache::Dep::Or);
if (skipAlternatives == true)
{
+ /*
+ * if there are alternatives, we've already picked one, so skip
+ * the rest
+ *
+ * TODO: this means that if there's a build-dep on A|B and B is
+ * installed, we'll still try to install A; more importantly,
+ * if A is currently broken, we cannot go back and try B. To fix
+ * this would require we do a Resolve cycle for each package we
+ * add to the install list. Ugh
+ */
if (!hasAlternatives)
skipAlternatives = false; // end of or group
continue;
@@ -2734,27 +2777,117 @@ bool DoBuildDep(CommandLine &CmdL)
if ((*D).Type == pkgSrcRecords::Parser::BuildConflict ||
(*D).Type == pkgSrcRecords::Parser::BuildConflictIndep)
{
- pkgCache::PkgIterator Pkg = Cache->FindPkg((*D).Package);
+ pkgCache::GrpIterator Grp = Cache->FindGrp((*D).Package);
// Build-conflicts on unknown packages are silently ignored
- if (Pkg.end() == true)
+ if (Grp.end() == true)
continue;
- pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache);
-
- /*
- * Remove if we have an installed version that satisfies the
- * version criteria
- */
- if (IV.end() == false &&
- Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true)
- TryToInstallBuildDep(Pkg,Cache,Fix,true,false);
+ for (pkgCache::PkgIterator Pkg = Grp.PackageList(); Pkg.end() == false; Pkg = Grp.NextPkg(Pkg))
+ {
+ pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache);
+ /*
+ * Remove if we have an installed version that satisfies the
+ * version criteria
+ */
+ if (IV.end() == false &&
+ Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true)
+ TryToInstallBuildDep(Pkg,Cache,Fix,true,false);
+ }
}
else // BuildDep || BuildDepIndep
{
- pkgCache::PkgIterator Pkg = Cache->FindPkg((*D).Package);
if (_config->FindB("Debug::BuildDeps",false) == true)
cout << "Looking for " << (*D).Package << "...\n";
+ pkgCache::PkgIterator Pkg;
+
+ // Cross-Building?
+ if (StripMultiArch == false)
+ {
+ size_t const colon = D->Package.find(":");
+ if (colon != string::npos &&
+ (strcmp(D->Package.c_str() + colon, ":any") == 0 || strcmp(D->Package.c_str() + colon, ":native") == 0))
+ Pkg = Cache->FindPkg(D->Package.substr(0,colon));
+ else
+ Pkg = Cache->FindPkg(D->Package);
+
+ // We need to decide if host or build arch, so find a version we can look at
+ pkgCache::VerIterator Ver;
+
+ // a bad version either is invalid or doesn't satify dependency
+ #define BADVER(Ver) Ver.end() == true || \
+ (Ver.end() == false && D->Version.empty() == false && \
+ Cache->VS().CheckDep(Ver.VerStr(),D->Op,D->Version.c_str()) == false)
+
+ if (Pkg.end() == false)
+ {
+ Ver = (*Cache)[Pkg].InstVerIter(*Cache);
+ if (BADVER(Ver))
+ Ver = (*Cache)[Pkg].CandidateVerIter(*Cache);
+ }
+ if (BADVER(Ver))
+ {
+ pkgCache::PkgIterator HostPkg = Cache->FindPkg(D->Package, hostArch);
+ if (HostPkg.end() == false)
+ {
+ Ver = (*Cache)[HostPkg].InstVerIter(*Cache);
+ if (BADVER(Ver))
+ Ver = (*Cache)[HostPkg].CandidateVerIter(*Cache);
+ }
+ }
+ if ((BADVER(Ver)) == false)
+ {
+ string forbidden;
+ if (Ver->MultiArch == pkgCache::Version::None || Ver->MultiArch == pkgCache::Version::All);
+ else if (Ver->MultiArch == pkgCache::Version::Same)
+ {
+ if (colon != string::npos)
+ Pkg = Ver.ParentPkg().Group().FindPkg(hostArch);
+ else if (strcmp(D->Package.c_str() + colon, ":any") == 0)
+ forbidden = "Multi-Arch: same";
+ // :native gets the buildArch
+ }
+ else if (Ver->MultiArch == pkgCache::Version::Foreign || Ver->MultiArch == pkgCache::Version::AllForeign)
+ {
+ if (colon != string::npos)
+ forbidden = "Multi-Arch: foreign";
+ }
+ else if (Ver->MultiArch == pkgCache::Version::Allowed || Ver->MultiArch == pkgCache::Version::AllAllowed)
+ {
+ if (colon == string::npos)
+ Pkg = Ver.ParentPkg().Group().FindPkg(hostArch);
+ else if (strcmp(D->Package.c_str() + colon, ":any") == 0)
+ {
+ // prefer any installed over preferred non-installed architectures
+ pkgCache::GrpIterator Grp = Ver.ParentPkg().Group();
+ // we don't check for version here as we are better of with upgrading than remove and install
+ for (Pkg = Grp.PackageList(); Pkg.end() == false; Pkg = Grp.NextPkg(Pkg))
+ if (Pkg.CurrentVer().end() == false)
+ break;
+ if (Pkg.end() == true)
+ Pkg = Grp.FindPreferredPkg(true);
+ }
+ // native gets buildArch
+ }
+ if (forbidden.empty() == false)
+ {
+ if (_config->FindB("Debug::BuildDeps",false) == true)
+ cout << " :any is not allowed from M-A: same package " << (*D).Package << endl;
+ if (hasAlternatives)
+ continue;
+ return _error->Error(_("%s dependency for %s can't be satisfied "
+ "because %s is not allowed on '%s' packages"),
+ Last->BuildDepType(D->Type), Src.c_str(),
+ D->Package.c_str(), "Multi-Arch: same");
+ }
+ }
+ else if (_config->FindB("Debug::BuildDeps",false) == true)
+ cout << " No multiarch info as we have no satisfying installed nor candidate for " << D->Package << " on build or host arch" << endl;
+ #undef BADVER
+ }
+ else
+ Pkg = Cache->FindPkg(D->Package);
+
if (Pkg.end() == true)
{
if (_config->FindB("Debug::BuildDeps",false) == true)
@@ -2769,99 +2902,74 @@ bool DoBuildDep(CommandLine &CmdL)
(*D).Package.c_str());
}
- /*
- * if there are alternatives, we've already picked one, so skip
- * the rest
- *
- * TODO: this means that if there's a build-dep on A|B and B is
- * installed, we'll still try to install A; more importantly,
- * if A is currently broken, we cannot go back and try B. To fix
- * this would require we do a Resolve cycle for each package we
- * add to the install list. Ugh
- */
-
- /*
- * If this is a virtual package, we need to check the list of
- * packages that provide it and see if any of those are
- * installed
- */
- pkgCache::PrvIterator Prv = Pkg.ProvidesList();
- for (; Prv.end() != true; Prv++)
- {
- if (_config->FindB("Debug::BuildDeps",false) == true)
- cout << " Checking provider " << Prv.OwnerPkg().FullName() << endl;
-
- if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false)
- break;
- }
-
- // Get installed version and version we are going to install
pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache);
+ if (IV.end() == false)
+ {
+ if (_config->FindB("Debug::BuildDeps",false) == true)
+ cout << " Is installed\n";
- if ((*D).Version[0] != '\0') {
- // Versioned dependency
-
- pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache);
-
- for (; CV.end() != true; CV++)
- {
- if (Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == true)
- break;
- }
- if (CV.end() == true)
- {
- if (hasAlternatives)
- {
- continue;
- }
- else
- {
- return _error->Error(_("%s dependency for %s cannot be satisfied "
- "because no available versions of package %s "
- "can satisfy version requirements"),
- Last->BuildDepType((*D).Type),Src.c_str(),
- (*D).Package.c_str());
- }
- }
- }
- else
- {
- // Only consider virtual packages if there is no versioned dependency
- if (Prv.end() == false)
- {
- if (_config->FindB("Debug::BuildDeps",false) == true)
- cout << " Is provided by installed package " << Prv.OwnerPkg().FullName() << endl;
- skipAlternatives = hasAlternatives;
- continue;
- }
- }
+ if (D->Version.empty() == true ||
+ Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true)
+ {
+ skipAlternatives = hasAlternatives;
+ continue;
+ }
- if (IV.end() == false)
- {
- if (_config->FindB("Debug::BuildDeps",false) == true)
- cout << " Is installed\n";
+ if (_config->FindB("Debug::BuildDeps",false) == true)
+ cout << " ...but the installed version doesn't meet the version requirement\n";
- if (Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true)
- {
- skipAlternatives = hasAlternatives;
- continue;
- }
+ if (((*D).Op & pkgCache::Dep::LessEq) == pkgCache::Dep::LessEq)
+ return _error->Error(_("Failed to satisfy %s dependency for %s: Installed package %s is too new"),
+ Last->BuildDepType((*D).Type), Src.c_str(), Pkg.FullName(true).c_str());
+ }
- if (_config->FindB("Debug::BuildDeps",false) == true)
- cout << " ...but the installed version doesn't meet the version requirement\n";
-
- if (((*D).Op & pkgCache::Dep::LessEq) == pkgCache::Dep::LessEq)
- {
- return _error->Error(_("Failed to satisfy %s dependency for %s: Installed package %s is too new"),
- Last->BuildDepType((*D).Type),
- Src.c_str(),
- Pkg.FullName(true).c_str());
- }
- }
+ // Only consider virtual packages if there is no versioned dependency
+ if ((*D).Version.empty() == true)
+ {
+ /*
+ * If this is a virtual package, we need to check the list of
+ * packages that provide it and see if any of those are
+ * installed
+ */
+ pkgCache::PrvIterator Prv = Pkg.ProvidesList();
+ for (; Prv.end() != true; ++Prv)
+ {
+ if (_config->FindB("Debug::BuildDeps",false) == true)
+ cout << " Checking provider " << Prv.OwnerPkg().FullName() << endl;
+ if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false)
+ break;
+ }
- if (_config->FindB("Debug::BuildDeps",false) == true)
- cout << " Trying to install " << (*D).Package << endl;
+ if (Prv.end() == false)
+ {
+ if (_config->FindB("Debug::BuildDeps",false) == true)
+ cout << " Is provided by installed package " << Prv.OwnerPkg().FullName() << endl;
+ skipAlternatives = hasAlternatives;
+ continue;
+ }
+ }
+ else // versioned dependency
+ {
+ pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache);
+ if (CV.end() == true ||
+ Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == false)
+ {
+ if (hasAlternatives)
+ continue;
+ else if (CV.end() == false)
+ return _error->Error(_("%s dependency for %s cannot be satisfied "
+ "because candidate version of package %s "
+ "can't satisfy version requirements"),
+ Last->BuildDepType(D->Type), Src.c_str(),
+ D->Package.c_str());
+ else
+ return _error->Error(_("%s dependency for %s cannot be satisfied "
+ "because package %s has no candidate version"),
+ Last->BuildDepType(D->Type), Src.c_str(),
+ D->Package.c_str());
+ }
+ }
if (TryToInstallBuildDep(Pkg,Cache,Fix,false,false) == true)
{
@@ -3241,12 +3349,14 @@ int main(int argc,const char *argv[]) /*{{{*/
{'s',"dry-run","APT::Get::Simulate",0},
{'s',"no-act","APT::Get::Simulate",0},
{'y',"yes","APT::Get::Assume-Yes",0},
- {'y',"assume-yes","APT::Get::Assume-Yes",0},
+ {'y',"assume-yes","APT::Get::Assume-Yes",0},
+ {0,"assume-no","APT::Get::Assume-No",0},
{'f',"fix-broken","APT::Get::Fix-Broken",0},
{'u',"show-upgraded","APT::Get::Show-Upgraded",0},
{'m',"ignore-missing","APT::Get::Fix-Missing",0},
{'t',"target-release","APT::Default-Release",CommandLine::HasArg},
{'t',"default-release","APT::Default-Release",CommandLine::HasArg},
+ {'a',"host-architecture","APT::Get::Host-Architecture",CommandLine::HasArg},
{0,"download","APT::Get::Download",0},
{0,"fix-missing","APT::Get::Fix-Missing",0},
{0,"ignore-hold","APT::Ignore-Hold",0},
@@ -3270,6 +3380,7 @@ int main(int argc,const char *argv[]) /*{{{*/
{0,"install-recommends","APT::Install-Recommends",CommandLine::Boolean},
{0,"install-suggests","APT::Install-Suggests",CommandLine::Boolean},
{0,"fix-policy","APT::Get::Fix-Policy-Broken",0},
+ {0,"solver","APT::Solver",CommandLine::HasArg},
{'c',"config-file",0,CommandLine::ConfigFile},
{'o',"option",0,CommandLine::ArbItem},
{0,0,0,0}};
diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
new file mode 100644
index 000000000..ef6c688fe
--- /dev/null
+++ b/cmdline/apt-internal-solver.cc
@@ -0,0 +1,190 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* #####################################################################
+
+ cover around the internal solver to be able to run it like an external
+
+ ##################################################################### */
+ /*}}}*/
+// Include Files /*{{{*/
+#include <apt-pkg/error.h>
+#include <apt-pkg/cmndline.h>
+#include <apt-pkg/init.h>
+#include <apt-pkg/cachefile.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/edsp.h>
+#include <apt-pkg/algorithms.h>
+#include <apt-pkg/fileutl.h>
+
+#include <config.h>
+#include <apti18n.h>
+
+#include <unistd.h>
+#include <cstdio>
+ /*}}}*/
+
+// ShowHelp - Show a help screen /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool ShowHelp(CommandLine &CmdL) {
+ ioprintf(std::cout,_("%s %s for %s compiled on %s %s\n"),PACKAGE,VERSION,
+ COMMON_ARCH,__DATE__,__TIME__);
+
+ std::cout <<
+ _("Usage: apt-internal-resolver\n"
+ "\n"
+ "apt-internal-resolver is an interface to use the current internal\n"
+ "like an external resolver for the APT family for debugging or alike\n"
+ "\n"
+ "Options:\n"
+ " -h This help text.\n"
+ " -q Loggable output - no progress indicator\n"
+ " -c=? Read this configuration file\n"
+ " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
+ "apt.conf(5) manual pages for more information and options.\n"
+ " This APT has Super Cow Powers.\n");
+ return true;
+}
+ /*}}}*/
+int main(int argc,const char *argv[]) /*{{{*/
+{
+ CommandLine::Args Args[] = {
+ {'h',"help","help",0},
+ {'v',"version","version",0},
+ {'q',"quiet","quiet",CommandLine::IntLevel},
+ {'q',"silent","quiet",CommandLine::IntLevel},
+ {'c',"config-file",0,CommandLine::ConfigFile},
+ {'o',"option",0,CommandLine::ArbItem},
+ {0,0,0,0}};
+
+ CommandLine CmdL(Args,_config);
+ if (pkgInitConfig(*_config) == false ||
+ CmdL.Parse(argc,argv) == false) {
+ _error->DumpErrors();
+ return 2;
+ }
+
+ // See if the help should be shown
+ if (_config->FindB("help") == true ||
+ _config->FindB("version") == true) {
+ ShowHelp(CmdL);
+ return 1;
+ }
+
+ if (CmdL.FileList[0] != 0 && strcmp(CmdL.FileList[0], "scenario") == 0)
+ {
+ if (pkgInitSystem(*_config,_system) == false) {
+ std::cerr << "System could not be initialized!" << std::endl;
+ return 1;
+ }
+ pkgCacheFile CacheFile;
+ CacheFile.Open(NULL, false);
+ APT::PackageSet pkgset = APT::PackageSet::FromCommandLine(CacheFile, CmdL.FileList + 1);
+ FILE* output = stdout;
+ if (pkgset.empty() == true)
+ EDSP::WriteScenario(CacheFile, output);
+ else
+ EDSP::WriteLimitedScenario(CacheFile, output, pkgset);
+ fclose(output);
+ _error->DumpErrors(std::cerr);
+ return 0;
+ }
+
+ // Deal with stdout not being a tty
+ if (!isatty(STDOUT_FILENO) && _config->FindI("quiet", -1) == -1)
+ _config->Set("quiet","1");
+
+ if (_config->FindI("quiet", 0) < 1)
+ _config->Set("Debug::EDSP::WriteSolution", true);
+
+ _config->Set("APT::Solver", "internal");
+ _config->Set("edsp::scenario", "stdin");
+ int input = STDIN_FILENO;
+ FILE* output = stdout;
+ SetNonBlock(input, false);
+
+ EDSP::WriteProgress(0, "Start up solver…", output);
+
+ if (pkgInitSystem(*_config,_system) == false) {
+ std::cerr << "System could not be initialized!" << std::endl;
+ return 1;
+ }
+
+ EDSP::WriteProgress(1, "Read request…", output);
+
+ if (WaitFd(input, false, 5) == false)
+ std::cerr << "WAIT timed out in the resolver" << std::endl;
+
+ std::list<std::string> install, remove;
+ bool upgrade, distUpgrade, autoRemove;
+ if (EDSP::ReadRequest(input, install, remove, upgrade, distUpgrade, autoRemove) == false) {
+ std::cerr << "Parsing the request failed!" << std::endl;
+ return 2;
+ }
+
+ EDSP::WriteProgress(5, "Read scenario…", output);
+
+ pkgCacheFile CacheFile;
+ CacheFile.Open(NULL, false);
+
+ EDSP::WriteProgress(50, "Apply request on scenario…", output);
+
+ if (EDSP::ApplyRequest(install, remove, CacheFile) == false) {
+ std::cerr << "Failed to apply request to depcache!" << std::endl;
+ return 3;
+ }
+
+ pkgProblemResolver Fix(CacheFile);
+ for (std::list<std::string>::const_iterator i = remove.begin();
+ i != remove.end(); ++i) {
+ pkgCache::PkgIterator P = CacheFile->FindPkg(*i);
+ Fix.Clear(P);
+ Fix.Protect(P);
+ Fix.Remove(P);
+ }
+
+ for (std::list<std::string>::const_iterator i = install.begin();
+ i != install.end(); ++i) {
+ pkgCache::PkgIterator P = CacheFile->FindPkg(*i);
+ Fix.Clear(P);
+ Fix.Protect(P);
+ }
+
+ for (std::list<std::string>::const_iterator i = install.begin();
+ i != install.end(); ++i)
+ CacheFile->MarkInstall(CacheFile->FindPkg(*i), true);
+
+ EDSP::WriteProgress(60, "Call problemresolver on current scenario…", output);
+
+ if (upgrade == true) {
+ if (pkgAllUpgrade(CacheFile) == false) {
+ EDSP::WriteError("ERR_UNSOLVABLE_UPGRADE", "An upgrade error occured", output);
+ return 0;
+ }
+ } else if (distUpgrade == true) {
+ if (pkgDistUpgrade(CacheFile) == false) {
+ EDSP::WriteError("ERR_UNSOLVABLE_DIST_UPGRADE", "An dist-upgrade error occured", output);
+ return 0;
+ }
+ } else if (Fix.Resolve() == false) {
+ EDSP::WriteError("ERR_UNSOLVABLE", "An error occured", output);
+ return 0;
+ }
+
+ EDSP::WriteProgress(95, "Write solution…", output);
+
+ if (EDSP::WriteSolution(CacheFile, output) == false) {
+ std::cerr << "Failed to output the solution!" << std::endl;
+ return 4;
+ }
+
+ EDSP::WriteProgress(100, "Done", output);
+
+ bool const Errors = _error->PendingError();
+ if (_config->FindI("quiet",0) > 0)
+ _error->DumpErrors(std::cerr);
+ else
+ _error->DumpErrors(std::cerr, GlobalError::DEBUG);
+ return Errors == true ? 100 : 0;
+}
+ /*}}}*/
diff --git a/cmdline/apt-key b/cmdline/apt-key
index 843163f82..97d6e0323 100755
--- a/cmdline/apt-key
+++ b/cmdline/apt-key
@@ -5,9 +5,12 @@ unset GREP_OPTIONS
# We don't use a secret keyring, of course, but gpg panics and
# implodes if there isn't one available
-GPG_CMD='gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg'
+SECRETKEYRING="$(mktemp)"
+trap "rm -f '${SECRETKEYRING}'" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+GPG_CMD="gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring ${SECRETKEYRING}"
if [ "$(id -u)" -eq 0 ]; then
+ # we could use a tmpfile here too, but creation of this tends to be time-consuming
GPG_CMD="$GPG_CMD --trustdb-name /etc/apt/trustdb.gpg"
fi
@@ -149,7 +152,7 @@ if [ "$1" = "--keyring" ]; then
#echo "keyfile given"
shift
TRUSTEDFILE="$1"
- if [ -r "$TRUSTEDFILE" ]; then
+ if [ -r "$TRUSTEDFILE" ] || [ "$2" = 'add' ]; then
GPG="$GPG --keyring $TRUSTEDFILE --primary-keyring $TRUSTEDFILE"
else
echo >&2 "Error: The specified keyring »$TRUSTEDFILE« is missing or not readable"
diff --git a/cmdline/apt-mark.cc b/cmdline/apt-mark.cc
index b2c664979..8c9a47913 100644
--- a/cmdline/apt-mark.cc
+++ b/cmdline/apt-mark.cc
@@ -5,6 +5,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/cachefile.h>
#include <apt-pkg/cacheset.h>
#include <apt-pkg/cmndline.h>
@@ -12,10 +14,9 @@
#include <apt-pkg/init.h>
#include <apt-pkg/strutl.h>
-#include <config.h>
-#include <apti18n.h>
-
#include <algorithm>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
diff --git a/cmdline/apt-sortpkgs.cc b/cmdline/apt-sortpkgs.cc
index 171b0ba13..44b74cf6c 100644
--- a/cmdline/apt-sortpkgs.cc
+++ b/cmdline/apt-sortpkgs.cc
@@ -12,6 +12,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/tagfile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
@@ -19,14 +21,13 @@
#include <apt-pkg/init.h>
#include <apt-pkg/strutl.h>
-#include <config.h>
-#include <apti18n.h>
-
#include <vector>
#include <algorithm>
#include <locale.h>
#include <unistd.h>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -106,7 +107,7 @@ bool DoIt(string InFile)
// Emit
unsigned char *Buffer = new unsigned char[Largest+1];
- for (vector<PkgName>::iterator I = List.begin(); I != List.end(); I++)
+ for (vector<PkgName>::iterator I = List.begin(); I != List.end(); ++I)
{
// Read in the Record.
if (Fd.Seek(I->Offset) == false || Fd.Read(Buffer,I->Length) == false)
diff --git a/cmdline/makefile b/cmdline/makefile
index e867dae73..07e9eb8ca 100644
--- a/cmdline/makefile
+++ b/cmdline/makefile
@@ -65,3 +65,17 @@ include $(PROGRAM_H)
#TO=$(BIN)
#TARGET=program
#include $(COPY_H)
+
+# The internal solver acting as an external
+PROGRAM=apt-internal-solver
+SLIBS = -lapt-pkg $(INTLLIBS)
+LIB_MAKES = apt-pkg/makefile
+SOURCE = apt-internal-solver.cc
+include $(PROGRAM_H)
+
+# This just dumps out the state
+PROGRAM=apt-dump-solver
+SLIBS = -lapt-pkg $(INTLLIBS)
+LIB_MAKES = apt-pkg/makefile
+SOURCE = apt-dump-solver.cc
+include $(PROGRAM_H)
diff --git a/configure.in b/configure.in
index 3bf7f853d..c2602cf36 100644
--- a/configure.in
+++ b/configure.in
@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.8.15.1")
+AC_DEFINE_UNQUOTED(VERSION,"0.8.16~exp6")
PACKAGE="apt"
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
AC_SUBST(PACKAGE)
@@ -31,6 +31,10 @@ AC_CHECK_TOOL_PREFIX
AC_PROG_CC
AC_ISC_POSIX
+dnl check for large file support and enable it if possible
+dnl do this early as other stuff might depend on it
+AC_SYS_LARGEFILE
+
dnl Check for other programs
AC_PROG_CXX
AC_PROG_CPP
@@ -151,7 +155,7 @@ if test "$cross_compiling" = "yes" -a "x$archline" = "x"; then
AC_MSG_ERROR(When cross compiling, architecture must be present in sizetable)
fi
AC_C_BIGENDIAN
-
+
dnl We do not need this if we have inttypes!
HAVE_C9X=yes
if test x"$apt_cv_c9x_ints" = x"no"; then
diff --git a/debian/apt-doc.docs b/debian/apt-doc.docs
index 86aa69ceb..4ec23f55d 100644
--- a/debian/apt-doc.docs
+++ b/debian/apt-doc.docs
@@ -1,2 +1,3 @@
README.progress-reporting
README.MultiArch
+doc/external-dependency-solver-protocol.txt
diff --git a/debian/apt-utils.dirs b/debian/apt-utils.dirs
index 14f5b95d7..681e55192 100644
--- a/debian/apt-utils.dirs
+++ b/debian/apt-utils.dirs
@@ -1,2 +1,2 @@
-usr/lib
+usr/lib/apt/solvers
usr/bin
diff --git a/debian/apt-utils.install b/debian/apt-utils.install
index d947f26d4..8b1378917 100644
--- a/debian/apt-utils.install
+++ b/debian/apt-utils.install
@@ -1 +1 @@
-bin/libapt-inst*.so.* usr/lib/
+
diff --git a/debian/apt-utils.links b/debian/apt-utils.links
new file mode 100644
index 000000000..5bf138c4a
--- /dev/null
+++ b/debian/apt-utils.links
@@ -0,0 +1 @@
+usr/bin/apt-internal-solver usr/lib/apt/solvers/apt
diff --git a/debian/apt.dirs b/debian/apt.dirs
index 2770d79bb..f9c0b6c3e 100644
--- a/debian/apt.dirs
+++ b/debian/apt.dirs
@@ -1,5 +1,6 @@
usr/bin
usr/lib/apt/methods
+usr/lib/apt/solvers
usr/lib/dpkg/methods/apt
etc/apt
etc/apt/apt.conf.d
diff --git a/debian/apt.install b/debian/apt.install
index 979e04ce2..9d4008fab 100644
--- a/debian/apt.install
+++ b/debian/apt.install
@@ -1,5 +1,4 @@
bin/apt-* usr/bin/
-bin/libapt-pkg*.so.* usr/lib/
bin/methods/* usr/lib/apt/methods/
scripts/dselect/* usr/lib/dpkg/methods/apt/
-locale usr/share/
+usr/share/locale/*/*/apt.mo
diff --git a/debian/apt.postinst b/debian/apt.postinst
index cc0d8b1fe..4d87c4e25 100644
--- a/debian/apt.postinst
+++ b/debian/apt.postinst
@@ -15,6 +15,11 @@ set -e
case "$1" in
configure)
+ SECRING='/etc/apt/secring.gpg'
+ # test if secring is an empty normal file
+ if test -f $SECRING -a ! -s $SECRING; then
+ rm -f $SECRING
+ fi
apt-key update
;;
diff --git a/debian/changelog b/debian/changelog
index 87d25e78f..444a99ba7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,286 @@
+apt (0.8.16~exp6) experimental; urgency=low
+
+ [ Christopher Baines ]
+ * enable APT in unpack/configure ordering to handle loops as well
+ as tight dependencies between immediate packages better
+ enabling also the possibility to mark all packages as immediate
+ (at least Closes: #353290, #540227, #559733, #621836, #639290)
+
+ [ David Kalnischkies ]
+ * [abi-break] Support large files in the complete toolset. Indexes of this
+ size are pretty unlikely for now, but we need it for deb
+ packages which could become bigger than 4GB now (LP: #815895)
+ * merged the debian-sid branch
+
+ [ Michael Vogt ]
+ * bump ABI version
+
+ -- Michael Vogt <mvo@debian.org> Wed, 14 Sep 2011 13:26:23 +0200
+
+apt (0.8.16~exp5) experimental; urgency=low
+
+ * merged the latest debian-sid fixes
+ * apt-pkg/makefile:
+ - install sha256.h compat header
+ * apt-pkg/pkgcachegen.{cc,h}:
+ - use ref-to-ptr semantic in NewDepends() to ensure that the
+ libapt does not segfault if the cache is remapped in between
+ (LP: #812862)
+ - fix crash when P.Arch() was used but the cache got remapped
+ * apt-pkg/acquire-item.{cc,h}:
+ - do not check for a "Package" tag in optional index targets
+ like the translations index
+ * apt-pkg/acquire.cc:
+ - fix potential divide-by-zero
+ * methods/mirror.cc:
+ - include the architecture(s) in the query string as well so
+ that the server can make better decisions
+
+ -- Michael Vogt <mvo@debian.org> Mon, 15 Aug 2011 14:52:54 +0200
+
+apt (0.8.16~exp4) experimental; urgency=low
+
+ [ Julian Andres Klode ]
+ * apt-pkg/pkgcache.h:
+ - [ABI break] Add pkgCache::Header::CacheFileSize, storing the cache size
+ * apt-pkg/pkgcachegen.cc:
+ - Write the file size to the cache
+ * apt-pkg/pkgcache.cc:
+ - Check that cache is at least CacheFileSize bytes large (LP: #16467)
+
+ [ Michael Vogt ]
+ * merged latest fixes from debian-sid
+ * apt-pkg/cdrom.{cc,h}:
+ - cleanup old ABI break avoidance hacks
+ * [ABI break] apt-pkg/acquire-item.{cc,h}:
+ - cleanup around OptionalIndexTarget and SubIndexTarget
+ * [ABI break] merged patch from Jonathan Thomas to have a new
+ RecordField() function in the pkgRecorder parser. Many thanks
+ Thomas
+ * [ABI break] merge patch from Jonathan Thomas to speed up the
+ depcache by caching the install-recommends and install-suggests
+ values
+ * apt-pkg/contrib/fileutl.{cc,h}:
+ - add GetModificationTime() helper
+ * apt-pkg/pkgcachegen.cc:
+ - regenerate the cache if the sources.list changes to ensure
+ that changes in the ordering there will be honored by apt
+ * apt-pkg/sourcelist.{cc,h}:
+ - add pkgSourceList::GetLastModifiedTime() helper
+
+ -- Michael Vogt <mvo@debian.org> Thu, 28 Jul 2011 16:57:08 +0200
+
+apt (0.8.16~exp3) experimental; urgency=low
+
+ [ David Kalnischkies ]
+ * apt-pkg/pkgcache.h:
+ - readd All{Foreign,Allowed} as suggested by Julian to
+ remain strictly API compatible
+ * apt-pkg/acquire*.{cc,h}:
+ - try even harder to support really big files in the fetcher by
+ converting (hopefully) everything to 'long long' (Closes: #632271)
+ * ftparchive/writer.cc:
+ - generate all checksums in one run over the file for Release
+ * cmdline/apt-get.cc:
+ - add an --assume-no option for testing to say 'no' to everything
+ * apt-pkg/deb/debmetaindex.cc:
+ - add trusted=yes option to mark unsigned (local) repository as trusted
+ based on a patch from Ansgar Burchardt, thanks a lot! (Closes: #596498)
+
+ [ Michael Vogt ]
+ * merge fixes from the debian/unstable upload
+ * merge lp:~mvo/apt/sha512-template to get fixes for the
+ sha1/md5 verifiation (closes: #632520)
+
+ -- Michael Vogt <mvo@debian.org> Fri, 15 Jul 2011 09:56:17 +0200
+
+apt (0.8.16~exp2) experimental; urgency=low
+
+ [ David Kalnischkies ]
+ * [ABI-Break] Implement EDSP in libapt-pkg so that all front-ends which
+ use the internal resolver can now be used also with external
+ ones as the usage is hidden in between the old API
+ * provide two edsp solvers in apt-utils:
+ - 'dump' to quickly output a complete scenario and
+ - 'apt' to use the internal as an external resolver
+ * apt-pkg/pkgcache.h:
+ - clean up mess with the "all" handling in MultiArch to
+ fix LP: #733741 cleanly for everyone now
+ * apt-pkg/depcache.cc:
+ - use a boolean instead of an int for Add/Remove in AddStates
+ similar to how it works with AddSizes
+ - let the Mark methods return if their marking was successful
+ - if a Breaks can't be upgraded, remove it. If it or a Conflict
+ can't be removed the installation of the breaker fails.
+ * cmdline/apt-get.cc:
+ - do not discard the error messages from the resolver and instead
+ only show the general 'Broken packages' message if nothing else
+
+ [ Stefano Zacchiroli ]
+ * doc/external-dependency-solver-protocol.txt:
+ - describe EDSP and the configuration interface around it
+
+ [ Michael Vogt ]
+ * [ABI-Break] merge lp:~mvo/apt/sha512-template to add support for sha512
+ * [ABI-Break] merge lp:~mvo/apt/dpointer to support easier extending
+ without breaking the ABI
+ * increase ABI version and update package names
+
+ -- Michael Vogt <mvo@debian.org> Wed, 29 Jun 2011 13:57:28 +0200
+
+apt (0.8.16~exp1) experimental; urgency=low
+
+ * merged with the debian/unstable upload
+
+ -- Michael Vogt <mvo@debian.org> Wed, 29 Jun 2011 12:40:31 +0200
+
+apt (0.8.15.7) unstable; urgency=low
+
+ [ David Kalnischkies ]
+ * apt-pkg/packagemanager.cc, apt-pkg/pkgcache.cc:
+ - ignore "self"-conflicts for all architectures of a package
+ instead of just for the architecture of the package look at
+ in the ordering of installations, too (LP: #802901)
+ - M-A:same lockstep unpack should operate on installed
+ packages first (LP: #835625)
+ * test/*
+ - reorganize the various testcases and helper we have and
+ integrate them better into the buildsystem
+ - run the test/libapt testcases at package build-time
+ * debian/apt.symbols:
+ - add the newly added symbols since 0.8.15.3
+ * cmdline/apt-get.cc:
+ - remove the binary caches in 'apt-get clean' as it is the first
+ thing recommend by many supporters in case of APT segfaults
+ - remove the caches in 'apt-get update', too, as they will be
+ invalid in most cases anyway
+ * apt-pkg/acquire-item.cc:
+ - if no Release.gpg file is found try to verify with hashes,
+ but do not fail if a hash can't be found
+ * apt-pkg/acquire.cc:
+ - non-existing directories are by definition clean
+ * cmdline/apt-key:
+ - if command is 'add' do not error out if the specified
+ keyring doesn't exist, it will be created by gpg
+ * apt-pkg/orderlist.cc:
+ - prefer visiting packages marked for deletion in VisitProvides
+ if we are operating on a negative dependency so that we can
+ deal early with the fallout of this remove
+ * apt-pkg/indexrecords.cc:
+ - fix Acquire::Max-ValidTime option by interpreting it really
+ as seconds as specified in the manpage and not as days
+ - add an Acquire::Min-ValidTime option (Closes: #640122)
+ * doc/apt.conf.5.xml:
+ - reword Acquire::Max-ValidTime documentation to make clear
+ that it doesn't provide the new Min-ValidTime functionality
+
+ -- Michael Vogt <mvo@debian.org> Mon, 12 Sep 2011 16:38:46 +0200
+
+apt (0.8.15.6) unstable; urgency=low
+
+ [ Michael Vogt ]
+ * apt-pkg/contrib/fileutl.{cc,h}:
+ - add GetModificationTime() helper
+ * apt-pkg/pkgcachegen.cc:
+ - regenerate the cache if the sources.list changes to ensure
+ that changes in the ordering there will be honored by apt
+ * apt-pkg/sourcelist.{cc,h}:
+ - add pkgSourceList::GetLastModifiedTime() helper
+ * apt-pkg/pkgcachegen.{cc,h}:
+ - use ref-to-ptr semantic in NewDepends() to ensure that the
+ libapt does not segfault if the cache is remapped in between
+ (LP: #812862)
+ - fix crash when P.Arch() was used but the cache got remapped
+ * test/integration/test-hashsum-verification:
+ - add regression test for hashsum verification
+ * apt-pkg/acquire-item.cc:
+ - if no Release.gpg file is found, still load the hashes for
+ verification (closes: #636314) and add test
+
+ [ David Kalnischkies ]
+ * lots of cppcheck fixes
+
+ -- Michael Vogt <mvo@debian.org> Mon, 15 Aug 2011 09:20:35 +0200
+
+apt (0.8.15.5) unstable; urgency=low
+
+ [ David Kalnischkies ]
+ * apt-pkg/deb/deblistparser.cc:
+ - do not assume that the last char on a line is a \n (Closes: #633350)
+
+ -- Michael Vogt <mvo@debian.org> Thu, 28 Jul 2011 16:49:15 +0200
+
+apt (0.8.15.4) unstable; urgency=low
+
+ [ David Miller ]
+ * apt-pkg/contrib/sha1.cc:
+ - fix illegally casts of on-stack buffer to a type requiring more
+ alignment than it has resulting in segfaults on sparc (Closes: #634696)
+
+ [ Michael Vogt ]
+ * apt-pkg/contrib/cdromutl.cc:
+ - fix escape problem when looking for the mounted devices
+ * apt-pkg/contrib/strutl.{h,cc}, test/libapt/strutil_test.cc:
+ - add new DeEscapeString() similar to DeQuoteString but
+ unescape character escapes like \0XX and \xXX (plus added
+ test)
+ * refresh po/*
+
+ -- Michael Vogt <mvo@debian.org> Tue, 26 Jul 2011 12:12:27 +0200
+
+apt (0.8.15.3) unstable; urgency=low
+
+ [ Michael Vogt ]
+ * apt-pkg/acquire-item.cc:
+ - improve error message for a expired Release file
+ * apt-pkg/algorithms.cc:
+ - Hold back packages that would enter "policy-broken" state on upgrade
+ when doing a "apt-get upgrade"
+ * cmdline/apt-get.cc:
+ - fix missing download progress in apt-get download
+
+ [ David Kalnischkies ]
+ * apt-pkg/pkgcachegen.cc:
+ - fallback to memory if file is not writeable even if access()
+ told us the opposite before (e.g. in fakeroot 1.16) (Closes: #630591)
+ * doc/sources.list.5.xml:
+ - document available [options] for sources.list entries (Closes: 632441)
+ * doc/apt.conf.5.xml:
+ - document APT::Architectures list (Closes: #612102)
+ * cmdline/apt-get.cc:
+ - restore all important dependencies for garbage packages (LP: #806274)
+ - do not require unused partial dirs in 'source' (Closes: #633510)
+ - buildconflicts effect all architectures
+ - implement MultiarchCross for build-dep and source (Closes: #632221)
+ * apt-pkg/init.cc:
+ - use CndSet in pkgInitConfig (Closes: #629617)
+ * apt-pkg/depcache.cc:
+ - change default of APT::AutoRemove::SuggestsImportant to true
+ * cmdline/apt-key:
+ - use a tmpfile instead of /etc/apt/secring.gpg (Closes: #632596)
+ * debian/apt.postinst:
+ - remove /etc/apt/secring.gpg if it is an empty file
+ * doc/apt-cache.8.xml:
+ - apply madison typofix from John Feuerstein, thanks! (Closes: #633455)
+ * apt-pkg/policy.cc:
+ - emit an error on unknown APT::Default-Release value (Closes: #407511)
+ * apt-pkg/aptconfiguration.cc:
+ - ensure that native architecture is if not specified otherwise the
+ first architecture in the Architectures vector
+ * apt-pkg/deb/deblistparser.cc:
+ - Strip only :any and :native if MultiArch should be stripped as it is
+ save to ignore them in non-MultiArch contexts but if the dependency
+ is a specific architecture (and not the native) do not strip
+
+ -- Michael Vogt <mvo@debian.org> Mon, 25 Jul 2011 15:04:43 +0200
+
+apt (0.8.15.2) unstable; urgency=high
+
+ * fix from David Kalnischkies for the InRelease gpg verification
+ code (LP: #784473)
+
+ -- Michael Vogt <mvo@debian.org> Tue, 12 Jul 2011 11:54:47 +0200
+
apt (0.8.15.1) unstable; urgency=low
[ David Kalnischkies ]
@@ -130,6 +413,185 @@ apt (0.8.15) unstable; urgency=low
-- Michael Vogt <mvo@debian.org> Tue, 28 Jun 2011 18:00:48 +0200
+apt (0.8.15~exp3) experimental; urgency=low
+
+ * debian/control:
+ - add Breaks: 0.8.15~exp3) for libapt-pkg4.10 and
+ libapt-inst1.2 (thanks to Jonathan Nieder, closes: #630214)
+ - use depends for the ${shlibs:Depends} to make the breaks work
+
+ -- Michael Vogt <mvo@debian.org> Fri, 17 Jun 2011 21:51:41 +0200
+
+apt (0.8.15~exp2) experimental; urgency=low
+
+ * debian/control:
+ - fix incorrect Replaces (closes: #630204) for libapt-inst1.2
+
+ -- Michael Vogt <mvo@debian.org> Wed, 15 Jun 2011 16:51:14 +0200
+
+apt (0.8.15~exp1) experimental; urgency=low
+
+ [ Julian Andres Klode ]
+ * apt-pkg/depcache.cc:
+ - Really release action groups only once (Closes: #622744)
+ - Make purge work again for config-files (LP: #244598) (Closes: #150831)
+ * apt-pkg/acquire-item.cc:
+ - Reject files known to be invalid (LP: #346386) (Closes: #627642)
+ * debian/apt.cron.daily:
+ - Check power after wait, patch by manuel-soto (LP: #705269)
+ * debian/control:
+ - Move ${shlibs:Depends} to Pre-Depends, as we do not want APT
+ unpacked if a library is too old and thus break upgrades
+ * doc/apt-key.8.xml:
+ - Document apt-key net-update (LP: #192810)
+
+ [ Christian Perrier ]
+ * Galician translation update (Miguel Anxo Bouzada). Closes: #626505
+ * Italian translation update (Milo Casagrande). Closes: #627834
+ * German documentation translation update (Chris Leick). Closes: #629949
+
+ [ David Kalnischkies ]
+ * fix a bunch of cppcheck warnings/errors based on a patch by
+ Niels Thykier, thanks! (Closes: #622805)
+ * apt-pkg/depcache.cc:
+ - really include 'rc' packages in the delete count by fixing a
+ typo which exists since 1999 in the source… (LP: #761175)
+ - if critical or-group can't be satisfied, exit directly.
+ * apt-pkg/acquire-method.cc:
+ - write directly to stdout instead of creating the message in
+ memory first before writing to avoid hitting limits
+ - fix order of CurrentURI and UsedMirror in Status() and Log()
+ * apt-pkg/orderlist.cc:
+ - let VisitRProvides report if the calls were successful
+ * apt-pkg/deb/dpkgpm.cc:
+ - replace obsolete usleep with nanosleep
+ * debian/apt{,-utils}.symbols:
+ - update both experimental symbol-files to reflect 0.8.14 state
+ * debian/rules:
+ - remove unused embedded jquery by doxygen from libapt-pkg-doc
+ * cmdline/apt-mark.cc:
+ - reimplement apt-mark in c++
+ - provide a 'showmanual' command (Closes: #582791)
+ - provide a 'dpkg --set-selections' wrapper to set/release holds
+ * cmdline/apt-get.cc:
+ - deprecate mostly undocumented 'markauto' in favor of 'apt-mark'
+ * cmdline/apt-cache.cc:
+ - deprecate mostly undocumented 'showauto' in favor of 'apt-mark'
+ * apt-pkg/pkgcache.cc:
+ - really ignore :arch in FindPkg() in non-multiarch environment
+ * doc/po/de.po:
+ - undo the translation of the command 'dump' in manpage of apt-config
+ as report by Burghard Grossmann on debian-l10n-german, thanks!
+ * apt-pkg/deb/debmetaindex.cc:
+ - do not download TranslationIndex if no Translation-* will be
+ downloaded later on anyway (Closes: #624218)
+ * test/versions.lst:
+ - disable obscure version number tests with versions dpkg doesn't
+ allow any more as they don't start with a number
+ * apt-pkg/acquire-worker.cc:
+ - print filename in the unmatching size warning (Closes: #623137)
+ * apt-pkg/acquire-item.cc:
+ - apply fix for poorly worded 'locate file' error message from
+ Ben Finney, thanks! (Closes: #623171)
+ * methods/http.cc:
+ - add config option to ignore a closed stdin to be able to easily
+ use the method as a simple standalone downloader
+ - Location header in redirects should be absolute URI, but some
+ servers just send an absolute path so still deal with it properly
+ - dequote URL taken from Location in redirects as we will otherwise
+ quote an already quoted string in the request later (Closes: #602412)
+ * apt-pkg/contrib/netrc.cc:
+ - replace non-posix gnu-extension strdupa with strdup
+ * apt-pkg/packagemanager.cc:
+ - ensure for Multi-Arch:same packages that they are unpacked in
+ lock step even in immediate configuration (Closes: #618288)
+
+ [ Michael Vogt ]
+ * methods/mirror.cc:
+ - ignore lines starting with "#" in the mirror file
+ - ignore non http urls in the mirrors
+ - append the dist (e.g. sid, wheezy) as a query string when
+ asking for a suitable mirror
+ * debian/control:
+ - add libapt-pkg4.10 and libapt-inst1.2 library packages
+
+ -- Michael Vogt <mvo@debian.org> Fri, 10 Jun 2011 15:32:07 +0200
+
+apt (0.8.14.2) UNRELEASED; urgency=low
+
+ [ Julian Andres Klode ]
+ * apt-pkg/depcache.cc:
+ - Really release action groups only once (Closes: #622744)
+ - Make purge work again for config-files (LP: #244598) (Closes: #150831)
+ * debian/apt.cron.daily:
+ - Check power after wait, patch by manuel-soto (LP: #705269)
+ * debian/control:
+ - Move ${shlibs:Depends} to Pre-Depends, as we do not want APT
+ unpacked if a library is too old and thus break upgrades
+ * doc/apt-key.8.xml:
+ - Document apt-key net-update (LP: #192810)
+
+ [ Christian Perrier ]
+ * Galician translation update (Miguel Anxo Bouzada). Closes: #626505
+
+ [ David Kalnischkies ]
+ * fix a bunch of cppcheck warnings/errors based on a patch by
+ Niels Thykier, thanks! (Closes: #622805)
+ * apt-pkg/depcache.cc:
+ - really include 'rc' packages in the delete count by fixing a
+ typo which exists since 1999 in the source… (LP: #761175)
+ - if critical or-group can't be satisfied, exit directly.
+ * apt-pkg/acquire-method.cc:
+ - write directly to stdout instead of creating the message in
+ memory first before writing to avoid hitting limits
+ - fix order of CurrentURI and UsedMirror in Status() and Log()
+ * apt-pkg/orderlist.cc:
+ - let VisitRProvides report if the calls were successful
+ * apt-pkg/deb/dpkgpm.cc:
+ - replace obsolete usleep with nanosleep
+ * debian/apt{,-utils}.symbols:
+ - update both experimental symbol-files to reflect 0.8.14 state
+ * debian/rules:
+ - remove unused embedded jquery by doxygen from libapt-pkg-doc
+ * cmdline/apt-mark.cc:
+ - reimplement apt-mark in c++
+ - provide a 'showmanual' command (Closes: #582791)
+ - provide a 'dpkg --set-selections' wrapper to set/release holds
+ * cmdline/apt-get.cc:
+ - deprecate mostly undocumented 'markauto' in favor of 'apt-mark'
+ * cmdline/apt-cache.cc:
+ - deprecate mostly undocumented 'showauto' in favor of 'apt-mark'
+ * apt-pkg/pkgcache.cc:
+ - really ignore :arch in FindPkg() in non-multiarch environment
+ * doc/po/de.po:
+ - undo the translation of the command 'dump' in manpage of apt-config
+ as report by Burghard Grossmann on debian-l10n-german, thanks!
+ * apt-pkg/deb/debmetaindex.cc:
+ - do not download TranslationIndex if no Translation-* will be
+ downloaded later on anyway (Closes: #624218)
+ * test/versions.lst:
+ - disable obscure version number tests with versions dpkg doesn't
+ allow any more as they don't start with a number
+ * apt-pkg/acquire-worker.cc:
+ - print filename in the unmatching size warning (Closes: #623137)
+ * apt-pkg/acquire-item.cc:
+ - apply fix for poorly worded 'locate file' error message from
+ Ben Finney, thanks! (Closes: #623171)
+ * methods/http.cc:
+ - add config option to ignore a closed stdin to be able to easily
+ use the method as a simple standalone downloader
+ - Location header in redirects should be absolute URI, but some
+ servers just send an absolute path so still deal with it properly
+ - dequote URL taken from Location in redirects as we will otherwise
+ quote an already quoted string in the request later (Closes: #602412)
+ * apt-pkg/contrib/netrc.cc:
+ - replace non-posix gnu-extension strdupa with strdup
+ * apt-pkg/packagemanager.cc:
+ - ensure for Multi-Arch:same packages that they are unpacked in
+ lock step even in immediate configuration (Closes: #618288)
+
+ -- Michael Vogt <mvo@debian.org> Mon, 16 May 2011 14:57:52 +0200
+
apt (0.8.14.1) unstable; urgency=low
* apt-pkg/acquire-item.cc:
diff --git a/debian/control b/debian/control
index 6d0f16b70..7efb6ca8a 100644
--- a/debian/control
+++ b/debian/control
@@ -6,26 +6,61 @@ Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>,
Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>,
Julian Andres Klode <jak@debian.org>
Standards-Version: 3.9.2
-Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 7.2.3~), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0), zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, docbook-xml, po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen
+Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 7.2.3~), libdb-dev,
+ gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0),
+ zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, docbook-xml,
+ po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen
Build-Conflicts: autoconf2.13, automake1.4
Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/
Vcs-Browser: http://bzr.debian.org/loggerhead/apt/debian-sid/
Package: apt
Architecture: any
-Pre-Depends: ${shlibs:Depends}
-Depends: debian-archive-keyring, ${misc:Depends}, gnupg
+Depends: ${shlibs:Depends}, ${misc:Depends}, debian-archive-keyring, gnupg
Replaces: manpages-pl (<< 20060617-3~)
-Provides: ${libapt-pkg:provides}
Conflicts: python-apt (<< 0.7.93.2~)
Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt
-Description: Advanced front-end for dpkg
- This is Debian's next generation front-end for the dpkg package manager.
- It provides the apt-get utility and APT dselect method that provides a
- simpler, safer way to install and upgrade packages.
+Description: APT's commandline package manager
+ This package provides commandline tools for searching and
+ managing as well as querying information about packages
+ as a low-level access to all features of the libapt-pkg library.
.
- APT features complete installation ordering, multiple source capability
- and several other unique features, see the Users Guide in apt-doc.
+ These include:
+ * apt-get for retrieval of packages and information about them
+ from authenticated sources and for installation, upgrade and
+ removal of packages together with their dependencies
+ * apt-cache for querying available information about installed
+ as well as installable packages
+ * apt-cdrom to use removable media as a source for packages
+ * apt-config as an interface to the configuration settings
+ * apt-key as an interface to manage authentication keys
+
+Package: libapt-pkg4.12
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: APT's package managment runtime library
+ This library provides the common functionality for searching and
+ managing packages as well as information about packages.
+ Higher-level package managers can depend upon this library.
+ .
+ This includes:
+ * retrieval of information about packages from multiple sources
+ * retrieval of packages and all dependent packages
+ needed to satisfy a request either through an internal
+ solver or by interfacing with an external one
+ * authenticating the sources and validating the retrieved data
+ * installation and removal of packages in the system
+ * providing different transports to retrieve data over cdrom, ftp,
+ http, rsh as well as an interface to add more transports like
+ https (apt-transport-https) and debtorrent (apt-transport-debtorrent).
+
+Package: libapt-inst1.4
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: APT's deb package format runtime library
+ This library provides methods to query and extract information
+ from deb packages. This includes the control data and the package
+ file content.
Package: apt-doc
Architecture: all
@@ -33,13 +68,13 @@ Priority: optional
Depends: ${misc:Depends}
Section: doc
Description: Documentation for APT
- This package contains the user guide and offline guide, for APT, an
- Advanced Package Tool.
+ This package contains the user guide and offline guide for various
+ APT tools which are provided in a html and a text-only version.
Package: libapt-pkg-dev
Architecture: any
Priority: optional
-Depends: apt (= ${binary:Version}), apt-utils (= ${binary:Version}), ${libapt-pkg:provides}, ${libapt-inst:provides}, ${misc:Depends}, zlib1g-dev | zlib-dev
+Depends: ${libapt-pkg-name} (= ${binary:Version}), ${libapt-inst-name} (= ${binary:Version}), ${misc:Depends}, zlib1g-dev | zlib-dev
Section: libdevel
Description: Development files for APT's libapt-pkg and libapt-inst
This package contains the header files and libraries for
@@ -61,19 +96,25 @@ Description: Documentation for APT development
Package: apt-utils
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
-Provides: ${libapt-inst:provides}
Description: APT utility programs
- This package contains some APT utility programs such as apt-ftparchive,
- apt-sortpkgs and apt-extracttemplates.
+ This package contains some less used commandline utilities related
+ to package managment with APT.
.
- apt-extracttemplates is used by debconf to prompt for configuration
- questions before installation. apt-ftparchive is used to create Package
- and other index files. apt-sortpkgs is a Package/Source file normalizer.
+ * apt-extracttemplates is used by debconf to prompt for configuration
+ questions before installation.
+ * apt-ftparchive is used to create Packages and other index files
+ needed to publish an archive of debian packages
+ * apt-sortpkgs is a Packages/Sources file normalizer.
Package: apt-transport-https
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Priority: optional
-Description: APT https transport
- This package contains a APT https transport. It makes it possible to
- use 'deb https://foo distro main' lines in the sources.list.
+Description: https download transport for APT
+ This package enables the usage of 'deb https://foo distro main' lines
+ in the /etc/apt/sources.list so that all package managers using the
+ libapt-pkg library can access metadata and packages available in sources
+ accessable over https (Hypertext Transfer Protocol Secure).
+ .
+ This transport supports server as well as client authenification
+ with certificates.
diff --git a/debian/libapt-inst1.4.install b/debian/libapt-inst1.4.install
new file mode 100644
index 000000000..b7b63be81
--- /dev/null
+++ b/debian/libapt-inst1.4.install
@@ -0,0 +1,2 @@
+bin/libapt-inst*.so.* usr/lib/
+usr/share/locale/*/*/libapt-inst*.mo
diff --git a/debian/apt-utils.symbols b/debian/libapt-inst1.4.symbols
index 9ba283a51..bba2cb653 100644
--- a/debian/apt-utils.symbols
+++ b/debian/libapt-inst1.4.symbols
@@ -1,5 +1,4 @@
-libapt-inst.so.1.2 libapt-inst1.2
-| apt-utils #MINVER#
+libapt-inst.so.1.4 libapt-inst1.4 #MINVER#
* Build-Depends-Package: libapt-pkg-dev
(c++)"ExtractTar::Done(bool)@Base" 0.8.0
(c++)"ExtractTar::Go(pkgDirStream&)@Base" 0.8.0
@@ -114,7 +113,7 @@ libapt-inst.so.1.2 libapt-inst1.2
# (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0
# (c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append<unsigned char*>(unsigned char*, unsigned char*)@Base" 0.8.0
### gcc-4.6 specific
- (c++|optional=std)"std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::~vector()@Base" 0.8.12 1
+ (c++|optional=std)"std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::~vector()@Base" 0.8.12
(c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_dispatch<unsigned char*>(__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned char*, unsigned char*, std::__false_type)@Base" 0.8.0
### try to ignore std:: template instances
(c++|regex|optional=std)"^std::basic_string<.+ >\(.+\)@Base$" 0.8.0
diff --git a/debian/libapt-pkg4.12.install b/debian/libapt-pkg4.12.install
new file mode 100644
index 000000000..91b39a31b
--- /dev/null
+++ b/debian/libapt-pkg4.12.install
@@ -0,0 +1,2 @@
+bin/libapt-pkg*.so.* usr/lib/
+usr/share/locale/*/*/libapt-pkg*.mo
diff --git a/debian/apt.symbols b/debian/libapt-pkg4.12.symbols
index 04e13edd7..8d2bc4a54 100644
--- a/debian/apt.symbols
+++ b/debian/libapt-pkg4.12.symbols
@@ -1,5 +1,4 @@
-libapt-pkg.so.4.10 libapt-pkg4.10
-| apt #MINVER#
+libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER#
* Build-Depends-Package: libapt-pkg-dev
TFRewritePackageOrder@Base 0.8.0
TFRewriteSourceOrder@Base 0.8.0
@@ -61,7 +60,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"WaitFd(int, bool, unsigned long)@Base" 0.8.0
(c++)"GetLock(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)@Base" 0.8.0
(c++)"Hex2Num(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int)@Base" 0.8.0
- (c++)"AddCRC16(unsigned short, void const*, unsigned long)@Base" 0.8.0
(c++)"CopyFile(FileFd&, FileFd&)@Base" 0.8.0
(c++)"ExecFork()@Base" 0.8.0
(c++)"ExecWait(int, char const*, bool)@Base" 0.8.0
@@ -98,25 +96,18 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"HashString::HashString()@Base" 0.8.0
(c++)"HashString::~HashString()@Base" 0.8.0
(c++)"OpProgress::CheckChange(float)@Base" 0.8.0
- (c++)"OpProgress::SubProgress(unsigned long)@Base" 0.8.0
- (c++)"OpProgress::SubProgress(unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"OpProgress::OverallProgress(unsigned long, unsigned long, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
(c++)"OpProgress::Done()@Base" 0.8.0
(c++)"OpProgress::Update()@Base" 0.8.0
- (c++)"OpProgress::Progress(unsigned long)@Base" 0.8.0
(c++)"OpProgress::OpProgress()@Base" 0.8.0
(c++)"OpProgress::~OpProgress()@Base" 0.8.0
(c++)"SourceCopy::GetFileName()@Base" 0.8.0
(c++)"SourceCopy::RewriteEntry(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
(c++)"SourceCopy::Type()@Base" 0.8.0
- (c++)"SourceCopy::GetFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&)@Base" 0.8.0
(c++)"SourceCopy::~SourceCopy()@Base" 0.8.0
(c++)"pkgAcqFile::Custom600Headers()@Base" 0.8.0
- (c++)"pkgAcqFile::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqFile::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqFile::DescURI()@Base" 0.8.0
(c++)"pkgAcqFile::HashSum()@Base" 0.8.0
- (c++)"pkgAcqFile::pkgAcqFile(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@Base" 0.8.0
(c++)"pkgAcqFile::~pkgAcqFile()@Base" 0.8.0
(c++)"pkgAcquire::WorkerStep(pkgAcquire::Worker*)@Base" 0.8.0
(c++)"pkgAcquire::FetchNeeded()@Base" 0.8.0
@@ -129,8 +120,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgAcquire::Bump()@Base" 0.8.0
(c++)"pkgAcquire::Item::Custom600Headers()@Base" 0.8.0
(c++)"pkgAcquire::Item::ReportMirrorFailure(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgAcquire::Item::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
- (c++)"pkgAcquire::Item::Start(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long)@Base" 0.8.0
(c++)"pkgAcquire::Item::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcquire::Item::Rename(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
(c++)"pkgAcquire::Item::HashSum()@Base" 0.8.0
@@ -200,10 +189,8 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgRecords::pkgRecords(pkgCache&)@Base" 0.8.0
(c++)"pkgRecords::~pkgRecords()@Base" 0.8.0
(c++)"pkgTagFile::Fill()@Base" 0.8.0
- (c++)"pkgTagFile::Jump(pkgTagSection&, unsigned long)@Base" 0.8.0
(c++)"pkgTagFile::Step(pkgTagSection&)@Base" 0.8.0
(c++)"pkgTagFile::Resize()@Base" 0.8.0
- (c++)"pkgTagFile::pkgTagFile(FileFd*, unsigned long)@Base" 0.8.0
(c++)"pkgTagFile::~pkgTagFile()@Base" 0.8.0
(c++)"CdromDevice::~CdromDevice()@Base" 0.8.0
(c++)"CommandLine::DispatchArg(CommandLine::Dispatch*, bool)@Base" 0.8.0
@@ -212,7 +199,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"CommandLine::HandleOpt(int&, int, char const**, char const*&, CommandLine::Args*, bool)@Base" 0.8.0
(c++)"CommandLine::CommandLine(CommandLine::Args*, Configuration*)@Base" 0.8.0
(c++)"CommandLine::~CommandLine()@Base" 0.8.0
- (c++)"DynamicMMap::RawAllocate(unsigned long, unsigned long)@Base" 0.8.0
(c++)"DynamicMMap::WriteString(char const*, unsigned long)@Base" 0.8.0
(c++)"DynamicMMap::Grow()@Base" 0.8.0
(c++)"DynamicMMap::Allocate(unsigned long)@Base" 0.8.0
@@ -238,16 +224,11 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"GlobalError::Warning(char const*, ...)@Base" 0.8.0
(c++)"GlobalError::WarningE(char const*, char const*, ...)@Base" 0.8.0
(c++)"GlobalError::GlobalError()@Base" 0.8.0
- (c++)"MD5SumValue::Set(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"MD5SumValue::MD5SumValue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"MD5SumValue::MD5SumValue()@Base" 0.8.0
(c++)"PackageCopy::GetFileName()@Base" 0.8.0
(c++)"PackageCopy::RewriteEntry(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
(c++)"PackageCopy::Type()@Base" 0.8.0
- (c++)"PackageCopy::GetFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&)@Base" 0.8.0
(c++)"PackageCopy::~PackageCopy()@Base" 0.8.0
(c++)"pkgAcqIndex::Custom600Headers()@Base" 0.8.0
- (c++)"pkgAcqIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqIndex::DescURI()@Base" 0.8.0
(c++)"pkgAcqIndex::HashSum()@Base" 0.8.0
@@ -286,12 +267,9 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgDepCache::Update(pkgCache::DepIterator)@Base" 0.8.0
(c++)"pkgDepCache::Update(OpProgress*)@Base" 0.8.0
(c++)"pkgDepCache::Update(pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"pkgDepCache::AddSizes(pkgCache::PkgIterator const&, bool const&)@Base" 0.8.0
- (c++)"pkgDepCache::AddSizes(pkgCache::PkgIterator const&, long)@Base" 0.8.0
(c++)"pkgDepCache::CheckDep(pkgCache::DepIterator, int, pkgCache::PkgIterator&)@Base" 0.8.0
(c++)"pkgDepCache::MarkAuto(pkgCache::PkgIterator const&, bool)@Base" 0.8.0
(c++)"pkgDepCache::MarkKeep(pkgCache::PkgIterator const&, bool, bool, unsigned long)@Base" 0.8.0
- (c++)"pkgDepCache::AddStates(pkgCache::PkgIterator const&, int)@Base" 0.8.0
(c++)"pkgDepCache::pkgDepCache(pkgCache*, pkgDepCache::Policy*)@Base" 0.8.0
(c++)"pkgDepCache::~pkgDepCache()@Base" 0.8.0
(c++)"pkgSimulate::ShortBreaks()@Base" 0.8.0
@@ -303,13 +281,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgSimulate::Configure(pkgCache::PkgIterator)@Base" 0.8.0
(c++)"pkgSimulate::pkgSimulate(pkgDepCache*)@Base" 0.8.0
(c++)"pkgSimulate::~pkgSimulate()@Base" 0.8.0
- (c++)"MD5Summation::Add(unsigned char const*, unsigned long)@Base" 0.8.0
- (c++)"MD5Summation::AddFD(int, unsigned long)@Base" 0.8.0
- (c++)"MD5Summation::Result()@Base" 0.8.0
- (c++)"MD5Summation::MD5Summation()@Base" 0.8.0
- (c++)"SHA1SumValue::Set(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"SHA1SumValue::SHA1SumValue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"SHA1SumValue::SHA1SumValue()@Base" 0.8.0
(c++)"debIFTypePkg::~debIFTypePkg()@Base" 0.8.0
(c++)"debIFTypeSrc::~debIFTypeSrc()@Base" 0.8.0
(c++)"debSLTypeDeb::~debSLTypeDeb()@Base" 0.8.0
@@ -374,7 +345,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgOrderList::DepRemove(pkgCache::DepIterator)@Base" 0.8.0
(c++)"pkgOrderList::IsMissing(pkgCache::PkgIterator)@Base" 0.8.0
(c++)"pkgOrderList::VisitDeps(bool (pkgOrderList::*)(pkgCache::DepIterator), pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgOrderList::VisitNode(pkgCache::PkgIterator)@Base" 0.8.0
(c++)"pkgOrderList::WipeFlags(unsigned long)@Base" 0.8.0
(c++)"pkgOrderList::pkgOrderList(pkgDepCache*)@Base" 0.8.0
(c++)"pkgOrderList::~pkgOrderList()@Base" 0.8.0
@@ -392,10 +362,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"Configuration::Configuration(Configuration::Item const*)@Base" 0.8.0
(c++)"Configuration::Configuration()@Base" 0.8.0
(c++)"Configuration::~Configuration()@Base" 0.8.0
- (c++)"SHA1Summation::Add(unsigned char const*, unsigned long)@Base" 0.8.0
- (c++)"SHA1Summation::AddFD(int, unsigned long)@Base" 0.8.0
- (c++)"SHA1Summation::Result()@Base" 0.8.0
- (c++)"SHA1Summation::SHA1Summation()@Base" 0.8.0
(c++)"WeakPointable::~WeakPointable()@Base" 0.8.0
(c++)"debListParser::NewVersion(pkgCache::VerIterator&)@Base" 0.8.0
(c++)"debListParser::UsePackage(pkgCache::PkgIterator&, pkgCache::VerIterator&)@Base" 0.8.0
@@ -421,7 +387,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"debListParser::GrabWord(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, debListParser::WordList*, unsigned char&)@Base" 0.8.0
(c++)"debListParser::debListParser(FileFd*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
(c++)"debListParser::~debListParser()@Base" 0.8.0
- (c++)"pkgAcqArchive::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqArchive::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqArchive::DescURI()@Base" 0.8.0
(c++)"pkgAcqArchive::HashSum()@Base" 0.8.0
@@ -432,7 +397,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgAcqArchive::pkgAcqArchive(pkgAcquire*, pkgSourceList*, pkgRecords*, pkgCache::VerIterator const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
(c++)"pkgAcqArchive::~pkgAcqArchive()@Base" 0.8.0
(c++)"pkgAcqMetaSig::Custom600Headers()@Base" 0.8.0
- (c++)"pkgAcqMetaSig::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqMetaSig::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqMetaSig::DescURI()@Base" 0.8.0
(c++)"pkgAcqMetaSig::~pkgAcqMetaSig()@Base" 0.8.0
@@ -471,16 +435,9 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"OpTextProgress::Update()@Base" 0.8.0
(c++)"OpTextProgress::OpTextProgress(Configuration&)@Base" 0.8.0
(c++)"OpTextProgress::~OpTextProgress()@Base" 0.8.0
- (c++)"SHA256SumValue::Set(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"SHA256SumValue::SHA256SumValue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"SHA256SumValue::SHA256SumValue()@Base" 0.8.0
(c++)"debIFTypeTrans::~debIFTypeTrans()@Base" 0.8.0
(c++)"debStatusIndex::debStatusIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
(c++)"debStatusIndex::~debStatusIndex()@Base" 0.8.0
- (c++)"SHA256Summation::Add(unsigned char const*, unsigned long)@Base" 0.8.0
- (c++)"SHA256Summation::AddFD(int, unsigned long)@Base" 0.8.0
- (c++)"SHA256Summation::Result()@Base" 0.8.0
- (c++)"SHA256Summation::SHA256Summation()@Base" 0.8.0
(c++)"debIFTypeStatus::~debIFTypeStatus()@Base" 0.8.0
(c++)"debRecordParser::Maintainer()@Base" 0.8.0
(c++)"debRecordParser::SHA256Hash()@Base" 0.8.0
@@ -511,7 +468,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"debSourcesIndex::~debSourcesIndex()@Base" 0.8.0
(c++)"pkgAcqDiffIndex::ParseDiffIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
(c++)"pkgAcqDiffIndex::Custom600Headers()@Base" 0.8.0
- (c++)"pkgAcqDiffIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqDiffIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqDiffIndex::DescURI()@Base" 0.8.0
(c++)"pkgAcqDiffIndex::pkgAcqDiffIndex(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, HashString)@Base" 0.8.0
@@ -520,7 +476,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgAcqMetaIndex::VerifyVendor(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
(c++)"pkgAcqMetaIndex::RetrievalDone(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
(c++)"pkgAcqMetaIndex::Custom600Headers()@Base" 0.8.0
- (c++)"pkgAcqMetaIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqMetaIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqMetaIndex::DescURI()@Base" 0.8.0
(c++)"pkgAcqMetaIndex::AuthDone(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
@@ -537,7 +492,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"debPackagesIndex::debPackagesIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
(c++)"debPackagesIndex::~debPackagesIndex()@Base" 0.8.0
(c++)"pkgAcqIndexDiffs::QueueNextDiff()@Base" 0.8.0
- (c++)"pkgAcqIndexDiffs::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqIndexDiffs::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
(c++)"pkgAcqIndexDiffs::Finish(bool)@Base" 0.8.0
(c++)"pkgAcqIndexDiffs::DescURI()@Base" 0.8.0
@@ -554,7 +508,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgAcquireStatus::Pulse(pkgAcquire*)@Base" 0.8.0
(c++)"pkgAcquireStatus::Start()@Base" 0.8.0
(c++)"pkgAcquireStatus::IMSHit(pkgAcquire::ItemDesc&)@Base" 0.8.0
- (c++)"pkgAcquireStatus::Fetched(unsigned long, unsigned long)@Base" 0.8.0
(c++)"pkgAcquireStatus::pkgAcquireStatus()@Base" 0.8.0
(c++)"pkgAcquireStatus::~pkgAcquireStatus()@Base" 0.8.0
(c++)"PreferenceSection::TrimRecord(bool, char const*&)@Base" 0.8.0
@@ -563,7 +516,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgCacheGenerator::ListParser::NewProvides(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
(c++)"pkgCacheGenerator::ListParser::CollectFileProvides(pkgCache&, pkgCache::VerIterator&)@Base" 0.8.0
(c++)"pkgCacheGenerator::ListParser::~ListParser()@Base" 0.8.0
- (c++)"pkgCacheGenerator::NewDepends(pkgCache::PkgIterator&, pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int const&, unsigned int const&, unsigned int*)@Base" 0.8.0
(c++)"pkgCacheGenerator::NewFileVer(pkgCache::VerIterator&, pkgCacheGenerator::ListParser&)@Base" 0.8.0
(c++)"pkgCacheGenerator::NewPackage(pkgCache::PkgIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
(c++)"pkgCacheGenerator::NewVersion(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)@Base" 0.8.0
@@ -571,7 +523,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgCacheGenerator::FinishCache(OpProgress*)@Base" 0.8.0
(c++)"pkgCacheGenerator::NewFileDesc(pkgCache::DescIterator&, pkgCacheGenerator::ListParser&)@Base" 0.8.0
(c++)"pkgCacheGenerator::AllocateInMap(unsigned long const&)@Base" 0.8.0
- (c++)"pkgCacheGenerator::NewDescription(pkgCache::DescIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, MD5SumValue const&, unsigned int)@Base" 0.8.0
(c++)"pkgCacheGenerator::MakeStatusCache(pkgSourceList&, OpProgress*, MMap**, bool)@Base" 0.8.0
(c++)"pkgCacheGenerator::WriteUniqString(char const*, unsigned int)@Base" 0.8.0
(c++)"pkgCacheGenerator::WriteStringInMap(char const*)@Base" 0.8.0
@@ -700,17 +651,11 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"MMap::~MMap()@Base" 0.8.0
(c++)"FileFd::OpenDescriptor(int, FileFd::OpenMode, bool)@Base" 0.8.0
(c++)"FileFd::Open(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, FileFd::OpenMode, unsigned long)@Base" 0.8.0
- (c++)"FileFd::Read(void*, unsigned long, unsigned long*)@Base" 0.8.0
- (c++)"FileFd::Seek(unsigned long)@Base" 0.8.0
(c++)"FileFd::Size()@Base" 0.8.0
- (c++)"FileFd::Skip(unsigned long)@Base" 0.8.0
(c++)"FileFd::Sync()@Base" 0.8.0
(c++)"FileFd::Tell()@Base" 0.8.0
(c++)"FileFd::Close()@Base" 0.8.0
- (c++)"FileFd::Write(void const*, unsigned long)@Base" 0.8.0
- (c++)"FileFd::Truncate(unsigned long)@Base" 0.8.0
(c++)"FileFd::~FileFd()@Base" 0.8.0
- (c++)"Hashes::AddFD(int, unsigned long)@Base" 0.8.0
(c++)"Vendor::CheckDist(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
(c++)"Vendor::Vendor(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<Vendor::Fingerprint*, std::allocator<Vendor::Fingerprint*> >*)@Base" 0.8.0
(c++)"Vendor::~Vendor()@Base" 0.8.0
@@ -798,7 +743,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgDPkgPM::~pkgDPkgPM()@Base" 0.8.0
(c++)"pkgPolicy::GetPriority(pkgCache::PkgIterator const&)@Base" 0.8.0
(c++)"pkgPolicy::InitDefaults()@Base" 0.8.0
- (c++)"pkgPolicy::IsImportantDep(pkgCache::DepIterator const&)@Base" 0.8.0
(c++)"pkgPolicy::GetCandidateVer(pkgCache::PkgIterator const&)@Base" 0.8.0
(c++)"pkgPolicy::PkgPin::~PkgPin()@Base" 0.8.0
(c++)"pkgPolicy::GetMatch(pkgCache::PkgIterator const&)@Base" 0.8.0
@@ -817,10 +761,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"HashString::toStr() const@Base" 0.8.0
(c++)"CommandLine::FileSize() const@Base" 0.8.0
(c++)"GlobalError::empty(GlobalError::MsgType const&) const@Base" 0.8.0
- (c++)"MD5SumValue::Value() const@Base" 0.8.0
- (c++)"MD5SumValue::operator==(MD5SumValue const&) const@Base" 0.8.0
- (c++)"SHA1SumValue::Value() const@Base" 0.8.0
- (c++)"SHA1SumValue::operator==(SHA1SumValue const&) const@Base" 0.8.0
(c++)"debIFTypePkg::CreatePkgParser(pkgCache::PkgFileIterator) const@Base" 0.8.0
(c++)"debSLTypeDeb::CreateItem(std::vector<metaIndex*, std::allocator<metaIndex*> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const@Base" 0.8.0
(c++)"indexRecords::GetValidUntil() const@Base" 0.8.0
@@ -859,8 +799,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgTagSection::FindS(char const*) const@Base" 0.8.0
(c++)"pkgTagSection::FindULL(char const*, unsigned long long const&) const@Base" 0.8.0
(c++)"pkgTagSection::FindFlag(char const*, unsigned long&, unsigned long) const@Base" 0.8.0
- (c++)"SHA256SumValue::Value() const@Base" 0.8.0
- (c++)"SHA256SumValue::operator==(SHA256SumValue const&) const@Base" 0.8.0
(c++)"debStatusIndex::FindInCache(pkgCache&) const@Base" 0.8.0
(c++)"debStatusIndex::HasPackages() const@Base" 0.8.0
(c++)"debStatusIndex::Size() const@Base" 0.8.0
@@ -939,7 +877,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++)"pkgCache::VerIterator::Downloadable() const@Base" 0.8.0
(c++)"pkgCache::VerIterator::OwnerPointer() const@Base" 0.8.0
(c++)"pkgCache::VerIterator::TranslatedDescription() const@Base" 0.8.0
- (c++)"pkgCache::VerIterator::Pseudo() const@Base" 0.8.0
(c++)"pkgCache::VerIterator::RelStr() const@Base" 0.8.0
(c++)"pkgCache::VerIterator::Automatic() const@Base" 0.8.0
(c++)"pkgCache::DescIterator::OwnerPointer() const@Base" 0.8.0
@@ -1241,35 +1178,32 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0
# (c++|optional=strange)"pkgCache::VerIterator::VerIterator(pkgCache&, pkgCache::Version*)@Base" 0.8.0
### architecture specific: va_list
- (arch=armel armhf|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@Base" 0.8.15~exp1 1
- (arch=i386 hurd-i386 kfreebsd-i386|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1 1
- (arch=hppa ia64 mips mipsel sparc sparc64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@Base" 0.8.15~exp1 1
- (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@Base" 0.8.15~exp1 1
- (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@Base" 0.8.15~exp1 1
- (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@Base" 0.8.15~exp1 1
+ (arch=armel armhf|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@Base" 0.8.15~exp1
+ (arch=i386 hurd-i386 kfreebsd-i386|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1
+ (arch=hppa ia64 mips mipsel sparc sparc64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@Base" 0.8.15~exp1
+ (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@Base" 0.8.15~exp1
+ (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@Base" 0.8.15~exp1
+ (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@Base" 0.8.15~exp1
### architecture specific: va_list & size_t
- (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 1
- (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 1
- (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 1
- (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 1
- (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 1
- (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 1
- (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 1
- (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 1
-
- (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 1
- (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 1
- (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 1
- (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 1
- (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 1
- (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 1
+ (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4
+ (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4
+ (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4
+ (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4
+ (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4
+ (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4
+ (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4
+ (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4
+ (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4
+ (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4
+ (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4
+ (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4
+ (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4
+ (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4
(arch=ia64 sparc64|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@Base" 0.8.11.4 1
- (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 1
+ (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4
### architecture specific: size_t
(arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc|c++)"_strtabexpand(char*, unsigned int)@Base" 0.8.0
(arch=alpha amd64 ia64 kfreebsd-amd64 s390 sparc64|c++)"_strtabexpand(char*, unsigned long)@Base" 0.8.0
- (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc|c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&)@Base" 0.8.0
- (arch=alpha amd64 ia64 kfreebsd-amd64 s390 sparc64|c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&)@Base" 0.8.0
### try to ignore std:: template instances
(c++|regex|optional=std)"^(void |)std::[^ ]+<.+ >::(_|~).+\(.*\)@Base$" 0.8.0
(c++|regex|optional=std)"^std::[^ ]+<.+ >::(append|insert|reserve|operator[^ ]+)\(.*\)@Base$" 0.8.0
@@ -1281,50 +1215,233 @@ libapt-pkg.so.4.10 libapt-pkg4.10
(c++|regex|optional=std)"^typeinfo name for std::iterator<.*>@Base$" 0.8.0
(c++|regex|optional=std)"^typeinfo for std::iterator<.*>@Base$" 0.8.0
###
- (c++)"Configuration::MatchAgainstConfig::clearPatterns()@Base" 0.8.1 1
- (c++)"CreateAPTDirectoryIfNeeded(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.2 1
- (c++)"FileFd::FileSize()@Base" 0.8.8 1
- (c++)"Base256ToNum(char const*, unsigned long&, unsigned int)@Base" 0.8.11 1
- (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::list<std::pair<pkgCache::VerIterator, pkgCache::VerIterator>, std::allocator<std::pair<pkgCache::VerIterator, pkgCache::VerIterator> > >&)@Base" 0.8.11 1
- (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1
- (c++)"RealFileExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.11 1
- (c++)"StripEpoch(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1
- (c++)"IndexTarget::~IndexTarget()@Base" 0.8.11 1
- (c++)"pkgAcqIndex::Init(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1
- (c++)"pkgAcqIndex::pkgAcqIndex(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 1
- (c++)"pkgTagSection::FindFlag(unsigned long&, unsigned long, char const*, char const*)@Base" 0.8.11 1
- (c++)"pkgAcqSubIndex::ParseIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1
- (c++)"pkgAcqSubIndex::Custom600Headers()@Base" 0.8.11 1
- (c++)"pkgAcqSubIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1
- (c++)"pkgAcqSubIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1
- (c++)"pkgAcqSubIndex::DescURI()@Base" 0.8.11 1
- (c++)"pkgAcqSubIndex::pkgAcqSubIndex(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, HashString const&)@Base" 0.8.11 1
- (c++)"pkgAcqSubIndex::~pkgAcqSubIndex()@Base" 0.8.11 1
- (c++)"pkgAcqMetaClearSig::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1
- (c++)"pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.11 1
- (c++)"pkgAcqMetaClearSig::~pkgAcqMetaClearSig()@Base" 0.8.11 1
- (c++)"pkgAcqIndexTrans::pkgAcqIndexTrans(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 1
- (c++)"IndexTarget::IsOptional() const@Base" 0.8.11 1
- (c++)"IndexTarget::IsSubIndex() const@Base" 0.8.11 1
- (c++)"debReleaseIndex::TranslationIndexURI(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11 1
- (c++)"debReleaseIndex::TranslationIndexURISuffix(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11 1
- (c++)"typeinfo for pkgAcqSubIndex@Base" 0.8.11 1
- (c++)"typeinfo for pkgAcqMetaClearSig@Base" 0.8.11 1
- (c++)"typeinfo name for pkgAcqSubIndex@Base" 0.8.11 1
- (c++)"typeinfo name for pkgAcqMetaClearSig@Base" 0.8.11 1
- (c++)"vtable for pkgAcqSubIndex@Base" 0.8.11 1
- (c++)"vtable for pkgAcqMetaClearSig@Base" 0.8.11 1
- (c++)"FindMountPointForDevice(char const*)@Base" 0.8.12 1
- (c++)"pkgUdevCdromDevices::ScanForRemovable(bool)@Base" 0.8.12 1
- (c++)"APT::Configuration::Compressor::Compressor(char const*, char const*, char const*, char const*, char const*, unsigned short)@Base" 0.8.12 1
- (c++)"APT::Configuration::Compressor::~Compressor()@Base" 0.8.12 1
- (c++)"APT::Configuration::getCompressors(bool)@Base" 0.8.12 1
- (c++)"APT::Configuration::getCompressorExtensions()@Base" 0.8.12 1
- (c++)"APT::Configuration::setDefaultConfigurationForCompressors()@Base" 0.8.12 1
- (c++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator, bool const&)@Base" 0.8.12 1
- (c++)"pkgAcqMetaClearSig::Custom600Headers()@Base" 0.8.13 1
- (c++|optional=private)"debListParser::NewProvidesAllArch(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.13.2 1
- (c++|optional=private)"PrintMode(char)@Base" 0.8.13.2 1
- (c++)"pkgDepCache::IsModeChangeOk(pkgDepCache::ModeList, pkgCache::PkgIterator const&, unsigned long, bool)@Base" 0.8.13.2 1
- (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool)@Base" 0.8.15~exp1 1
- (c++)"pkgCache::DepIterator::IsNegative() const@Base" 0.8.15~exp1 1
+ (c++)"Configuration::MatchAgainstConfig::clearPatterns()@Base" 0.8.1
+ (c++)"CreateAPTDirectoryIfNeeded(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.2
+ (c++)"FileFd::FileSize()@Base" 0.8.8
+ (c++)"Base256ToNum(char const*, unsigned long&, unsigned int)@Base" 0.8.11
+ (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::list<std::pair<pkgCache::VerIterator, pkgCache::VerIterator>, std::allocator<std::pair<pkgCache::VerIterator, pkgCache::VerIterator> > >&)@Base" 0.8.11
+ (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11
+ (c++)"RealFileExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.11
+ (c++)"StripEpoch(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11
+ (c++)"IndexTarget::~IndexTarget()@Base" 0.8.11
+ (c++)"pkgAcqIndex::Init(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11
+ (c++)"pkgAcqIndex::pkgAcqIndex(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11
+ (c++)"pkgTagSection::FindFlag(unsigned long&, unsigned long, char const*, char const*)@Base" 0.8.11
+ (c++)"pkgAcqSubIndex::ParseIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11
+ (c++)"pkgAcqSubIndex::Custom600Headers()@Base" 0.8.11
+ (c++)"pkgAcqSubIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11
+ (c++)"pkgAcqSubIndex::DescURI()@Base" 0.8.11
+ (c++)"pkgAcqSubIndex::pkgAcqSubIndex(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, HashString const&)@Base" 0.8.11
+ (c++)"pkgAcqSubIndex::~pkgAcqSubIndex()@Base" 0.8.11
+ (c++)"pkgAcqMetaClearSig::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11
+ (c++)"pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.11
+ (c++)"pkgAcqMetaClearSig::~pkgAcqMetaClearSig()@Base" 0.8.11
+ (c++)"pkgAcqIndexTrans::pkgAcqIndexTrans(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11
+ (c++)"IndexTarget::IsOptional() const@Base" 0.8.11
+ (c++)"IndexTarget::IsSubIndex() const@Base" 0.8.11
+ (c++)"debReleaseIndex::TranslationIndexURI(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11
+ (c++)"debReleaseIndex::TranslationIndexURISuffix(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11
+ (c++)"typeinfo for pkgAcqSubIndex@Base" 0.8.11
+ (c++)"typeinfo for pkgAcqMetaClearSig@Base" 0.8.11
+ (c++)"typeinfo name for pkgAcqSubIndex@Base" 0.8.11
+ (c++)"typeinfo name for pkgAcqMetaClearSig@Base" 0.8.11
+ (c++)"vtable for pkgAcqSubIndex@Base" 0.8.11
+ (c++)"vtable for pkgAcqMetaClearSig@Base" 0.8.11
+ (c++)"FindMountPointForDevice(char const*)@Base" 0.8.12
+ (c++)"pkgUdevCdromDevices::ScanForRemovable(bool)@Base" 0.8.12
+ (c++)"APT::Configuration::Compressor::Compressor(char const*, char const*, char const*, char const*, char const*, unsigned short)@Base" 0.8.12
+ (c++)"APT::Configuration::Compressor::~Compressor()@Base" 0.8.12
+ (c++)"APT::Configuration::getCompressors(bool)@Base" 0.8.12
+ (c++)"APT::Configuration::getCompressorExtensions()@Base" 0.8.12
+ (c++)"APT::Configuration::setDefaultConfigurationForCompressors()@Base" 0.8.12
+ (c++)"pkgAcqMetaClearSig::Custom600Headers()@Base" 0.8.13
+ (c++|optional=private)"debListParser::NewProvidesAllArch(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.13.2
+ (c++|optional=private)"PrintMode(char)@Base" 0.8.13.2
+ (c++)"pkgDepCache::IsModeChangeOk(pkgDepCache::ModeList, pkgCache::PkgIterator const&, unsigned long, bool)@Base" 0.8.13.2
+ (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool)@Base" 0.8.15~exp1
+ (c++)"pkgCache::DepIterator::IsNegative() const@Base" 0.8.15~exp1
+ (c++)"Configuration::CndSet(char const*, int)@Base" 0.8.15.3
+ (c++)"pkgProblemResolver::InstOrNewPolicyBroken(pkgCache::PkgIterator)@Base" 0.8.15.3
+ (c++)"DeEscapeString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.15.4
+ (c++)"GetModificationTime(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.15.6
+ (c++)"pkgSourceList::GetLastModifiedTime()@Base" 0.8.15.6
+ (c++)"pkgCacheGenerator::NewDepends(pkgCache::PkgIterator&, pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int const&, unsigned int const&, unsigned int*&)@Base" 0.8.15.6
+ (c++)"pkgCacheFile::RemoveCaches()@Base" 0.8.15.7
+ (c++)"pkgOrderList::VisitNode(pkgCache::PkgIterator, char const*)@Base" 0.8.15.7
+### external dependency resolver ###
+ (c++)"edspIFType::~edspIFType()@Base" 0.8.16~exp2
+ (c++)"edspSystem::Initialize(Configuration&)@Base" 0.8.16~exp2
+ (c++)"edspSystem::AddStatusFiles(std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> >&)@Base" 0.8.16~exp2
+ (c++)"edspSystem::ArchiveSupported(char const*)@Base" 0.8.16~exp2
+ (c++)"edspSystem::Lock()@Base" 0.8.16~exp2
+ (c++)"edspSystem::Score(Configuration const&)@Base" 0.8.16~exp2
+ (c++)"edspSystem::UnLock(bool)@Base" 0.8.16~exp2
+ (c++)"edspSystem::edspSystem()@Base" 0.8.16~exp2
+ (c++)"edspSystem::~edspSystem()@Base" 0.8.16~exp2
+ (c++)"edspListParser::NewVersion(pkgCache::VerIterator&)@Base" 0.8.16~exp2
+ (c++)"edspListParser::Description()@Base" 0.8.16~exp2
+ (c++)"edspListParser::ParseStatus(pkgCache::PkgIterator&, pkgCache::VerIterator&)@Base" 0.8.16~exp2
+ (c++)"edspListParser::VersionHash()@Base" 0.8.16~exp2
+ (c++)"edspListParser::Description_md5()@Base" 0.8.16~exp2
+ (c++)"edspListParser::LoadReleaseInfo(pkgCache::PkgFileIterator&, FileFd&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.16~exp2
+ (c++)"edspListParser::DescriptionLanguage()@Base" 0.8.16~exp2
+ (c++)"edspListParser::edspListParser(FileFd*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.16~exp2
+ (c++)"edspListParser::~edspListParser()@Base" 0.8.16~exp2
+ (c++)"edspIndex::edspIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.16~exp2
+ (c++)"edspIndex::~edspIndex()@Base" 0.8.16~exp2
+ (c++)"edspIFType::CreatePkgParser(pkgCache::PkgFileIterator) const@Base" 0.8.16~exp2
+ (c++)"edspSystem::CreatePM(pkgDepCache*) const@Base" 0.8.16~exp2
+ (c++)"edspSystem::FindIndex(pkgCache::PkgFileIterator, pkgIndexFile*&) const@Base" 0.8.16~exp2
+ (c++)"edspIndex::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.16~exp2
+ (c++)"edspIndex::GetType() const@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteError(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, _IO_FILE*)@Base" 0.8.16~exp2
+ (c++)"EDSP::ReadRequest(int, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, bool&, bool&, bool&)@Base" 0.8.16~exp2
+ (c++)"EDSP::ApplyRequest(std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, pkgDepCache&)@Base" 0.8.16~exp2
+ (c++)"EDSP::ReadResponse(int, pkgDepCache&, OpProgress*)@Base" 0.8.16~exp2
+ (c++)"EDSP::StringToBool(char const*, bool)@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteRequest(pkgDepCache&, _IO_FILE*, bool, bool, bool, OpProgress*)@Base" 0.8.16~exp2
+ (c++)"EDSP::ExecuteSolver(char const*, int*, int*)@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteProgress(unsigned short, char const*, _IO_FILE*)@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteScenario(pkgDepCache&, _IO_FILE*, OpProgress*)@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteSolution(pkgDepCache&, _IO_FILE*)@Base" 0.8.16~exp2
+ (c++)"EDSP::ResolveExternal(char const*, pkgDepCache&, bool, bool, bool, OpProgress*)@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteLimitedScenario(pkgDepCache&, _IO_FILE*, APT::PackageSet const&, OpProgress*)@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteScenarioVersion(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&)@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteScenarioDependency(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&)@Base" 0.8.16~exp2
+ (c++)"EDSP::WriteScenarioLimitedDependency(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, APT::PackageSet const&)@Base" 0.8.16~exp2
+ (c++)"EDSP::DepMap@Base" 0.8.16~exp2
+ (c++)"EDSP::PrioMap@Base" 0.8.16~exp2
+ (c++)"EDSP::ReadLine(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.16~exp2
+ (c++)"pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const&)@Base" 0.8.16~exp6
+ (c++)"pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const&)@Base" 0.8.16~exp6
+ (c++)"typeinfo for edspIFType@Base" 0.8.16~exp2
+ (c++)"typeinfo for edspSystem@Base" 0.8.16~exp2
+ (c++)"typeinfo for edspListParser@Base" 0.8.16~exp2
+ (c++)"typeinfo for edspIndex@Base" 0.8.16~exp2
+ (c++)"typeinfo name for edspIFType@Base" 0.8.16~exp2
+ (c++)"typeinfo name for edspSystem@Base" 0.8.16~exp2
+ (c++)"typeinfo name for edspListParser@Base" 0.8.16~exp2
+ (c++)"typeinfo name for edspIndex@Base" 0.8.16~exp2
+ (c++)"vtable for edspIFType@Base" 0.8.16~exp2
+ (c++)"vtable for edspSystem@Base" 0.8.16~exp2
+ (c++)"vtable for edspListParser@Base" 0.8.16~exp2
+ (c++)"vtable for edspIndex@Base" 0.8.16~exp2
+ edspSys@Base 0.8.16~exp2
+### generalisation of checksums (with lfs) -- mostly api-compatible available (without sha512 in previous versions)
+ (c++)"SHA256_End(_SHA256_CTX*, char*)@Base" 0.8.16~exp2
+ (c++)"SHA384_End(_SHA512_CTX*, char*)@Base" 0.8.16~exp2
+ (c++)"SHA512_End(_SHA512_CTX*, char*)@Base" 0.8.16~exp2
+ (c++)"SHA256_Data(unsigned char const*, unsigned int, char*)@Base" 0.8.16~exp2
+ (c++)"SHA256_Init(_SHA256_CTX*)@Base" 0.8.16~exp2
+ (c++)"SHA384_Data(unsigned char const*, unsigned int, char*)@Base" 0.8.16~exp2
+ (c++)"SHA384_Init(_SHA512_CTX*)@Base" 0.8.16~exp2
+ (c++)"SHA512_Data(unsigned char const*, unsigned int, char*)@Base" 0.8.16~exp2
+ (c++)"SHA512_Init(_SHA512_CTX*)@Base" 0.8.16~exp2
+ (c++)"SHA256_Final(unsigned char*, _SHA256_CTX*)@Base" 0.8.16~exp2
+ (c++)"SHA384_Final(unsigned char*, _SHA512_CTX*)@Base" 0.8.16~exp2
+ (c++)"SHA512_Final(unsigned char*, _SHA512_CTX*)@Base" 0.8.16~exp2
+ (c++)"SHA256_Update(_SHA256_CTX*, unsigned char const*, unsigned int)@Base" 0.8.16~exp2
+ (c++)"SHA384_Update(_SHA512_CTX*, unsigned char const*, unsigned int)@Base" 0.8.16~exp2
+ (c++)"SHA512_Update(_SHA512_CTX*, unsigned char const*, unsigned int)@Base" 0.8.16~exp2
+ (c++)"AddCRC16(unsigned short, void const*, unsigned long long)@Base" 0.8.16~exp2
+ (c++)"MD5Summation::Add(unsigned char const*, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"MD5Summation::Result()@Base" 0.8.16~exp2
+ (c++)"MD5Summation::MD5Summation()@Base" 0.8.16~exp2
+ (c++)"SHA1Summation::SHA1Summation()@Base" 0.8.16~exp2
+ (c++)"SHA1Summation::Add(unsigned char const*, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"SHA1Summation::Result()@Base" 0.8.16~exp2
+ (c++)"SHA256Summation::Add(unsigned char const*, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"SHA512Summation::Add(unsigned char const*, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"debRecordParser::SHA512Hash()@Base" 0.8.16~exp2
+ (c++)"pkgRecords::Parser::SHA512Hash()@Base" 0.8.16~exp6
+ (c++)"Hashes::AddFD(int, unsigned long long, bool, bool, bool, bool)@Base" 0.8.16~exp6
+ (c++)"SummationImplementation::AddFD(int, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"typeinfo for MD5Summation@Base" 0.8.16~exp6
+ (c++)"typeinfo for SHA1Summation@Base" 0.8.16~exp6
+ (c++)"typeinfo for SHA256Summation@Base" 0.8.16~exp6
+ (c++)"typeinfo for SHA512Summation@Base" 0.8.16~exp6
+ (c++)"typeinfo for SHA2SummationBase@Base" 0.8.16~exp6
+ (c++)"typeinfo for SummationImplementation@Base" 0.8.16~exp6
+ (c++)"typeinfo name for MD5Summation@Base" 0.8.16~exp6
+ (c++)"typeinfo name for SHA1Summation@Base" 0.8.16~exp6
+ (c++)"typeinfo name for SHA256Summation@Base" 0.8.16~exp6
+ (c++)"typeinfo name for SHA512Summation@Base" 0.8.16~exp6
+ (c++)"typeinfo name for SHA2SummationBase@Base" 0.8.16~exp6
+ (c++)"typeinfo name for SummationImplementation@Base" 0.8.16~exp6
+ (c++)"vtable for MD5Summation@Base" 0.8.16~exp6
+ (c++)"vtable for SHA1Summation@Base" 0.8.16~exp6
+ (c++)"vtable for SHA256Summation@Base" 0.8.16~exp6
+ (c++)"vtable for SHA512Summation@Base" 0.8.16~exp6
+ (c++)"vtable for SHA2SummationBase@Base" 0.8.16~exp6
+ (c++)"vtable for SummationImplementation@Base" 0.8.16~exp6
+### large file support - available in older api-compatible versions without lfs ###
+ (c++)"StrToNum(char const*, unsigned long long&, unsigned int, unsigned int)@Base" 0.8.16~exp6
+ (c++)"OpProgress::SubProgress(unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float)@Base" 0.8.16~exp6
+ (c++)"OpProgress::OverallProgress(unsigned long long, unsigned long long, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.16~exp6
+ (c++)"OpProgress::Progress(unsigned long long)@Base" 0.8.16~exp6
+ (c++)"SourceCopy::GetFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long long&)@Base" 0.8.16~exp6
+ (c++)"pkgAcqFile::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"pkgAcqFile::pkgAcqFile(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@Base" 0.8.16~exp6
+ (c++)"pkgAcquire::UriIterator::~UriIterator()@Base" 0.8.16~exp6
+ (c++)"pkgAcquire::MethodConfig::~MethodConfig()@Base" 0.8.16~exp6
+ (c++)"pkgAcquire::Item::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"pkgAcquire::Item::Start(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"pkgRecords::Parser::RecordField(char const*)@Base" 0.8.16~exp6
+ (c++)"pkgTagFile::Jump(pkgTagSection&, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"pkgTagFile::Offset()@Base" 0.8.16~exp6
+ (c++)"pkgTagFile::pkgTagFile(FileFd*, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"DynamicMMap::RawAllocate(unsigned long long, unsigned long)@Base" 0.8.16~exp6
+ (c++)"PackageCopy::GetFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long long&)@Base" 0.8.16~exp6
+ (c++)"pkgAcqIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long long&)@Base" 0.8.16~exp6
+ (c++)"pkgAcqArchive::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"pkgTagSection::~pkgTagSection()@Base" 0.8.16~exp6
+ (c++)"pkgAcqSubIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"debRecordParser::RecordField(char const*)@Base" 0.8.16~exp6
+ (c++)"debReleaseIndex::SetTrusted(bool)@Base" 0.8.16~exp6
+ (c++)"debReleaseIndex::debReleaseIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@Base" 0.8.16~exp6
+ (c++)"pkgAcqMetaIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"pkgAcqIndexDiffs::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"pkgAcqMetaSig::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"pkgAcqDiffIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6
+ (c++)"pkgAcquireStatus::Fetched(unsigned long long, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"PreferenceSection::~PreferenceSection()@Base" 0.8.16~exp6
+ (c++)"pkgCacheGenerator::NewDescription(pkgCache::DescIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, HashSumValue<128> const&, unsigned int)@Base" 0.8.16~exp6
+ (c++)"pkgProblemResolver::ResolveInternal(bool)@Base" 0.8.16~exp6
+ (c++)"pkgProblemResolver::ResolveByKeepInternal()@Base" 0.8.16~exp6
+ (c++)"FileFd::Read(void*, unsigned long long, unsigned long long*)@Base" 0.8.16~exp6
+ (c++)"FileFd::Seek(unsigned long long)@Base" 0.8.16~exp6
+ (c++)"FileFd::Skip(unsigned long long)@Base" 0.8.16~exp6
+ (c++)"FileFd::Write(void const*, unsigned long long)@Base" 0.8.16~exp6
+ (c++)"FileFd::Truncate(unsigned long long)@Base" 0.8.16~exp6
+ (c++)"pkgCache::PkgIterator::PkgIterator(pkgCache&, pkgCache::Package*)@Base" 0.8.16~exp6
+ (c++)"pkgPolicy::GetPriority(pkgCache::PkgFileIterator const&)@Base" 0.8.16~exp6
+ (c++)"OptionalIndexTarget::IsOptional() const@Base" 0.8.16~exp6
+ (c++)"typeinfo for pkgTagFile@Base" 0.8.16~exp6
+ (c++)"typeinfo for IndexTarget@Base" 0.8.16~exp6
+ (c++)"typeinfo for pkgSrcRecords@Base" 0.8.16~exp6
+ (c++)"typeinfo for OptionalIndexTarget@Base" 0.8.16~exp6
+ (c++)"typeinfo for pkgAcquire::UriIterator@Base" 0.8.16~exp6
+ (c++)"typeinfo for pkgAcquire::MethodConfig@Base" 0.8.16~exp6
+ (c++)"typeinfo for pkgAcquire::Queue@Base" 0.8.16~exp6
+ (c++)"typeinfo for pkgAcquire::Worker@Base" 0.8.16~exp6
+ (c++)"typeinfo name for pkgTagFile@Base" 0.8.16~exp6
+ (c++)"typeinfo name for IndexTarget@Base" 0.8.16~exp6
+ (c++)"typeinfo name for pkgSrcRecords@Base" 0.8.16~exp6
+ (c++)"typeinfo name for OptionalIndexTarget@Base" 0.8.16~exp6
+ (c++)"typeinfo name for pkgAcquire::UriIterator@Base" 0.8.16~exp6
+ (c++)"typeinfo name for pkgAcquire::MethodConfig@Base" 0.8.16~exp6
+ (c++)"typeinfo name for pkgAcquire::Queue@Base" 0.8.16~exp6
+ (c++)"typeinfo name for pkgAcquire::Worker@Base" 0.8.16~exp6
+ (c++)"vtable for pkgTagFile@Base" 0.8.16~exp6
+ (c++)"vtable for IndexTarget@Base" 0.8.16~exp6
+ (c++)"vtable for pkgSrcRecords@Base" 0.8.16~exp6
+ (c++)"vtable for OptionalIndexTarget@Base" 0.8.16~exp6
+ (c++)"vtable for pkgAcquire::UriIterator@Base" 0.8.16~exp6
+ (c++)"vtable for pkgAcquire::MethodConfig@Base" 0.8.16~exp6
+ (c++)"vtable for pkgAcquire::Queue@Base" 0.8.16~exp6
+ (c++)"vtable for pkgAcquire::Worker@Base" 0.8.16~exp6
+### remove deprecated parameter
+ (c++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator)@Base" 0.8.16~exp6
+ (c++)"pkgDepCache::AddSizes(pkgCache::PkgIterator const&, bool)@Base" 0.8.16~exp6
+ (c++)"pkgDepCache::AddStates(pkgCache::PkgIterator const&, bool)@Base" 0.8.16~exp6
diff --git a/debian/rules b/debian/rules
index 0544b2b8e..30474c06b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -62,7 +62,7 @@ configure.in:
endif
# APT Programs in apt-utils
-APT_UTILS=ftparchive sortpkgs extracttemplates
+APT_UTILS=ftparchive sortpkgs extracttemplates internal-solver
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
@@ -70,9 +70,9 @@ APT_UTILS=ftparchive sortpkgs extracttemplates
# Find the libapt-pkg major version for use in other control files
include buildlib/libversion.mak
-# Determine which package we should provide in the control files
-LIBAPTPKG_PROVIDE=libapt-pkg$(LIBAPTPKG_MAJOR)
-LIBAPTINST_PROVIDE=libapt-inst$(LIBAPTINST_MAJOR)
+# Determine which library package names to use
+LIBAPT_PKG=libapt-pkg$(LIBAPTPKG_MAJOR)
+LIBAPT_INST=libapt-inst$(LIBAPTINST_MAJOR)
# do not fail as we are just experimenting with symbol files for now
export DPKG_GENSYMBOLS_CHECK_LEVEL=0
@@ -97,6 +97,15 @@ build/configure-stamp: configure
build/build-stamp: build/configure-stamp
# Add here commands to compile the package.
$(MAKE) binary
+ # compat symlink for the locale split
+ mkdir -p build/usr/share
+ cd build/usr/share && ln -f -s ../../locale .
+ # compile and run tests
+ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
+ $(MAKE) test
+else
+ @echo "Tests DISABLED"
+endif
touch $@
build/build-doc-stamp: build/configure-stamp
@@ -120,9 +129,6 @@ libapt-pkg-doc: build-doc
#
# libapt-pkg-doc install
#
- # remove doxygen's embedded jquery as we don't use it anyway (#622147)
- rm -f $(BLD)/doc/doxygen/html/jquery.js
-
dh_installdocs -p$@ $(BLD)/docs/design* \
$(BLD)/docs/dpkg-tech* \
$(BLD)/docs/files* \
@@ -137,7 +143,7 @@ libapt-pkg-doc: build-doc
dh_compress -p$@
dh_fixperms -p$@
dh_installdeb -p$@
- dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE)
+ dh_gencontrol -p$@
dh_md5sums -p$@
dh_builddeb -p$@
@@ -165,7 +171,7 @@ apt-doc: build-doc
# Build architecture-dependent files here.
-binary-arch: apt libapt-pkg-dev apt-utils apt-transport-https
+binary-arch: $(LIBAPT_PKG) $(LIBAPT_INST) apt libapt-pkg-dev apt-utils apt-transport-https
apt_MANPAGES = apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list
apt: build build-doc
dh_testdir -p$@
@@ -185,7 +191,7 @@ apt: build build-doc
dh_install -p$@ --sourcedir=$(BLD)
# Remove the bits that are in apt-utils
- rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS))
+ rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS) dump-solver)
# https has its own package
rm debian/$@/usr/lib/apt/methods/https
@@ -205,10 +211,9 @@ apt: build build-doc
dh_strip -p$@
dh_compress -p$@
dh_fixperms -p$@
- dh_makeshlibs -p$@
dh_installdeb -p$@
- dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib
- dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE)
+ dh_shlibdeps -p$@
+ dh_gencontrol -p$@
dh_md5sums -p$@
dh_builddeb -p$@
@@ -227,7 +232,7 @@ libapt-pkg-dev: build
dh_compress -p$@
dh_fixperms -p$@
dh_installdeb -p$@
- dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE)
+ dh_gencontrol -p$@ -- -Vlibapt-pkg-name=$(LIBAPT_PKG) -Vlibapt-inst-name=$(LIBAPT_INST)
dh_md5sums -p$@
dh_builddeb -p$@
@@ -239,8 +244,10 @@ apt-utils: build
dh_installdirs -p$@
cp $(addprefix $(BLD)/bin/apt-,$(APT_UTILS)) debian/$@/usr/bin/
+ cp $(BLD)/bin/apt-dump-solver debian/$@/usr/lib/apt/solvers/dump
dh_install -p$@ --sourcedir=$(BLD)
+ dh_link -p$@
dh_installdocs -p$@
dh_installexamples -p$@
@@ -253,8 +260,46 @@ apt-utils: build
dh_fixperms -p$@
dh_makeshlibs -p$@
dh_installdeb -p$@
- dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib
- dh_gencontrol -p$@ -- -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE)
+ dh_shlibdeps -p$@
+ dh_gencontrol -p$@
+ dh_md5sums -p$@
+ dh_builddeb -p$@
+
+$(LIBAPT_PKG): build
+ dh_testdir -p$@
+ dh_testroot -p$@
+ dh_prep -p$@
+ dh_installdirs -p$@
+
+ dh_install -p$@ --sourcedir=$(BLD)
+ dh_installdocs -p$@
+ dh_installchangelogs -p$@
+ dh_strip -p$@
+ dh_compress -p$@
+ dh_fixperms -p$@
+ dh_makeshlibs -p$@
+ dh_installdeb -p$@
+ dh_shlibdeps -p$@
+ dh_gencontrol -p$@
+ dh_md5sums -p$@
+ dh_builddeb -p$@
+
+$(LIBAPT_INST): build
+ dh_testdir -p$@
+ dh_testroot -p$@
+ dh_prep -p$@
+ dh_installdirs -p$@
+
+ dh_install -p$@ --sourcedir=$(BLD)
+ dh_installdocs -p$@
+ dh_installchangelogs -p$@
+ dh_strip -p$@
+ dh_compress -p$@
+ dh_fixperms -p$@
+ dh_makeshlibs -p$@
+ dh_installdeb -p$@
+ dh_shlibdeps -p$@
+ dh_gencontrol -p$@
dh_md5sums -p$@
dh_builddeb -p$@
@@ -276,7 +321,7 @@ apt-transport-https: build libapt-pkg-dev
dh_compress -p$@
dh_fixperms -p$@
dh_installdeb -p$@
- dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib
+ dh_shlibdeps -p$@
dh_gencontrol -p$@
dh_md5sums -p$@
dh_builddeb -p$@
diff --git a/doc/apt-cache.8.xml b/doc/apt-cache.8.xml
index 431ef8704..1393de015 100644
--- a/doc/apt-cache.8.xml
+++ b/doc/apt-cache.8.xml
@@ -263,7 +263,7 @@ Reverse Provides:
about the priority selection of the named package.</para></listitem>
</varlistentry>
- <varlistentry><term>madison <replaceable>/[ pkg(s) ]</replaceable></term>
+ <varlistentry><term>madison <replaceable>[ pkg(s) ]</replaceable></term>
<listitem><para><literal>apt-cache</literal>'s <literal>madison</literal> command attempts to mimic
the output format and a subset of the functionality of the Debian
archive management tool, <literal>madison</literal>. It displays
diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml
index 11b53e5e7..36a675bb0 100644
--- a/doc/apt-get.8.xml
+++ b/doc/apt-get.8.xml
@@ -54,6 +54,13 @@
<replaceable>target_release</replaceable>
</arg>
</arg>
+ <arg>
+ <option>-a=</option>
+ <arg choice='plain'>
+ <replaceable>default_architecture</replaceable>
+ </arg>
+ </arg>
+
<group choice="req">
<arg choice='plain'>update</arg>
@@ -254,8 +261,10 @@
<para>If the <option>--compile</option> option is specified
then the package will be compiled to a binary .deb using
- <command>dpkg-buildpackage</command>, if <option>--download-only</option>
- is specified then the source package will not be unpacked.</para>
+ <command>dpkg-buildpackage</command> for the architecture as
+ defined by the <command>--host-architecture</command> option.
+ If <option>--download-only</option> is specified then the source package
+ will not be unpacked.</para>
<para>A specific source version can be retrieved by postfixing the source name
with an equals and then the version to fetch, similar to the mechanism
@@ -270,7 +279,9 @@
<varlistentry><term>build-dep</term>
<listitem><para><literal>build-dep</literal> causes apt-get to install/remove packages in an
- attempt to satisfy the build dependencies for a source package.</para></listitem>
+ attempt to satisfy the build dependencies for a source package. By default the dependencies are
+ satisfied to build the package nativly. If desired a host-architecture can be specified
+ with the <option>--host-architecture</option> option instead.</para></listitem>
</varlistentry>
<varlistentry><term>check</term>
@@ -422,6 +433,11 @@
Configuration Item: <literal>APT::Get::Assume-Yes</literal>.</para></listitem>
</varlistentry>
+ <varlistentry><term><option>--assume-no</option></term>
+ <listitem><para>Automatic "no" to all prompts.
+ Configuration Item: <literal>APT::Get::Assume-No</literal>.</para></listitem>
+ </varlistentry>
+
<varlistentry><term><option>-u</option></term><term><option>--show-upgraded</option></term>
<listitem><para>Show upgraded packages; Print out a list of all packages that are to be
upgraded.
@@ -433,6 +449,16 @@
Configuration Item: <literal>APT::Get::Show-Versions</literal>.</para></listitem>
</varlistentry>
+ <varlistentry><term><option>-a</option></term>
+ <term><option>--host-architecture</option></term>
+ <listitem><para>This option controls the architecture packages are built for
+ by <command>apt-get source --compile</command> and how cross-builddependencies
+ are satisfied. By default is not set which means that the host architecture
+ is the same as the build architecture (which is defined by <literal>APT::Architecture</literal>)
+ Configuration Item: <literal>APT::Get::Host-Architecture</literal>
+ </para></listitem>
+ </varlistentry>
+
<varlistentry><term><option>-b</option></term><term><option>--compile</option></term>
<term><option>--build</option></term>
<listitem><para>Compile source packages after downloading them.
diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml
index 02de89f3b..1adc868e0 100644
--- a/doc/apt.conf.5.xml
+++ b/doc/apt.conf.5.xml
@@ -153,7 +153,15 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
parsing package lists. The internal default is the architecture apt was
compiled for.</para></listitem>
</varlistentry>
-
+
+ <varlistentry><term>Architectures</term>
+ <listitem><para>All Architectures the system supports. Processors implementing the <literal>amd64</literal>
+ are e.g. also able to execute binaries compiled for <literal>i386</literal>; This list is use when fetching files and
+ parsing package lists. The internal default is always the native architecture (<literal>APT::Architecture</literal>)
+ and all foreign architectures it can retrieve by calling <command>dpkg --print-foreign-architectures</command>.
+ </para></listitem>
+ </varlistentry>
+
<varlistentry><term>Default-Release</term>
<listitem><para>Default release to install packages from if more than one
version available. Contains release name, codename or release version. Examples: 'stable', 'testing',
@@ -259,14 +267,23 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
<varlistentry><term>Max-ValidTime</term>
<listitem><para>Seconds the Release file should be considered valid after
- it was created. The default is "for ever" (0) if the Release file of the
- archive doesn't include a <literal>Valid-Until</literal> header.
- If it does then this date is the default. The date from the Release file or
- the date specified by the creation time of the Release file
- (<literal>Date</literal> header) plus the seconds specified with this
- options are used to check if the validation of a file has expired by using
- the earlier date of the two. Archive specific settings can be made by
- appending the label of the archive to the option name.
+ it was created (indicated by the <literal>Date</literal> header).
+ If the Release file itself includes a <literal>Valid-Until</literal> header
+ the earlier date of the two is used as the expiration date.
+ The default value is <literal>0</literal> which stands for "for ever".
+ Archive specific settings can be made by appending the label of the archive
+ to the option name.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>Min-ValidTime</term>
+ <listitem><para>Minimum of seconds the Release file should be considered
+ valid after it was created (indicated by the <literal>Date</literal> header).
+ Use this if you need to use a seldomly updated (local) mirror of a more
+ regular updated archive with a <literal>Valid-Until</literal> header
+ instead of competely disabling the expiration date checking.
+ Archive specific settings can and should be used by appending the label of
+ the archive to the option name.
</para></listitem>
</varlistentry>
diff --git a/doc/examples/configure-index b/doc/examples/configure-index
index 6884e06e3..49e803f91 100644
--- a/doc/examples/configure-index
+++ b/doc/examples/configure-index
@@ -23,6 +23,7 @@ quiet::NoUpdate "true"; // never update progress information - included in -q=1
APT
{
Architecture "i386";
+ Architectures { "amd64"; "armel"; };
Build-Essential "build-essential";
NeverAutoRemove { "linux-image.*"; }; // packages that should never
@@ -31,6 +32,7 @@ APT
// Options for apt-get
Get
{
+ Host-Architecture "armel";
Arch-Only "false";
AllowUnauthenticated "false";
AutomaticRemove "false";
diff --git a/doc/external-dependency-solver-protocol.txt b/doc/external-dependency-solver-protocol.txt
new file mode 100644
index 000000000..7a124d8f9
--- /dev/null
+++ b/doc/external-dependency-solver-protocol.txt
@@ -0,0 +1,299 @@
+# APT External Dependency Solver Protocol (EDSP) - version 0.4
+
+This document describes the communication protocol between APT and
+external dependency solvers. The protocol is called APT EDSP, for "APT
+External Dependency Solver Protocol".
+
+
+## Components
+
+- **APT**: we know this one.
+- APT is equipped with its own **internal solver** for dependencies,
+ which is identified by the string `internal`.
+- **External solver**: an *external* software component able to resolve
+ dependencies on behalf of APT.
+
+At each interaction with APT, a single solver is in use. When there is
+a total of 2 or more solvers, internals or externals, the user can
+choose which one to use.
+
+Each solver is identified by an unique string, the **solver
+name**. Solver names must be formed using only alphanumeric ASCII
+characters, dashes, and underscores; solver names must start with a
+lowercase ASCII letter. The special name `internal` denotes APT's
+internal solver, is reserved, and cannot be used by external solvers.
+
+
+## Installation
+
+Each external solver is installed as a file under Dir::Bin::Solvers (see
+below), which defaults to `/usr/lib/apt/solvers`. We will assume in the
+remainder of this section that such a default value is in effect.
+
+The naming scheme is `/usr/lib/apt/solvers/NAME`, where `NAME` is the
+name of the external solver.
+
+Each file under `/usr/lib/apt/solvers` corresponding to an external
+solver must be executable.
+
+No non-solver files must be installed under `/usr/lib/apt/solvers`, so
+that an index of available external solvers can be obtained by listing
+the content of that directory.
+
+
+## Configuration
+
+Several APT options can be used to affect dependency solving in APT. An
+overview of them is given below. Please refer to proper APT
+configuration documentation for more, and more up to date, information.
+
+- **APT::Solver**: the name of the solver to be used for
+ dependency solving. Defaults to `internal`
+
+- **APT::Solver::Strict-Pinning**: whether pinning must be strictly
+ respected (as the internal solver does) or can be slightly deviated
+ from. Defaults to `yes`.
+
+- **APT::Solver::NAME::Preferences** (where NAME is a solver name):
+ solver-specific user preference string used during dependency solving,
+ when the solver NAME is in use. Check solver-specific documentation
+ for what is supported here. Defaults to the empty string.
+
+- **Dir::Bin::Solvers**: absolute path of the directory where to look for
+ external solvers. Defaults to `/usr/lib/apt/solvers`.
+
+## Protocol
+
+When configured to use an external solver, APT will resort to it to
+decide which packages should be installed or removed.
+
+The interaction happens **in batch**: APT will invoke the external
+solver passing the current status of installed and available packages,
+as well as the user request to alter the set of installed packages. The
+external solver will compute a new complete set of installed packages
+and gives APT a "diff" listing of which *additional* packages should be
+installed and of which currently installed packages should be
+*removed*. (Note: the order in which those actions have to be performed
+will be up to APT to decide.)
+
+External solvers are invoked by executing them. Communications happens
+via the file descriptors: **stdin** (standard input) and **stdout**
+(standard output). stderr is not used by the EDSP protocol. Solvers can
+therefore use stderr to dump debugging information that could be
+inspected separately.
+
+After invocation, the protocol passes through a sequence of phases:
+
+1. APT invokes the external solver
+2. APT send to the solver a dependency solving **scenario**
+3. The solver solves dependencies. During this phase the solver may
+ send, repeatedly, **progress** information to APT.
+4. The solver sends back to APT an **answer**, i.e. either a *solution*
+ or an *error* report.
+5. The external solver exits
+
+
+### Scenario
+
+A scenario is a text file encoded in a format very similar to the "Deb
+822" format (AKA "the format used by Debian `Packages` files"). A
+scenario consists of two distinct parts: a **request** and a **package
+universe**, occurring in that order. The request consists of a single
+Deb 822 stanza, while the package universe consists of several such
+stanzas. All stanzas occurring in a scenario are separated by an empty
+line.
+
+
+#### Request
+
+Within a dependency solving scenario, a request represents the action on
+installed packages requested by the user.
+
+A request is a single Deb 822 stanza opened by a mandatory Request field
+and followed by a mixture of action and preference fields.
+
+The value of the **Request:** field is a string describing the EDSP
+protocol which will be used to communicate. At present, the string must
+be `EDSP 0.4`.
+
+a unique request identifier, such as an
+UUID. Request fields are mainly used to identify the beginning of a
+request stanza; their actual values are otherwise not used by the EDSP
+protocol.
+
+The following **action fields** are supported in request stanzas:
+
+- **Install:** (optional, defaults to the empty string) A space
+ separated list of package names, with *no version attached*, to
+ install. This field denotes a list of packages that the user wants to
+ install, usually via an APT `install` request.
+
+- **Remove:** (optional, defaults to the empty string) Same syntax of
+ Install. This field denotes a list of packages that the user wants to
+ remove, usually via APT `remove` or `purge` requests.
+
+- **Upgrade:** (optional, defaults to `no`). Allowed values: `yes`,
+ `no`. When set to `yes`, an upgrade of all installed packages has been
+ requested, usually via an APT `upgrade` request.
+
+- **Dist-Upgrade:** (optional, defaults to `no`). Allowed values: `yes`,
+ `no`. Same as Upgrade, but for APT `dist-upgrade` requests.
+
+- **Autoremove:** (optional, defaults to `no`). Allowed values: `yes`,
+ `no`. When set to `yes`, a clean up of unused automatically installed
+ packages has been requested, usually via an APT `autoremove` request.
+
+The following **preference fields** are supported in request stanzas:
+
+- **Strict-Pinning:** (optional, defaults to `yes`). Allowed values:
+ `yes`, `no`. When set to `yes`, APT pinning is strict, in the sense
+ that the solver must not propose to install packages which are not APT
+ candidates (see the `APT-Pin` and `APT-Candidate` fields in the
+ package universe). When set to `no`, the solver does only a best
+ effort attempt to install APT candidates. Usually, the value of this
+ field comes from the `APT::Solver::Strict-Pinning` configuration
+ option.
+
+- **Preferences:** a solver-specific optimization string, usually coming
+ from the `APT::Solver::Preferences` configuration option.
+
+
+#### Package universe
+
+A package universe is a list of Deb 822 stanzas, one per package, called
+**package stanzas**. Each package stanzas starts with a Package
+field. The following fields are supported in package stanzas:
+
+- All fields contained in the dpkg database, with the exception of
+ fields marked as "internal" (see the manpage `dpkg-query (1)`). Among
+ those fields, the following are mandatory for all package stanzas:
+ Package, Version, Architecture.
+
+ It is recommended not to pass the Description field to external
+ solvers or, alternatively, to trim it to the short description only.
+
+- **Installed:** (optional, defaults to `no`). Allowed values: `yes`,
+ `no`. When set to `yes`, the corresponding package is currently
+ installed.
+
+ Note: the Status field present in the dpkg database must not be passed
+ to the external solver, as it's an internal dpkg field. Installed and
+ other fields permit to encode the most relevant aspects of Status in
+ communications with solvers.
+
+- **Hold:** (optional, defaults to `no`). Allowed values: `yes`,
+ `no`. When set to `yes`, the corresponding package is marked as "on
+ hold" by dpkg.
+
+- **APT-ID:** (mandatory). Unique package identifier, according to APT.
+
+- **APT-Pin:** (mandatory). Must be an integer. Package pin value,
+ according to APT policy.
+
+- **APT-Candidate:** (optional, defaults to `no`). Allowed values:
+ `yes`, `no`. When set to `yes`, the corresponding package is the APT
+ candidate for installation among all available packages with the same
+ name.
+
+- **APT-Automatic:** (optional, defaults to `no`). Allowed values:
+ `yes`, `no`. When set to `yes`, the corresponding package is marked by
+ APT as automatic installed. Note that automatic installed packages
+ should be removed by the solver only when the Autoremove action is
+ requested (see Request section).
+
+### Answer
+
+An answer from the external solver to APT is either a *solution* or an
+*error*.
+
+The following invariant on **exit codes** must hold true. When the
+external solver is *able to find a solution*, it will write the solution
+to standard output and then exit with an exit code of 0. When the
+external solver is *unable to find a solution* (and s aware of that), it
+will write an error to standard output and then exit with an exit code
+of 0. An exit code other than 0 will be interpreted as a solver crash
+with no meaningful error about dependency resolution to convey to the
+user.
+
+
+#### Solution
+
+A solution is a list of Deb 822 stanzas. Each of them could be an
+install stanza (telling APT to install a specific package), a remove
+stanza (telling APT to remove one), or an autoremove stanza (telling APT
+about the *future* possibility of removing a package using the
+Autoremove action).
+
+An **install stanza** starts with an Install field and supports the
+following fields:
+
+- **Install:** (mandatory). The value is a package identifier,
+ referencing one of the package stanzas of the package universe via its
+ APT-ID field.
+
+- All fields supported by package stanzas.
+
+**Remove stanzas** are similar to install stanzas, but have **Remove**
+fields instead of Install fields.
+
+**Autoremove stanzas** are similar to install stanzas, but have
+**Autoremove** fields instead of Install fields. Autoremove stanzas
+should be output so that APT can inform the user of which packages they
+can now autoremove, as a consequence of the executed action. However,
+this protocol makes no assumption on the fact that a subsequent
+invocation of an Autoremove action will actually remove the very same
+packages indicated by Autoremove stanzas in the former solution.
+
+In terms of expressivity, install and remove stanzas can carry one
+single field each, as APT-IDs are enough to pinpoint packages to be
+installed/removed. Nonetheless, for protocol readability, it is
+recommended that solvers either add unconditionally the fields Package,
+Version, and Architecture to all install/remove stanzas or,
+alternatively, that they support a `--verbose` command line flag that
+explicitly enables the output of those fields in solutions.
+
+
+#### Error
+
+An error is a single Deb 822 stanza, starting the field Error. The
+following fields are supported in error stanzas:
+
+- **Error:** (mandatory). The value of this field is ignored, although
+ it should be a unique error identifier, such as a UUID.
+
+- **Message:** (mandatory). The value of this field is a text string,
+ meant to be read by humans, that explains the cause of the solver
+ error. Message fields might be multi-line, like the Description field
+ in the dpkg database. The first line conveys a short message, which
+ can be explained in more details using subsequent lines.
+
+
+### Progress
+
+During dependency solving, an external solver may send progress
+information to APT using **progress stanzas**. A progress stanza starts
+with the Progress field and might contain the following fields:
+
+- **Progress:** (mandatory). The value of this field is a date and time
+ timestamp, in RFC 2822 format. The timestamp provides a time
+ annotation for the progress report.
+
+- **Percentage:** (optional). An integer from 0 to 100, representing the
+ completion of the dependency solving process, as declared by the
+ solver.
+
+- **Message:** (optional). A textual message, meant to be read by the
+ APT user, telling what is going on within the dependency solving
+ (e.g. the current phase of dependency solving, as declared by the
+ solver).
+
+
+# Future extensions
+
+Potential future extensions to this protocol, listed in no specific
+order, include:
+
+- fixed error types to identify common failures across solvers and
+ enable APT to translate error messages
+- structured error data to explain failures in terms of packages and
+ dependencies
diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot
index 12a7515dd..364dce12f 100644
--- a/doc/po/apt-doc.pot
+++ b/doc/po/apt-doc.pot
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\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"
@@ -928,7 +928,7 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -967,7 +967,7 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 apt-sortpkgs.1.xml:61
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr ""
@@ -987,12 +987,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr ""
@@ -1067,7 +1067,7 @@ msgstr ""
#: apt-cache.8.xml:317
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: "
"<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></literal> "
"e.g. <literal>APT::Cache::ShowRecommends</literal>."
@@ -1091,7 +1091,7 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr ""
@@ -1187,12 +1187,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
+#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 apt.conf.5.xml:1093 apt_preferences.5.xml:697
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr ""
@@ -1202,7 +1202,7 @@ msgid "&file-sourceslist; &file-statelists;"
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 sources.list.5.xml:234
+#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 sources.list.5.xml:234
msgid "See Also"
msgstr ""
@@ -1212,7 +1212,7 @@ msgid "&apt-conf;, &sources-list;, &apt-get;"
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
+#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr ""
@@ -1311,12 +1311,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr ""
@@ -1519,7 +1519,7 @@ msgid "Just show the contents of the configuration space."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 apt-sortpkgs.1.xml:73
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 apt-sortpkgs.1.xml:73
msgid "&apt-conf;"
msgstr ""
@@ -2443,28 +2443,26 @@ msgid ""
"Configuration Items: "
"<literal>APT::FTPArchive::<replaceable>Checksum</replaceable></literal> and "
"<literal>APT::FTPArchive::<replaceable>Index</replaceable>::<replaceable>Checksum</replaceable></literal> "
-"where <literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or "
-"<literal>Release</literal> and "
-"<literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or "
-"<literal>SHA256</literal>."
+"where <literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, "
+"<literal>SHA1</literal> or <literal>SHA256</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -2473,12 +2471,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
"then this option actually enables delinking of the files. It defaults to on "
@@ -2487,12 +2485,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -2502,12 +2500,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
"command. Configuration Item: "
@@ -2515,24 +2513,24 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
msgid ""
"Make the caching databases read only. Configuration Item: "
"<literal>APT::FTPArchive::ReadOnlyDB</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
msgid "<option>--arch</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
msgid ""
"Accept in the <literal>packages</literal> and <literal>contents</literal> "
"commands only package files matching <literal>*_arch.deb</literal> or "
@@ -2541,12 +2539,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -2560,12 +2558,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -2575,12 +2573,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 sources.list.5.xml:198
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 sources.list.5.xml:198
msgid "Examples"
msgstr ""
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid ""
"<command>apt-ftparchive</command> packages "
@@ -2589,14 +2587,14 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -2924,7 +2922,7 @@ msgstr ""
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -3614,43 +3612,38 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
msgid "net-update"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch "
+"from. APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
msgid "--keyring <replaceable>filename</replaceable>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -3661,42 +3654,42 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
msgid "&apt-get;, &apt-secure;"
msgstr ""
@@ -4206,10 +4199,10 @@ msgstr ""
#: apt.conf.5.xml:52
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the "
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
"case it will be silently ignored."
msgstr ""
@@ -4917,7 +4910,7 @@ msgid ""
"Note that at run time the "
"<literal>Dir::Bin::<replaceable>Methodname</replaceable></literal> will be "
"checked: If this setting exists the method will only be used if this file "
-"exists, e.g. for the bzip2 method (the inbuilt) setting is: <placeholder "
+"exists, e.g. for the bzip2 method (the inbuilt) setting is <placeholder "
"type=\"literallayout\" id=\"0\"/> Note also that list entries specified on "
"the command line will be added at the end of the list specified in the "
"configuration files, but before the default entries. To prefer a type in "
@@ -4930,7 +4923,7 @@ msgstr ""
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
@@ -5872,8 +5865,8 @@ msgstr ""
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or "
-"\"<literal>pref</literal>\" as filename extension and only contain "
+"following naming convention: The files have no or "
+"\"<literal>pref</literal>\" as filename extension and which only contain "
"alphanumeric, hyphen (-), underscore (_) and period (.) characters. "
"Otherwise APT will print a notice that it has ignored a file if the file "
"doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</literal> "
@@ -6205,8 +6198,8 @@ msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a "
-"glob()-like expression) or contains the word kde (as a POSIX extended "
-"regular expression surrounded by slashes)."
+"glob()-like expression or contains the word kde (as a POSIX extended regular "
+"expression surrounded by slashes)."
msgstr ""
#. type: Content of: <refentry><refsect1><refsect2><programlisting>
@@ -6222,7 +6215,7 @@ msgstr ""
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
diff --git a/doc/po/de.po b/doc/po/de.po
index 006a3b5de..6261a470e 100644
--- a/doc/po/de.po
+++ b/doc/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 0.8.14-1\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\n"
"PO-Revision-Date: 2011-05-31 21:00+0100\n"
"Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@@ -1230,8 +1230,8 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
-msgstr "madison <replaceable>/[ Paket(e) ]</replaceable>"
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
+msgstr "madison <replaceable>[ Paket(e) ]</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-cache.8.xml:267
@@ -1282,7 +1282,7 @@ msgstr ""
"pkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393
#: apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr "<option>-s</option>"
@@ -1310,12 +1310,12 @@ msgstr ""
"srcpkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr "<option>-q</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr "<option>--quiet</option>"
@@ -1394,18 +1394,12 @@ msgstr "<option>--no-replaces</option>"
msgid "<option>--no-enhances</option>"
msgstr "<option>--no-enhances</option>"
+# FIXME s/twicked/tricked/
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-cache.8.xml:317
-#, fuzzy
-#| msgid ""
-#| "Per default the <literal>depends</literal> and <literal>rdepends</"
-#| "literal> print all dependencies. This can be twicked with these flags "
-#| "which will omit the specified dependency type. Configuration Item: "
-#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></"
-#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>."
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: <literal>APT::Cache::"
"Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::"
"Cache::ShowRecommends</literal>."
@@ -1436,7 +1430,7 @@ msgstr ""
"Konfigurationselement: <literal>APT::Cache::ShowFull</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr "<option>-a</option>"
@@ -1553,13 +1547,13 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101
-#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570
+#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570
#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr "&apt-commonoptions;"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144
#: apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr "Dateien"
@@ -1571,8 +1565,8 @@ msgstr "&file-sourceslist; &file-statelists;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106
-#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585
-#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185
+#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585
+#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185
#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704
#: sources.list.5.xml:234
msgid "See Also"
@@ -1585,7 +1579,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111
-#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591
+#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591
#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr "Diagnose"
@@ -1715,12 +1709,12 @@ msgstr ""
"<placeholder type=\"variablelist\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr "Optionen"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr "<option>-d</option>"
@@ -1974,7 +1968,7 @@ msgid "Just show the contents of the configuration space."
msgstr "Nur der Inhalt des Konfigurationsbereichs wird angezeigt."
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628
#: apt-sortpkgs.1.xml:73
msgid "&apt-conf;"
msgstr "&apt-conf;"
@@ -3139,6 +3133,7 @@ msgid ""
msgstr ""
"<option>--md5</option>, <option>--sha1</option>, <option>--sha256</option>"
+# FIXME <literal>Checksum</literal> im letzten Abschnitt <replaceable>?
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-ftparchive.1.xml:531
msgid ""
@@ -3147,30 +3142,29 @@ msgid ""
"Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</"
"replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</"
"replaceable>::<replaceable>Checksum</replaceable></literal> where "
-"<literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</"
-"literal> and <literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>."
+"<literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</"
+"literal> or <literal>SHA256</literal>."
msgstr ""
"erzeugt die vorgegebene Prüfsumme. Diese Optionen sind standardmäßig "
"aktiviert. Wenn sie deaktiviert sind, werden die erzeugten Indexdateien nach "
"Möglichkeit keine Prüfsummenfelder erhalten. Konfigurationselemente: "
"<literal>APT::FTPArchive::<replaceable>Prüfsumme</replaceable></literal> und "
"<literal>APT::FTPArchive::<replaceable>Index</replaceable>::"
-"<replaceable>Prüfsumme</replaceable></literal>, wobei "
-"<literal><replaceable>Index</replaceable></literal> <literal>Packages</"
-"literal>, <literal>Sources</literal> oder <literal>Release</literal> sein "
-"kann und <literal><replaceable>Prüfsumme</replaceable></literal> "
+"<replaceable>Prüfsumme</replaceable></literal>, wobei <literal>Index</"
+"literal> <literal>Packages</literal>, <literal>Sources</literal> oder "
+"<literal>Release</literal> sein kann und <literal>Checksum</literal> "
"<literal>MD5</literal>, <literal>SHA1</literal> oder <literal>SHA256</"
"literal> sein kann."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr "<option>--db</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
@@ -3180,7 +3174,7 @@ msgstr ""
"DB</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -3194,12 +3188,12 @@ msgstr ""
"Konfigurationselement: <literal>quiet</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr "<option>--delink</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
"then this option actually enables delinking of the files. It defaults to on "
@@ -3213,12 +3207,12 @@ msgstr ""
"DeLinkAct</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr "<option>--contents</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -3234,12 +3228,12 @@ msgstr ""
"Konfigurationselement: <literal>APT::FTPArchive::Contents</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr "<option>--source-override</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
"command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</"
@@ -3250,12 +3244,12 @@ msgstr ""
"SourceOverride</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr "<option>--readonly</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
msgid ""
"Make the caching databases read only. Configuration Item: <literal>APT::"
"FTPArchive::ReadOnlyDB</literal>."
@@ -3264,12 +3258,12 @@ msgstr ""
"<literal>APT::FTPArchive::ReadOnlyDB</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
msgid "<option>--arch</option>"
msgstr "<option>--arch</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
msgid ""
"Accept in the <literal>packages</literal> and <literal>contents</literal> "
"commands only package files matching <literal>*_arch.deb</literal> or "
@@ -3283,12 +3277,12 @@ msgstr ""
"Architecture</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr "<option>APT::FTPArchive::AlwaysStat</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -3312,12 +3306,12 @@ msgstr ""
"haben sollte und all diese zusätzlichen Prüfungen daher nutzlos sind."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr "<option>APT::FTPArchive::LongDescription</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -3333,19 +3327,19 @@ msgstr ""
"werden kann."
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544
#: sources.list.5.xml:198
msgid "Examples"
msgstr "Beispiele"
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
msgstr "<command>apt-ftparchive</command> Pakete <replaceable>Verzeichnis</replaceable> | <command>gzip</command> > <filename>Pakete.gz</filename>\n"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
@@ -3355,7 +3349,7 @@ msgstr ""
">"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -3827,11 +3821,12 @@ msgstr ""
msgid "download"
msgstr "download"
+# FIXME s/directoy/directory/
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
"<literal>download</literal> wird das angegebene Binärpaket in das aktuelle "
"Verzeichnis herunterladen."
@@ -4717,33 +4712,31 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
+"Den lokalen Schlüsselbund mit dem Schlüsselbund der Debian-Archivschlüssel "
+"aktualisieren und aus dem Schlüsselbund die Archivschlüssel entfernen, die "
+"nicht länger gültig sind."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
#, fuzzy
#| msgid "update"
msgid "net-update"
msgstr "update"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch from. "
+"APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
@@ -4752,12 +4745,12 @@ msgstr ""
"Befehlen definiert sein müssen."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
msgid "--keyring <replaceable>filename</replaceable>"
msgstr "--keyring <replaceable>Dateiname</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -4774,45 +4767,45 @@ msgstr ""
"Schlüssel werden zu diesem hinzugefügt."
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr "&file-trustedgpg;"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr "Lokale Datenbank vertrauenswürdiger Archivschlüssel."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr "Schlüsselbund vertrauenswürdiger Schlüssel des Debian-Archivs."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr ""
"Schlüsselbund entfernter vertrauenswürdiger Schlüssel des Debian-Archivs."
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
msgid "&apt-get;, &apt-secure;"
msgstr "&apt-get;, &apt-secure;"
@@ -5521,25 +5514,16 @@ msgstr ""
"die Datei, die durch die Umgebungsvariable <envar>APT_CONFIG</envar> "
"angegeben wird (falls gesetzt)"
+# FIXME s/no or/no/
#. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
#: apt.conf.5.xml:52
-#, fuzzy
-#| msgid ""
-#| "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-#| "order which have no or \"<literal>conf</literal>\" as filename extension "
-#| "and which only contain alphanumeric, hyphen (-), underscore (_) and "
-#| "period (.) characters. Otherwise APT will print a notice that it has "
-#| "ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-#| "Ignore-Files-Silently</literal> configuration list - in this case it will "
-#| "be silently ignored."
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-"Ignore-Files-Silently</literal> configuration list - in this case it will be "
-"silently ignored."
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</"
+"literal> configuration list - in this case it will be silently ignored."
msgstr ""
"alle Dateien in <literal>Dir::Etc::Parts</literal> in aufsteigender "
"alphanumerischer Reihenfolge, die kein »<literal>conf</literal>« als "
@@ -6577,27 +6561,16 @@ msgstr ""
msgid "Dir::Bin::bzip2 \"/bin/bzip2\";"
msgstr "Dir::Bin::bzip2 \"/bin/bzip2\";"
+# FIXME s/> Note/>. Note/
#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml:442
-#, fuzzy
-#| msgid ""
-#| "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
-#| "replaceable></literal> will be checked: If this setting exists the method "
-#| "will only be used if this file exists, e.g. for the bzip2 method (the "
-#| "inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note "
-#| "also that list entries specified on the command line will be added at the "
-#| "end of the list specified in the configuration files, but before the "
-#| "default entries. To prefer a type in this case over the ones specified in "
-#| "the configuration files you can set the option direct - not in list "
-#| "style. This will not override the defined list, it will only prefix the "
-#| "list with this type."
msgid ""
"Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
"replaceable></literal> will be checked: If this setting exists the method "
"will only be used if this file exists, e.g. for the bzip2 method (the "
-"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note "
-"also that list entries specified on the command line will be added at the "
-"end of the list specified in the configuration files, but before the default "
+"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also "
+"that list entries specified on the command line will be added at the end of "
+"the list specified in the configuration files, but before the default "
"entries. To prefer a type in this case over the ones specified in the "
"configuration files you can set the option direct - not in list style. This "
"will not override the defined list, it will only prefix the list with this "
@@ -6615,11 +6588,12 @@ msgstr ""
"nicht im Listenstil. Dies wird die definierte Liste nicht überschreiben, es "
"wird diesen Typ nur vor die Liste setzen."
+# FIXME: s/doesn't provide/don't provide/
#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
"Der besondere Typ <literal>uncompressed</literal> kann benutzt werden, um "
@@ -7904,21 +7878,11 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_preferences.5.xml:70
-#, fuzzy
-#| msgid ""
-#| "Note that the files in the <filename>/etc/apt/preferences.d</filename> "
-#| "directory are parsed in alphanumeric ascending order and need to obey the "
-#| "following naming convention: The files have no or \"<literal>pref</"
-#| "literal>\" as filename extension and which only contain alphanumeric, "
-#| "hyphen (-), underscore (_) and period (.) characters. Otherwise APT will "
-#| "print a notice that it has ignored a file if the file doesn't match a "
-#| "pattern in the <literal>Dir::Ignore-Files-Silently</literal> "
-#| "configuration list - in this case it will be silently ignored."
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or \"<literal>pref</"
-"literal>\" as filename extension and only contain alphanumeric, hyphen (-), "
+"following naming convention: The files have no or \"<literal>pref</literal>"
+"\" as filename extension and which only contain alphanumeric, hyphen (-), "
"underscore (_) and period (.) characters. Otherwise APT will print a notice "
"that it has ignored a file if the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
@@ -8387,13 +8351,14 @@ msgstr ""
msgid "Regular expressions and glob() syntax"
msgstr "Reguläre Ausdrücke und glob()-Syntax"
+# FIXME: s/expression or/expression) or/
#. type: Content of: <refentry><refsect1><refsect2><para>
#: apt_preferences.5.xml:264
msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a glob"
-"()-like expression) or contains the word kde (as a POSIX extended regular "
+"()-like expression or contains the word kde (as a POSIX extended regular "
"expression surrounded by slashes)."
msgstr ""
"APT unterstützt außerdem Pinning mittels glob()-Ausdrücken und regulären "
@@ -8415,11 +8380,12 @@ msgstr ""
"Pin: release n=experimental\n"
"Pin-Priority: 500\n"
+# FIXME: s/Those/Thus/
#. type: Content of: <refentry><refsect1><refsect2><para>
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
"Die Regel für diese Ausdrücke ist, dass sie überall dort auftreten können, "
@@ -11255,14 +11221,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/Platte/\" dist-upgrade"
msgid "Which will use the already fetched archives on the disc."
msgstr "Es wird die bereits auf die Platte heruntergeladenen Archive benutzen."
-#~ msgid ""
-#~ "Update the local keyring with the keyring of Debian archive keys and "
-#~ "removes from the keyring the archive keys which are no longer valid."
-#~ msgstr ""
-#~ "Den lokalen Schlüsselbund mit dem Schlüsselbund der Debian-"
-#~ "Archivschlüssel aktualisieren und aus dem Schlüsselbund die "
-#~ "Archivschlüssel entfernen, die nicht länger gültig sind."
-
#~ msgid "<option>--md5</option>"
#~ msgstr "<option>--md5</option>"
diff --git a/doc/po/es.po b/doc/po/es.po
index 62e6453cd..3a21eeecb 100644
--- a/doc/po/es.po
+++ b/doc/po/es.po
@@ -36,7 +36,7 @@
msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.25\n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\n"
"PO-Revision-Date: 2010-08-25 03:25+0200\n"
"Last-Translator: Omar Campagne <ocampagne@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -1303,7 +1303,7 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
msgstr "madison <replaceable>[ paquete(s) ]</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -1354,7 +1354,7 @@ msgstr ""
"configuración: <literal>Dir::Cache::pkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393
#: apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr "<option>-s</option>"
@@ -1380,12 +1380,12 @@ msgstr ""
"Opción de configuración: <literal>Dir::Cache::srcpkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr "<option>-q</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr "<option>--quiet</option>"
@@ -1466,16 +1466,9 @@ msgstr "<option>--no-enhances</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-cache.8.xml:317
-#, fuzzy
-#| msgid ""
-#| "Per default the <literal>depends</literal> and <literal>rdepends</"
-#| "literal> print all dependencies. This can be twicked with these flags "
-#| "which will omit the specified dependency type. Configuration Item: "
-#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></"
-#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>."
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: <literal>APT::Cache::"
"Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::"
"Cache::ShowRecommends</literal>."
@@ -1507,7 +1500,7 @@ msgstr ""
"Opción de configuración: <literal>APT::Cache::ShowFull</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr "<option>-a</option>"
@@ -1624,13 +1617,13 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101
-#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570
+#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570
#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr "&apt-commonoptions;"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144
#: apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr "Ficheros"
@@ -1642,8 +1635,8 @@ msgstr "&file-sourceslist; &file-statelists;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106
-#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585
-#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185
+#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585
+#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185
#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704
#: sources.list.5.xml:234
msgid "See Also"
@@ -1656,7 +1649,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111
-#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591
+#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591
#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr "Diagnósticos"
@@ -1786,12 +1779,12 @@ msgstr ""
"option>. <placeholder type=\"variablelist\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr "Opciones"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr "<option>-d</option>"
@@ -2048,7 +2041,7 @@ msgid "Just show the contents of the configuration space."
msgstr "Sólo muestra el contenido del espacio de configuración."
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628
#: apt-sortpkgs.1.xml:73
msgid "&apt-conf;"
msgstr "&apt-conf;"
@@ -3205,25 +3198,43 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-ftparchive.1.xml:531
+#, fuzzy
+#| msgid ""
+#| "Values for the additional metadata fields in the Release file are taken "
+#| "from the corresponding variables under <literal>APT::FTPArchive::Release</"
+#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The "
+#| "supported fields are: <literal>Origin</literal>, <literal>Label</"
+#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, "
+#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-"
+#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</"
+#| "literal>, <literal>Description</literal>."
msgid ""
"Generate the given checksum. These options default to on, when turned off "
"the generated index files will not have the checksum fields where possible. "
"Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</"
"replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</"
"replaceable>::<replaceable>Checksum</replaceable></literal> where "
-"<literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</"
-"literal> and <literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>."
+"<literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</"
+"literal> or <literal>SHA256</literal>."
msgstr ""
+"Los valores para los campos de metadatos adicionales en el fichero «Release» "
+"se toman de las variables correspondientes en <literal>APT::FTPArchive::"
+"Release</literal>, por ejemplo <literal>APT::FTPArchive::Release::Origin</"
+"literal>. Los campos permitidos son: <literal>Origin</literal>, "
+"<literal>Label</literal>, <literal>Suite</literal>, <literal>Version</"
+"literal>, <literal>Codename</literal>, <literal>Date</literal>, "
+"<literal>Valid-Until</literal>, <literal>Architectures</literal>, "
+"<literal>Components</literal> y <literal>Description</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr "<option>--db</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
@@ -3232,7 +3243,7 @@ msgstr ""
"«generate». Opción de configuración: <literal>APT::FTPArchive::DB</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -3246,12 +3257,12 @@ msgstr ""
"configuración. Opción de configuración: <literal>quiet</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr "<option>--delink</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
"then this option actually enables delinking of the files. It defaults to on "
@@ -3264,12 +3275,12 @@ msgstr ""
"Opción de configuración: <literal>APT::FTPArchive::DeLinkAct</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr "<option>--contents</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -3286,12 +3297,12 @@ msgstr ""
"Contents</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr "<option>--source-override</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
"command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</"
@@ -3302,12 +3313,12 @@ msgstr ""
"FTPArchive::SourceOverride</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr "<option>--readonly</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
msgid ""
"Make the caching databases read only. Configuration Item: <literal>APT::"
"FTPArchive::ReadOnlyDB</literal>."
@@ -3316,12 +3327,12 @@ msgstr ""
"Opción de configuración: <literal>APT::FTPArchive::ReadOnlyDB</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
msgid "<option>--arch</option>"
msgstr "<option>--arch</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
msgid ""
"Accept in the <literal>packages</literal> and <literal>contents</literal> "
"commands only package files matching <literal>*_arch.deb</literal> or "
@@ -3335,12 +3346,12 @@ msgstr ""
"FTPArchive::Architecture</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr "<option>APT::FTPArchive::AlwaysStat</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -3364,12 +3375,12 @@ msgstr ""
"comprobaciones adicionales son innecesarias."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr "<option>APT::FTPArchive::LongDescription</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -3385,19 +3396,19 @@ msgstr ""
"con la orden «generate»."
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544
#: sources.list.5.xml:198
msgid "Examples"
msgstr "Ejemplos"
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
msgstr "<command>apt-ftparchive</command> packages <replaceable>directorio</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
@@ -3406,7 +3417,7 @@ msgstr ""
"paquetes binarios («.deb»): <placeholder type=\"programlisting\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -3879,7 +3890,7 @@ msgstr ""
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -4754,33 +4765,30 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
+"Actualiza el registro de claves local con el registro de claves del archivo "
+"Debian, y elimina del registro las claves del archivo que ya no son válidas."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
#, fuzzy
#| msgid "update"
msgid "net-update"
msgstr "update"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch from. "
+"APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
@@ -4789,12 +4797,12 @@ msgstr ""
"descritas en el sección anterior."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
msgid "--keyring <replaceable>filename</replaceable>"
msgstr "--keyring <replaceable>nombre-de-fichero</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -4811,44 +4819,44 @@ msgstr ""
"esto es, por ejemplo, que las claves nuevas se añaden a este fichero."
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr "&file-trustedgpg;"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr "Base de datos local de las claves de confianza de archivos Debian"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr "Registro de las claves de confianza del archivo de Debian."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr "Registro de las claves de confianza eliminadas del archivo de Debian."
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
msgid "&apt-get;, &apt-secure;"
msgstr "&apt-get;, &apt-secure;"
@@ -5574,12 +5582,11 @@ msgstr ""
#| "period (.) characters - otherwise they will be silently ignored."
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-"Ignore-Files-Silently</literal> configuration list - in this case it will be "
-"silently ignored."
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</"
+"literal> configuration list - in this case it will be silently ignored."
msgstr ""
"Todos los ficheros en <literal>Dir::Etc::Parts</literal> en orden "
"alfanumérico ascendente que no tienen extensión o la extensión "
@@ -6608,9 +6615,9 @@ msgid ""
"Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
"replaceable></literal> will be checked: If this setting exists the method "
"will only be used if this file exists, e.g. for the bzip2 method (the "
-"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note "
-"also that list entries specified on the command line will be added at the "
-"end of the list specified in the configuration files, but before the default "
+"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also "
+"that list entries specified on the command line will be added at the end of "
+"the list specified in the configuration files, but before the default "
"entries. To prefer a type in this case over the ones specified in the "
"configuration files you can set the option direct - not in list style. This "
"will not override the defined list, it will only prefix the list with this "
@@ -6632,7 +6639,7 @@ msgstr ""
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
@@ -7925,8 +7932,8 @@ msgstr ""
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or \"<literal>pref</"
-"literal>\" as filename extension and only contain alphanumeric, hyphen (-), "
+"following naming convention: The files have no or \"<literal>pref</literal>"
+"\" as filename extension and which only contain alphanumeric, hyphen (-), "
"underscore (_) and period (.) characters. Otherwise APT will print a notice "
"that it has ignored a file if the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
@@ -8394,7 +8401,7 @@ msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a glob"
-"()-like expression) or contains the word kde (as a POSIX extended regular "
+"()-like expression or contains the word kde (as a POSIX extended regular "
"expression surrounded by slashes)."
msgstr ""
@@ -8418,7 +8425,7 @@ msgstr ""
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
@@ -11240,14 +11247,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade"
msgid "Which will use the already fetched archives on the disc."
msgstr "Ésto usará los archivos del disco previamente obtenidos."
-#~ msgid ""
-#~ "Update the local keyring with the keyring of Debian archive keys and "
-#~ "removes from the keyring the archive keys which are no longer valid."
-#~ msgstr ""
-#~ "Actualiza el registro de claves local con el registro de claves del "
-#~ "archivo Debian, y elimina del registro las claves del archivo que ya no "
-#~ "son válidas."
-
#~ msgid "<option>--md5</option>"
#~ msgstr "<option>--md5</option>"
diff --git a/doc/po/fr.po b/doc/po/fr.po
index c21d4bdab..e4a5e1694 100644
--- a/doc/po/fr.po
+++ b/doc/po/fr.po
@@ -9,7 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\n"
"PO-Revision-Date: 2011-02-17 07:50+0100\n"
"Last-Translator: Christian Perrier <bubulle@debian.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -1225,7 +1225,7 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
msgstr "madison <replaceable>[ paquet(s) ]</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -1277,7 +1277,7 @@ msgstr ""
"<literal>Dir::Cache::pkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393
#: apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr "<option>-s</option>"
@@ -1304,12 +1304,12 @@ msgstr ""
"<literal>Dir::Cache::srcpkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr "<option>-q</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr "<option>--quiet</option>"
@@ -1391,16 +1391,9 @@ msgstr "<option>--no-enhances</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-cache.8.xml:317
-#, fuzzy
-#| msgid ""
-#| "Per default the <literal>depends</literal> and <literal>rdepends</"
-#| "literal> print all dependencies. This can be twicked with these flags "
-#| "which will omit the specified dependency type. Configuration Item: "
-#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></"
-#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>."
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: <literal>APT::Cache::"
"Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::"
"Cache::ShowRecommends</literal>."
@@ -1432,7 +1425,7 @@ msgstr ""
"literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr "<option>-a</option>"
@@ -1552,13 +1545,13 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101
-#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570
+#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570
#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr "&apt-commonoptions;"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144
#: apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr "Fichiers"
@@ -1570,8 +1563,8 @@ msgstr "&file-sourceslist; &file-statelists;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106
-#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585
-#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185
+#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585
+#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185
#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704
#: sources.list.5.xml:234
msgid "See Also"
@@ -1584,7 +1577,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;."
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111
-#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591
+#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591
#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr "Diagnostics"
@@ -1714,12 +1707,12 @@ msgstr ""
"\"variablelist\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr "Options"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr "<option>-d</option>"
@@ -1976,7 +1969,7 @@ msgid "Just show the contents of the configuration space."
msgstr "Affiche seulement le contenu de l'espace de configuration."
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628
#: apt-sortpkgs.1.xml:73
msgid "&apt-conf;"
msgstr "&apt-conf;"
@@ -3133,25 +3126,43 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-ftparchive.1.xml:531
+#, fuzzy
+#| msgid ""
+#| "Values for the additional metadata fields in the Release file are taken "
+#| "from the corresponding variables under <literal>APT::FTPArchive::Release</"
+#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The "
+#| "supported fields are: <literal>Origin</literal>, <literal>Label</"
+#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, "
+#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-"
+#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</"
+#| "literal>, <literal>Description</literal>."
msgid ""
"Generate the given checksum. These options default to on, when turned off "
"the generated index files will not have the checksum fields where possible. "
"Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</"
"replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</"
"replaceable>::<replaceable>Checksum</replaceable></literal> where "
-"<literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</"
-"literal> and <literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>."
+"<literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</"
+"literal> or <literal>SHA256</literal>."
msgstr ""
+"La valeur des autres champs de métadonnées du fichier Release sont tirées de "
+"la valeur correspondante dans <literal>APT::FTPArchive::Release</literal>, "
+"p. ex. <literal>APT::FTPArchive::Release::Origin</literal>. Les champs "
+"reconnus sont : <literal>Origin</literal>, <literal>Label</literal>, "
+"<literal>Suite</literal>, <literal>Version</literal>, <literal>Codename</"
+"literal>, <literal>Date</literal>, <literal>Valid-Until</literal>, "
+"<literal>Architectures</literal>, <literal>Components</literal>, "
+"<literal>Description</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr "<option>--db</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
@@ -3161,7 +3172,7 @@ msgstr ""
"literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -3176,12 +3187,12 @@ msgstr ""
"configuration : <literal>quiet</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr "<option>--delink</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
"then this option actually enables delinking of the files. It defaults to on "
@@ -3195,12 +3206,12 @@ msgstr ""
"literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr "<option>--contents</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -3216,12 +3227,12 @@ msgstr ""
"de configuration : <literal>APT::FTPArchive::Contents</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr "<option>--source-override</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
"command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</"
@@ -3232,12 +3243,12 @@ msgstr ""
"FTPArchive::SourceOverride</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr "<option>--readonly</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
msgid ""
"Make the caching databases read only. Configuration Item: <literal>APT::"
"FTPArchive::ReadOnlyDB</literal>."
@@ -3246,12 +3257,12 @@ msgstr ""
"configuration : <literal>APT::FTPArchive::ReadOnlyDB</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
msgid "<option>--arch</option>"
msgstr "<option>--arch</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
msgid ""
"Accept in the <literal>packages</literal> and <literal>contents</literal> "
"commands only package files matching <literal>*_arch.deb</literal> or "
@@ -3265,12 +3276,12 @@ msgstr ""
"<literal>APT::FTPArchive::Architecture</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr "<option>APT::FTPArchive::AlwaysStat</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -3293,12 +3304,12 @@ msgstr ""
"survenir et l'ensemble de ces contrôles devient inutile."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr "<option>APT::FTPArchive::LongDescription</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -3314,19 +3325,19 @@ msgstr ""
"generate."
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544
#: sources.list.5.xml:198
msgid "Examples"
msgstr "Exemples"
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
msgstr "<command>apt-ftparchive</command> packages <replaceable>répertoire</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
@@ -3335,7 +3346,7 @@ msgstr ""
"des paquets binaires (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -3811,7 +3822,7 @@ msgstr "download"
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
"<literal>download</literal> télécharge le fichier binaire indiqué dans le "
"répertoire courant."
@@ -4692,33 +4703,30 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
+"Mettre à jour le trousseau de clés local avec le trousseau de clés de "
+"l'archive Debian et supprimer les clés qui y sont périmées."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
#, fuzzy
#| msgid "update"
msgid "net-update"
msgstr "update"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch from. "
+"APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
@@ -4727,12 +4735,12 @@ msgstr ""
"décrites dans la section suivante."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
msgid "--keyring <replaceable>filename</replaceable>"
msgstr "--keyring <replaceable>fichier</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -4749,44 +4757,44 @@ msgstr ""
"les nouvelles clés y seront ajoutées."
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr "&file-trustedgpg;"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr "Base de données locale de fiabilité des clés de l'archive."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr "Trousseau des clés fiables de l'archive Debian."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr "Trousseau des clés fiables supprimées de l'archive Debian."
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
msgid "&apt-get;, &apt-secure;"
msgstr "&apt-get;, &apt-secure;"
@@ -5489,23 +5497,13 @@ msgstr ""
#. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
#: apt.conf.5.xml:52
-#, fuzzy
-#| msgid ""
-#| "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-#| "order which have no or \"<literal>conf</literal>\" as filename extension "
-#| "and which only contain alphanumeric, hyphen (-), underscore (_) and "
-#| "period (.) characters. Otherwise APT will print a notice that it has "
-#| "ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-#| "Ignore-Files-Silently</literal> configuration list - in this case it will "
-#| "be silently ignored."
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-"Ignore-Files-Silently</literal> configuration list - in this case it will be "
-"silently ignored."
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</"
+"literal> configuration list - in this case it will be silently ignored."
msgstr ""
"tous les fichiers de <literal>Dir::Etc::Parts</literal> dans l'ordre "
"alphanumérique ascendant qui ont soit l'extension \"<literal>conf</literal>"
@@ -6541,25 +6539,13 @@ msgstr "Dir::Bin::bzip2 \"/bin/bzip2\";"
#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml:442
-#, fuzzy
-#| msgid ""
-#| "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
-#| "replaceable></literal> will be checked: If this setting exists the method "
-#| "will only be used if this file exists, e.g. for the bzip2 method (the "
-#| "inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note "
-#| "also that list entries specified on the command line will be added at the "
-#| "end of the list specified in the configuration files, but before the "
-#| "default entries. To prefer a type in this case over the ones specified in "
-#| "the configuration files you can set the option direct - not in list "
-#| "style. This will not override the defined list, it will only prefix the "
-#| "list with this type."
msgid ""
"Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
"replaceable></literal> will be checked: If this setting exists the method "
"will only be used if this file exists, e.g. for the bzip2 method (the "
-"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note "
-"also that list entries specified on the command line will be added at the "
-"end of the list specified in the configuration files, but before the default "
+"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also "
+"that list entries specified on the command line will be added at the end of "
+"the list specified in the configuration files, but before the default "
"entries. To prefer a type in this case over the ones specified in the "
"configuration files you can set the option direct - not in list style. This "
"will not override the defined list, it will only prefix the list with this "
@@ -6581,7 +6567,7 @@ msgstr ""
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
"Le type spécial <literal>uncompressed</literal> peut servir à donner la "
@@ -7869,21 +7855,11 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_preferences.5.xml:70
-#, fuzzy
-#| msgid ""
-#| "Note that the files in the <filename>/etc/apt/preferences.d</filename> "
-#| "directory are parsed in alphanumeric ascending order and need to obey the "
-#| "following naming convention: The files have no or \"<literal>pref</"
-#| "literal>\" as filename extension and which only contain alphanumeric, "
-#| "hyphen (-), underscore (_) and period (.) characters. Otherwise APT will "
-#| "print a notice that it has ignored a file if the file doesn't match a "
-#| "pattern in the <literal>Dir::Ignore-Files-Silently</literal> "
-#| "configuration list - in this case it will be silently ignored."
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or \"<literal>pref</"
-"literal>\" as filename extension and only contain alphanumeric, hyphen (-), "
+"following naming convention: The files have no or \"<literal>pref</literal>"
+"\" as filename extension and which only contain alphanumeric, hyphen (-), "
"underscore (_) and period (.) characters. Otherwise APT will print a notice "
"that it has ignored a file if the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
@@ -8349,7 +8325,7 @@ msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a glob"
-"()-like expression) or contains the word kde (as a POSIX extended regular "
+"()-like expression or contains the word kde (as a POSIX extended regular "
"expression surrounded by slashes)."
msgstr ""
@@ -8373,7 +8349,7 @@ msgstr ""
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
@@ -11209,13 +11185,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade"
msgid "Which will use the already fetched archives on the disc."
msgstr "Cette commande utilisera les fichiers récupérés sur le disque."
-#~ msgid ""
-#~ "Update the local keyring with the keyring of Debian archive keys and "
-#~ "removes from the keyring the archive keys which are no longer valid."
-#~ msgstr ""
-#~ "Mettre à jour le trousseau de clés local avec le trousseau de clés de "
-#~ "l'archive Debian et supprimer les clés qui y sont périmées."
-
#~ msgid "<option>--md5</option>"
#~ msgstr "<option>--md5</option>"
diff --git a/doc/po/it.po b/doc/po/it.po
index c3efc5da7..4571690e1 100644
--- a/doc/po/it.po
+++ b/doc/po/it.po
@@ -9,7 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\n"
"PO-Revision-Date: 2003-04-26 23:26+0100\n"
"Last-Translator: Traduzione di Eugenia Franzoni <eugenia@linuxcare.com>\n"
"Language-Team: <debian-l10n-italian@lists.debian.org>\n"
@@ -893,7 +893,7 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -934,7 +934,7 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393
#: apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr ""
@@ -955,12 +955,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr ""
@@ -1035,7 +1035,7 @@ msgstr ""
#: apt-cache.8.xml:317
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: <literal>APT::Cache::"
"Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::"
"Cache::ShowRecommends</literal>."
@@ -1059,7 +1059,7 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr ""
@@ -1155,13 +1155,13 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101
-#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570
+#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570
#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144
#: apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr ""
@@ -1173,8 +1173,8 @@ msgstr ""
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106
-#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585
-#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185
+#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585
+#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185
#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704
#: sources.list.5.xml:234
msgid "See Also"
@@ -1187,7 +1187,7 @@ msgstr ""
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111
-#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591
+#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591
#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr ""
@@ -1287,12 +1287,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr ""
@@ -1496,7 +1496,7 @@ msgid "Just show the contents of the configuration space."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628
#: apt-sortpkgs.1.xml:73
msgid "&apt-conf;"
msgstr ""
@@ -2419,26 +2419,26 @@ msgid ""
"Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</"
"replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</"
"replaceable>::<replaceable>Checksum</replaceable></literal> where "
-"<literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</"
-"literal> and <literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>."
+"<literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</"
+"literal> or <literal>SHA256</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -2447,12 +2447,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
"then this option actually enables delinking of the files. It defaults to on "
@@ -2461,12 +2461,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -2476,12 +2476,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
"command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</"
@@ -2489,24 +2489,24 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
msgid ""
"Make the caching databases read only. Configuration Item: <literal>APT::"
"FTPArchive::ReadOnlyDB</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
msgid "<option>--arch</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
msgid ""
"Accept in the <literal>packages</literal> and <literal>contents</literal> "
"commands only package files matching <literal>*_arch.deb</literal> or "
@@ -2515,12 +2515,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -2534,12 +2534,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -2549,26 +2549,26 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544
#: sources.list.5.xml:198
msgid "Examples"
msgstr ""
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -2897,7 +2897,7 @@ msgstr ""
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -3582,44 +3582,39 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
#, fuzzy
msgid "net-update"
msgstr "upgrade"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch from. "
+"APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
msgid "--keyring <replaceable>filename</replaceable>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -3630,43 +3625,43 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
msgid "&apt-get;, &apt-secure;"
msgstr ""
@@ -4179,12 +4174,11 @@ msgstr ""
#: apt.conf.5.xml:52
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-"Ignore-Files-Silently</literal> configuration list - in this case it will be "
-"silently ignored."
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</"
+"literal> configuration list - in this case it will be silently ignored."
msgstr ""
#. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
@@ -4882,9 +4876,9 @@ msgid ""
"Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
"replaceable></literal> will be checked: If this setting exists the method "
"will only be used if this file exists, e.g. for the bzip2 method (the "
-"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note "
-"also that list entries specified on the command line will be added at the "
-"end of the list specified in the configuration files, but before the default "
+"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also "
+"that list entries specified on the command line will be added at the end of "
+"the list specified in the configuration files, but before the default "
"entries. To prefer a type in this case over the ones specified in the "
"configuration files you can set the option direct - not in list style. This "
"will not override the defined list, it will only prefix the list with this "
@@ -4895,7 +4889,7 @@ msgstr ""
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
@@ -5836,8 +5830,8 @@ msgstr ""
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or \"<literal>pref</"
-"literal>\" as filename extension and only contain alphanumeric, hyphen (-), "
+"following naming convention: The files have no or \"<literal>pref</literal>"
+"\" as filename extension and which only contain alphanumeric, hyphen (-), "
"underscore (_) and period (.) characters. Otherwise APT will print a notice "
"that it has ignored a file if the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
@@ -6165,7 +6159,7 @@ msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a glob"
-"()-like expression) or contains the word kde (as a POSIX extended regular "
+"()-like expression or contains the word kde (as a POSIX extended regular "
"expression surrounded by slashes)."
msgstr ""
@@ -6182,7 +6176,7 @@ msgstr ""
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
diff --git a/doc/po/ja.po b/doc/po/ja.po
index 150c97219..607d7e64d 100644
--- a/doc/po/ja.po
+++ b/doc/po/ja.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.25.3\n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\n"
"PO-Revision-Date: 2010-09-07 07:38+0900\n"
"Last-Translator: KURASAWA Nozomu <nabetaro@caldron.jp>\n"
"Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
@@ -1304,8 +1304,8 @@ msgstr ""
# type: Content of: <refentry><refsect1><refsect2><para><programlisting>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
-msgstr "madison <replaceable>/[ pkg(s) ]</replaceable>"
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
+msgstr "madison <replaceable>[ pkg(s) ]</replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -1357,7 +1357,7 @@ msgstr ""
"pkgcache</literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393
#: apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr "<option>-s</option>"
@@ -1384,12 +1384,12 @@ msgstr ""
"<literal>Dir::Cache::srcpkgcache</literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr "<option>-q</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr "<option>--quiet</option>"
@@ -1475,7 +1475,7 @@ msgstr "<option>--no-enhances</option>"
#, fuzzy
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: <literal>APT::Cache::"
"Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::"
"Cache::ShowRecommends</literal>."
@@ -1505,7 +1505,7 @@ msgstr ""
"ShowFull</literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr "<option>-a</option>"
@@ -1627,14 +1627,14 @@ msgstr ""
# type: Content of: <refentry><refsect1><para>
#. type: Content of: <refentry><refsect1><variablelist>
#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101
-#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570
+#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570
#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr "&apt-commonoptions;"
# type: Content of: <refentry><refsect1><title>
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144
#: apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr "ファイル"
@@ -1647,8 +1647,8 @@ msgstr "&file-sourceslist; &file-statelists;"
# type: Content of: <refentry><refsect1><title>
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106
-#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585
-#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185
+#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585
+#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185
#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704
#: sources.list.5.xml:234
msgid "See Also"
@@ -1663,7 +1663,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;"
# type: Content of: <refentry><refsect1><title>
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111
-#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591
+#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591
#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr "診断メッセージ"
@@ -1800,12 +1800,12 @@ msgstr ""
# type: Content of: <refentry><refsect1><title>
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr "オプション"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr "<option>-d</option>"
@@ -2075,7 +2075,7 @@ msgstr "設定箇所ã®å†…容を表示ã™ã‚‹ã ã‘ã§ã™ã€‚"
# type: Content of: <refentry><refsect1><para>
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628
#: apt-sortpkgs.1.xml:73
msgid "&apt-conf;"
msgstr "&apt-conf;"
@@ -3292,26 +3292,43 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-ftparchive.1.xml:531
+#, fuzzy
+#| msgid ""
+#| "Values for the additional metadata fields in the Release file are taken "
+#| "from the corresponding variables under <literal>APT::FTPArchive::Release</"
+#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The "
+#| "supported fields are: <literal>Origin</literal>, <literal>Label</"
+#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, "
+#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-"
+#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</"
+#| "literal>, <literal>Description</literal>."
msgid ""
"Generate the given checksum. These options default to on, when turned off "
"the generated index files will not have the checksum fields where possible. "
"Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</"
"replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</"
"replaceable>::<replaceable>Checksum</replaceable></literal> where "
-"<literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</"
-"literal> and <literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>."
+"<literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</"
+"literal> or <literal>SHA256</literal>."
msgstr ""
+"Release ファイルã®è¿½åŠ ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å€¤ã¯ã€<literal>APT::FTPArchive::"
+"Release</literal> 以下ã®ç›¸å½“ã™ã‚‹å€¤ (例: <literal>APT::FTPArchive::Release::"
+"Origin</literal>) ã‚’ã¨ã‚Šã¾ã™ã€‚サãƒãƒ¼ãƒˆã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯ã€<literal>Origin</"
+"literal>, <literal>Label</literal>, <literal>Suite</literal>, "
+"<literal>Version</literal>, <literal>Codename</literal>, <literal>Date</"
+"literal>, <literal>Valid-Until</literal>, <literal>Architectures</literal>, "
+"<literal>Components</literal>, <literal>Description</literal> ã§ã™ã€‚"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr "<option>--db</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
@@ -3321,7 +3338,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -3334,13 +3351,13 @@ msgstr ""
"<literal>quiet</literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr "<option>--delink</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
"then this option actually enables delinking of the files. It defaults to on "
@@ -3353,13 +3370,13 @@ msgstr ""
"<literal>APT::FTPArchive::DeLinkAct</literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr "<option>--contents</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -3374,13 +3391,13 @@ msgstr ""
"<literal>APT::FTPArchive::Contents</literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr "<option>--source-override</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
"command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</"
@@ -3390,13 +3407,13 @@ msgstr ""
"é¸æŠžã—ã¾ã™ã€‚設定項目 - <literal>APT::FTPArchive::SourceOverride</literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr "<option>--readonly</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
msgid ""
"Make the caching databases read only. Configuration Item: <literal>APT::"
"FTPArchive::ReadOnlyDB</literal>."
@@ -3405,13 +3422,13 @@ msgstr ""
"FTPArchive::ReadOnlyDB</literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
msgid "<option>--arch</option>"
msgstr "<option>--arch</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
#, fuzzy
msgid ""
"Accept in the <literal>packages</literal> and <literal>contents</literal> "
@@ -3425,12 +3442,12 @@ msgstr ""
"literal>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr "<option>--version</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -3444,12 +3461,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr "<option>APT::FTPArchive::LongDescription</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
#, fuzzy
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
@@ -3465,14 +3482,14 @@ msgstr ""
# type: Content of: <refentry><refsect1><title>
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544
#: sources.list.5.xml:198
msgid "Examples"
msgstr "サンプル"
# type: Content of: <refentry><refsect1><para><programlisting>
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
msgstr ""
@@ -3481,7 +3498,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><para>
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
@@ -3491,7 +3508,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><para>
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -3967,7 +3984,7 @@ msgstr ""
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -4857,36 +4874,34 @@ msgstr ""
"gpg ã«ä¸Šç´šã‚ªãƒ—ションを渡ã—ã¾ã™ã€‚adv --recv-key ã¨ã™ã‚‹ã¨ã€å…¬é–‹éµã‚’ダウンロード"
"ã§ãã¾ã™ã€‚"
+# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
+"Debian アーカイブキーã§ã€ãƒ­ãƒ¼ã‚«ãƒ«ã‚­ãƒ¼ãƒªãƒ³ã‚°ã‚’æ›´æ–°ã—ã€ã‚‚ã†æœ‰åŠ¹ã§ãªã„キーをキー"
+"リングã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã€‚"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
#, fuzzy
#| msgid "update"
msgid "net-update"
msgstr "update"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch from. "
+"APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
@@ -4896,12 +4911,12 @@ msgstr ""
# type: Content of: <refentry><refsect1><refsect2><para><programlisting>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
msgid "--keyring <replaceable>filename</replaceable>"
msgstr "--keyring <replaceable>filename</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -4917,35 +4932,35 @@ msgstr ""
"加ã•ã‚Œã¾ã™ã€‚"
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr "&file-trustedgpg;"
# type: Content of: <refentry><refsect1><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr "アーカイブキーã®ãƒ­ãƒ¼ã‚«ãƒ«ä¿¡é ¼ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§ã™ã€‚"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr "Debian アーカイブ信頼キーã®ã‚­ãƒ¼ãƒªãƒ³ã‚°ã§ã™ã€‚"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
@@ -4953,13 +4968,13 @@ msgstr ""
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr "削除ã•ã‚ŒãŸ Debian アーカイブ信頼キーã®ã‚­ãƒ¼ãƒªãƒ³ã‚°ã§ã™ã€‚"
# type: Content of: <refentry><refsect1><para>
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
msgid "&apt-get;, &apt-secure;"
msgstr "&apt-get;, &apt-secure;"
@@ -5715,12 +5730,11 @@ msgstr "<envar>APT_CONFIG</envar> 環境変数ã§æŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ« (å­˜åœ
#| "period (.) characters - otherwise they will be silently ignored."
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-"Ignore-Files-Silently</literal> configuration list - in this case it will be "
-"silently ignored."
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</"
+"literal> configuration list - in this case it will be silently ignored."
msgstr ""
"<literal>Dir::Etc::Parts</literal> ã«ã‚ã‚‹ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’英数字ã®æ˜‡é †ã«ã€‚"
"ファイルåã«ã¯æ‹¡å¼µå­ãŒãªã„ã‹ã€\"<literal>conf</literal>\" ã¨ãªã£ã¦ãŠã‚Šã€è‹±æ•°"
@@ -6715,9 +6729,9 @@ msgid ""
"Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
"replaceable></literal> will be checked: If this setting exists the method "
"will only be used if this file exists, e.g. for the bzip2 method (the "
-"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note "
-"also that list entries specified on the command line will be added at the "
-"end of the list specified in the configuration files, but before the default "
+"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also "
+"that list entries specified on the command line will be added at the end of "
+"the list specified in the configuration files, but before the default "
"entries. To prefer a type in this case over the ones specified in the "
"configuration files you can set the option direct - not in list style. This "
"will not override the defined list, it will only prefix the list with this "
@@ -6737,7 +6751,7 @@ msgstr ""
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
@@ -7873,8 +7887,8 @@ msgstr ""
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or \"<literal>pref</"
-"literal>\" as filename extension and only contain alphanumeric, hyphen (-), "
+"following naming convention: The files have no or \"<literal>pref</literal>"
+"\" as filename extension and which only contain alphanumeric, hyphen (-), "
"underscore (_) and period (.) characters. Otherwise APT will print a notice "
"that it has ignored a file if the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
@@ -8339,7 +8353,7 @@ msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a glob"
-"()-like expression) or contains the word kde (as a POSIX extended regular "
+"()-like expression or contains the word kde (as a POSIX extended regular "
"expression surrounded by slashes)."
msgstr ""
@@ -8365,7 +8379,7 @@ msgstr ""
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
@@ -10910,14 +10924,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade"
msgid "Which will use the already fetched archives on the disc."
msgstr "ã“ã‚Œã§ã€disc ã«ã‚ã‚‹å–得済ã¿ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を使用ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚"
-# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#~ msgid ""
-#~ "Update the local keyring with the keyring of Debian archive keys and "
-#~ "removes from the keyring the archive keys which are no longer valid."
-#~ msgstr ""
-#~ "Debian アーカイブキーã§ã€ãƒ­ãƒ¼ã‚«ãƒ«ã‚­ãƒ¼ãƒªãƒ³ã‚°ã‚’æ›´æ–°ã—ã€ã‚‚ã†æœ‰åŠ¹ã§ãªã„キーを"
-#~ "キーリングã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã€‚"
-
#~ msgid "<option>--md5</option>"
#~ msgstr "<option>--md5</option>"
diff --git a/doc/po/pl.po b/doc/po/pl.po
index bc593af8b..0721cbf13 100644
--- a/doc/po/pl.po
+++ b/doc/po/pl.po
@@ -10,7 +10,7 @@
msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.25.3\n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\n"
"PO-Revision-Date: 2010-03-18 22:00+0100\n"
"Last-Translator: Robert Luberda <robert@debian.org>\n"
"Language-Team: <debian-l10n-polish@lists.debian.org>\n"
@@ -1311,8 +1311,8 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
-msgstr "madison <replaceable>/[ pakiet(y) ]</replaceable>"
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
+msgstr "madison <replaceable>[ pakiet(y) ]</replaceable>"
#
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -1363,7 +1363,7 @@ msgstr ""
"<literal>Dir::Cache::pkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393
#: apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr "<option>-s</option>"
@@ -1391,12 +1391,12 @@ msgstr ""
"Cache::srcpkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr "<option>-q</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr "<option>--quiet</option>"
@@ -1503,7 +1503,7 @@ msgstr "<option>--no-act</option>"
#| "<literal>APT::Cache::RecurseDepends</literal>."
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: <literal>APT::Cache::"
"Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::"
"Cache::ShowRecommends</literal>."
@@ -1534,7 +1534,7 @@ msgstr ""
"konfiguracyjnym: <literal>APT::Cache::ShowFull</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr "<option>-a</option>"
@@ -1660,13 +1660,13 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101
-#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570
+#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570
#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr "&apt-commonoptions;"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144
#: apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr "Pliki"
@@ -1678,8 +1678,8 @@ msgstr "&file-sourceslist; &file-statelists;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106
-#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585
-#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185
+#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585
+#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185
#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704
#: sources.list.5.xml:234
msgid "See Also"
@@ -1693,7 +1693,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111
-#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591
+#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591
#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr "Diagnostyka"
@@ -1837,12 +1837,12 @@ msgstr ""
"\"variablelist\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr "Opcje"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr "<option>-d</option>"
@@ -2105,7 +2105,7 @@ msgid "Just show the contents of the configuration space."
msgstr "Wyświetla zawartość przestrzeni konfiguracji."
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628
#: apt-sortpkgs.1.xml:73
msgid "&apt-conf;"
msgstr "&apt-conf;"
@@ -3106,20 +3106,20 @@ msgid ""
"Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</"
"replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</"
"replaceable>::<replaceable>Checksum</replaceable></literal> where "
-"<literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</"
-"literal> and <literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>."
+"<literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</"
+"literal> or <literal>SHA256</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr "<option>--db</option>"
#
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
#, fuzzy
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
@@ -3130,7 +3130,7 @@ msgstr ""
#
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -3144,13 +3144,13 @@ msgstr ""
"pliku konfiguracyjnym: <literal>quiet</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr "<option>--delink</option>"
#
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
#, fuzzy
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
@@ -3164,12 +3164,12 @@ msgstr ""
"<literal>APT::Cache::Generate</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr "<option>--contents</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -3179,13 +3179,13 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr "<option>--source-override</option>"
#
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
#, fuzzy
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
@@ -3197,13 +3197,13 @@ msgstr ""
"konfiguracyjnym: <literal>APT::Cache::Installed</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr "<option>--readonly</option>"
#
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
#, fuzzy
msgid ""
"Make the caching databases read only. Configuration Item: <literal>APT::"
@@ -3213,14 +3213,14 @@ msgstr ""
"pliku konfiguracyjnym: <literal>APT::Cache::NamesOnly</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
#, fuzzy
#| msgid "<option>-a</option>"
msgid "<option>--arch</option>"
msgstr "<option>-a</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
#, fuzzy
#| msgid ""
#| "If the command is either <literal>install</literal> or <literal>remove</"
@@ -3240,13 +3240,13 @@ msgstr ""
"AutomaticRemove</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
#, fuzzy
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr "<option>--version</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -3260,13 +3260,13 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
#, fuzzy
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr "<option>--version</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -3276,19 +3276,19 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544
#: sources.list.5.xml:198
msgid "Examples"
msgstr "Przykłady"
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
msgstr "<command>apt-ftparchive</command> packages <replaceable>katalog</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
@@ -3296,7 +3296,7 @@ msgstr ""
#
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -3833,7 +3833,7 @@ msgstr ""
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
#
@@ -4747,33 +4747,30 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
+"Aktualizuje lokalną składnicę kluczy używając składnicy kluczy archiwum "
+"Debiana i usuwa z lokalnej składnicy nieaktualne już klucze archiwów Debiana."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
#, fuzzy
#| msgid "update"
msgid "net-update"
msgstr "update"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch from. "
+"APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
@@ -4782,12 +4779,12 @@ msgstr ""
"opisanymi w poprzednim rozdziale."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
msgid "--keyring <replaceable>filename</replaceable>"
msgstr "--keyring <replaceable>nazwa_pliku</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -4803,44 +4800,44 @@ msgstr ""
"kluczy, co oznacza na przykład to, że nowe klucze będą dodawane właśnie tam."
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr "&file-trustedgpg;"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr "Lokalna składnica zaufanych kluczy archiwum."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr "Składnica zaufanych kluczy archiwum Debiana."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr "Składnica usuniętych zaufanych kluczy archiwum Debiana."
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
msgid "&apt-get;, &apt-secure;"
msgstr "&apt-get;, &apt-secure;"
@@ -5459,29 +5456,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
#: apt.conf.5.xml:52
-#, fuzzy
-#| msgid ""
-#| "The <filename>/etc/apt/sources.list.d</filename> directory provides a way "
-#| "to add sources.list entries in separate files. The format is the same as "
-#| "for the regular <filename>sources.list</filename> file. File names need "
-#| "to end with <filename>.list</filename> and may only contain letters (a-z "
-#| "and A-Z), digits (0-9), underscore (_), hyphen (-) and period (.) "
-#| "characters. Otherwise they will be silently ignored."
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-"Ignore-Files-Silently</literal> configuration list - in this case it will be "
-"silently ignored."
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</"
+"literal> configuration list - in this case it will be silently ignored."
msgstr ""
-"Katalog <filename>/etc/apt/sources.list.d</filename> umożliwia podzielenie "
-"pliku źródeł na osobne pliki. Format jest dokładnie taki sam, jak w "
-"przypadku zwykłego pliku <filename>sources.list</filename>. Nazwy plików w "
-"tym katalogu muszą się kończyć rozszerzeniem <filename>.list</filename> i "
-"mogą składać się tylko z liter (a-z i A-Z), cyfr (0-9), znaku podkreślenia "
-"(_), pauzy (-) i kropki (.). Inne pliki zostanÄ… zignorowane."
#. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
#: apt.conf.5.xml:59
@@ -6186,9 +6168,9 @@ msgid ""
"Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
"replaceable></literal> will be checked: If this setting exists the method "
"will only be used if this file exists, e.g. for the bzip2 method (the "
-"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note "
-"also that list entries specified on the command line will be added at the "
-"end of the list specified in the configuration files, but before the default "
+"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also "
+"that list entries specified on the command line will be added at the end of "
+"the list specified in the configuration files, but before the default "
"entries. To prefer a type in this case over the ones specified in the "
"configuration files you can set the option direct - not in list style. This "
"will not override the defined list, it will only prefix the list with this "
@@ -6199,7 +6181,7 @@ msgstr ""
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
@@ -7155,30 +7137,16 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_preferences.5.xml:70
-#, fuzzy
-#| msgid ""
-#| "The <filename>/etc/apt/sources.list.d</filename> directory provides a way "
-#| "to add sources.list entries in separate files. The format is the same as "
-#| "for the regular <filename>sources.list</filename> file. File names need "
-#| "to end with <filename>.list</filename> and may only contain letters (a-z "
-#| "and A-Z), digits (0-9), underscore (_), hyphen (-) and period (.) "
-#| "characters. Otherwise they will be silently ignored."
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or \"<literal>pref</"
-"literal>\" as filename extension and only contain alphanumeric, hyphen (-), "
+"following naming convention: The files have no or \"<literal>pref</literal>"
+"\" as filename extension and which only contain alphanumeric, hyphen (-), "
"underscore (_) and period (.) characters. Otherwise APT will print a notice "
"that it has ignored a file if the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
"case it will be silently ignored."
msgstr ""
-"Katalog <filename>/etc/apt/sources.list.d</filename> umożliwia podzielenie "
-"pliku źródeł na osobne pliki. Format jest dokładnie taki sam, jak w "
-"przypadku zwykłego pliku <filename>sources.list</filename>. Nazwy plików w "
-"tym katalogu muszą się kończyć rozszerzeniem <filename>.list</filename> i "
-"mogą składać się tylko z liter (a-z i A-Z), cyfr (0-9), znaku podkreślenia "
-"(_), pauzy (-) i kropki (.). Inne pliki zostanÄ… zignorowane."
#. type: Content of: <refentry><refsect1><refsect2><title>
#: apt_preferences.5.xml:79
@@ -7529,7 +7497,7 @@ msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a glob"
-"()-like expression) or contains the word kde (as a POSIX extended regular "
+"()-like expression or contains the word kde (as a POSIX extended regular "
"expression surrounded by slashes)."
msgstr ""
@@ -7553,7 +7521,7 @@ msgstr ""
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
@@ -10249,14 +10217,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade"
msgid "Which will use the already fetched archives on the disc."
msgstr "Które użyje pobranych uprzednio archiwów z dysku."
-#~ msgid ""
-#~ "Update the local keyring with the keyring of Debian archive keys and "
-#~ "removes from the keyring the archive keys which are no longer valid."
-#~ msgstr ""
-#~ "Aktualizuje lokalną składnicę kluczy używając składnicy kluczy archiwum "
-#~ "Debiana i usuwa z lokalnej składnicy nieaktualne już klucze archiwów "
-#~ "Debiana."
-
#~ msgid "<option>--md5</option>"
#~ msgstr "<option>--md5</option>"
diff --git a/doc/po/pt.po b/doc/po/pt.po
index fae1ffab6..863f3dd8b 100644
--- a/doc/po/pt.po
+++ b/doc/po/pt.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.0~pre1\n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\n"
"PO-Revision-Date: 2010-08-25 23:07+0100\n"
"Last-Translator: Américo Monteiro <a_monteiro@netcabo.pt>\n"
"Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -1255,8 +1255,8 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
-msgstr "madison <replaceable>/[ pacote(s) ]</replaceable>"
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
+msgstr "madison <replaceable>[ pacote(s) ]</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-cache.8.xml:267
@@ -1306,7 +1306,7 @@ msgstr ""
"<literal>Dir::Cache::pkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393
#: apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr "<option>-s</option>"
@@ -1332,12 +1332,12 @@ msgstr ""
"pacote. Item de Configuração: <literal>Dir::Cache::srcpkgcache</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr "<option>-q</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr "<option>--quiet</option>"
@@ -1418,16 +1418,9 @@ msgstr "<option>--no-enhances</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-cache.8.xml:317
-#, fuzzy
-#| msgid ""
-#| "Per default the <literal>depends</literal> and <literal>rdepends</"
-#| "literal> print all dependencies. This can be twicked with these flags "
-#| "which will omit the specified dependency type. Configuration Item: "
-#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></"
-#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>."
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: <literal>APT::Cache::"
"Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::"
"Cache::ShowRecommends</literal>."
@@ -1458,7 +1451,7 @@ msgstr ""
"<literal>APT::Cache::ShowFull</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr "<option>-a</option>"
@@ -1575,13 +1568,13 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101
-#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570
+#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570
#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr "&apt-commonoptions;"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144
#: apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr "Ficheiros"
@@ -1593,8 +1586,8 @@ msgstr "&file-sourceslist; &file-statelists;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106
-#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585
-#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185
+#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585
+#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185
#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704
#: sources.list.5.xml:234
msgid "See Also"
@@ -1607,7 +1600,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;"
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111
-#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591
+#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591
#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr "Diagnóstico"
@@ -1737,12 +1730,12 @@ msgstr ""
"\"variablelist\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr "Opções"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr "<option>-d</option>"
@@ -1995,7 +1988,7 @@ msgid "Just show the contents of the configuration space."
msgstr "Apenas mostra o conteúdo do espaço de configuração."
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628
#: apt-sortpkgs.1.xml:73
msgid "&apt-conf;"
msgstr "&apt-conf;"
@@ -3144,25 +3137,43 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-ftparchive.1.xml:531
+#, fuzzy
+#| msgid ""
+#| "Values for the additional metadata fields in the Release file are taken "
+#| "from the corresponding variables under <literal>APT::FTPArchive::Release</"
+#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The "
+#| "supported fields are: <literal>Origin</literal>, <literal>Label</"
+#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, "
+#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-"
+#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</"
+#| "literal>, <literal>Description</literal>."
msgid ""
"Generate the given checksum. These options default to on, when turned off "
"the generated index files will not have the checksum fields where possible. "
"Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</"
"replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</"
"replaceable>::<replaceable>Checksum</replaceable></literal> where "
-"<literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</"
-"literal> and <literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>."
+"<literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</"
+"literal> or <literal>SHA256</literal>."
msgstr ""
+"Valores para os campos de metadados adicionais no ficheiro Release são "
+"tomados a partir das variáveis correspondentes sob <literal>APT::FTPArchive::"
+"Release</literal>, ex. <literal>APT::FTPArchive::Release::Origin</literal>. "
+"Os campos suportados são: <literal>Origin</literal>, <literal>Label</"
+"literal>, <literal>Suite</literal>, <literal>Version</literal>, "
+"<literal>Codename</literal>, <literal>Date</literal>, "
+"<literal>Architectures</literal>, <literal>Components</literal>, "
+"<literal>Description</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr "<option>--db</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
@@ -3171,7 +3182,7 @@ msgstr ""
"generate. Item de configuração: <literal>APT::FTPArchive::DB</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -3185,12 +3196,12 @@ msgstr ""
"<literal>quiet</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr "<option>--delink</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
"then this option actually enables delinking of the files. It defaults to on "
@@ -3203,12 +3214,12 @@ msgstr ""
"option>. Item de Configuração: <literal>APT::FTPArchive::DeLinkAct</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr "<option>--contents</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -3224,12 +3235,12 @@ msgstr ""
"de Configuração: <literal>APT::FTPArchive::Contents</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr "<option>--source-override</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
"command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</"
@@ -3240,12 +3251,12 @@ msgstr ""
"SourceOverride</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr "<option>--readonly</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
msgid ""
"Make the caching databases read only. Configuration Item: <literal>APT::"
"FTPArchive::ReadOnlyDB</literal>."
@@ -3254,12 +3265,12 @@ msgstr ""
"<literal>APT::FTPArchive::ReadOnlyDB</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
msgid "<option>--arch</option>"
msgstr "<option>--arch</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
msgid ""
"Accept in the <literal>packages</literal> and <literal>contents</literal> "
"commands only package files matching <literal>*_arch.deb</literal> or "
@@ -3273,12 +3284,12 @@ msgstr ""
"FTPArchive::Architecture</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr "<option>APT::FTPArchive::AlwaysStat</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -3302,12 +3313,12 @@ msgstr ""
"as verificações extras serão desnecessárias."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr "<option>APT::FTPArchive::LongDescription</option>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -3322,19 +3333,19 @@ msgstr ""
"<filename>Translation-en</filename> só pode ser criado no comando generate."
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544
#: sources.list.5.xml:198
msgid "Examples"
msgstr "Examples"
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
msgstr "<command>apt-ftparchive</command> pacotes <replaceable>directório</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
@@ -3343,7 +3354,7 @@ msgstr ""
"pacotes binários (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -3813,7 +3824,7 @@ msgstr ""
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -4677,33 +4688,30 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
+"Actualiza o chaveiro local com o chaveiro das chaves de arquivos Debian e "
+"remove do chaveiro as chaves de arquivo que já não são válidas."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
#, fuzzy
#| msgid "update"
msgid "net-update"
msgstr "update"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch from. "
+"APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
@@ -4712,12 +4720,12 @@ msgstr ""
"secção prévia."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
msgid "--keyring <replaceable>filename</replaceable>"
msgstr "--keyring <replaceable>nome-de-ficheiro</replaceable>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -4734,44 +4742,44 @@ msgstr ""
"chaves são adicionadas a este."
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr "&file-trustedgpg;"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr "Base de dados local de confiança de chaves de arquivos."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr "Chaveiro das chaves de confiança dos arquivos Debian."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr "Chaveiro das chaves de confiança removidas dos arquivos Debian."
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
msgid "&apt-get;, &apt-secure;"
msgstr "&apt-get;, &apt-secure;"
@@ -5497,12 +5505,11 @@ msgstr ""
#| "period (.) characters - otherwise they will be silently ignored."
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-"Ignore-Files-Silently</literal> configuration list - in this case it will be "
-"silently ignored."
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</"
+"literal> configuration list - in this case it will be silently ignored."
msgstr ""
"todos os ficheiros em <literal>Dir::Etc::Parts</literal> em ordem ascendente "
"alfanumérica sem extensão ou com \"<literal>conf</literal>\" como extensão "
@@ -6523,9 +6530,9 @@ msgid ""
"Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
"replaceable></literal> will be checked: If this setting exists the method "
"will only be used if this file exists, e.g. for the bzip2 method (the "
-"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note "
-"also that list entries specified on the command line will be added at the "
-"end of the list specified in the configuration files, but before the default "
+"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also "
+"that list entries specified on the command line will be added at the end of "
+"the list specified in the configuration files, but before the default "
"entries. To prefer a type in this case over the ones specified in the "
"configuration files you can set the option direct - not in list style. This "
"will not override the defined list, it will only prefix the list with this "
@@ -6546,7 +6553,7 @@ msgstr ""
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
@@ -7821,8 +7828,8 @@ msgstr ""
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or \"<literal>pref</"
-"literal>\" as filename extension and only contain alphanumeric, hyphen (-), "
+"following naming convention: The files have no or \"<literal>pref</literal>"
+"\" as filename extension and which only contain alphanumeric, hyphen (-), "
"underscore (_) and period (.) characters. Otherwise APT will print a notice "
"that it has ignored a file if the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
@@ -8288,7 +8295,7 @@ msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a glob"
-"()-like expression) or contains the word kde (as a POSIX extended regular "
+"()-like expression or contains the word kde (as a POSIX extended regular "
"expression surrounded by slashes)."
msgstr ""
@@ -8312,7 +8319,7 @@ msgstr ""
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
@@ -11123,13 +11130,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade"
msgid "Which will use the already fetched archives on the disc."
msgstr "O qual irá usar os arquivos já obtidos e que estão no disco."
-#~ msgid ""
-#~ "Update the local keyring with the keyring of Debian archive keys and "
-#~ "removes from the keyring the archive keys which are no longer valid."
-#~ msgstr ""
-#~ "Actualiza o chaveiro local com o chaveiro das chaves de arquivos Debian e "
-#~ "remove do chaveiro as chaves de arquivo que já não são válidas."
-
#~ msgid "<option>--md5</option>"
#~ msgstr "<option>--md5</option>"
diff --git a/doc/po/pt_BR.po b/doc/po/pt_BR.po
index ccb95aca6..488350186 100644
--- a/doc/po/pt_BR.po
+++ b/doc/po/pt_BR.po
@@ -9,7 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: apt\n"
-"POT-Creation-Date: 2011-07-05 13:23+0200\n"
+"POT-Creation-Date: 2011-06-08 16:54+0300\n"
"PO-Revision-Date: 2004-09-20 17:02+0000\n"
"Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
"Language-Team: <debian-l10n-portuguese@lists.debian.org>\n"
@@ -943,8 +943,11 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-cache.8.xml:266
-msgid "madison <replaceable>/[ pkg(s) ]</replaceable>"
+#, fuzzy
+msgid "madison <replaceable>[ pkg(s) ]</replaceable>"
msgstr ""
+"<programlisting>\n"
+"apt-get install <replaceable>pacote</replaceable>/testing\n"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-cache.8.xml:267
@@ -984,7 +987,7 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393
+#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393
#: apt-sortpkgs.1.xml:61
msgid "<option>-s</option>"
msgstr ""
@@ -1005,12 +1008,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>-q</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383
+#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383
msgid "<option>--quiet</option>"
msgstr ""
@@ -1085,7 +1088,7 @@ msgstr ""
#: apt-cache.8.xml:317
msgid ""
"Per default the <literal>depends</literal> and <literal>rdepends</literal> "
-"print all dependencies. This can be tweaked with these flags which will omit "
+"print all dependencies. This can be twicked with these flags which will omit "
"the specified dependency type. Configuration Item: <literal>APT::Cache::"
"Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::"
"Cache::ShowRecommends</literal>."
@@ -1109,7 +1112,7 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584
+#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583
msgid "<option>-a</option>"
msgstr ""
@@ -1205,13 +1208,13 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101
-#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570
+#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570
#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67
msgid "&apt-commonoptions;"
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144
+#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144
#: apt.conf.5.xml:1093 apt_preferences.5.xml:697
msgid "Files"
msgstr ""
@@ -1223,8 +1226,8 @@ msgstr ""
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106
-#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585
-#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185
+#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585
+#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185
#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704
#: sources.list.5.xml:234
#, fuzzy
@@ -1238,7 +1241,7 @@ msgstr ""
#. type: Content of: <refentry><refsect1><title>
#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111
-#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591
+#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591
#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76
msgid "Diagnostics"
msgstr ""
@@ -1338,12 +1341,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-cdrom.8.xml:94 apt-key.8.xml:161
+#: apt-cdrom.8.xml:94 apt-key.8.xml:158
msgid "Options"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345
+#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345
msgid "<option>-d</option>"
msgstr ""
@@ -1548,7 +1551,7 @@ msgid "Just show the contents of the configuration space."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629
+#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628
#: apt-sortpkgs.1.xml:73
#, fuzzy
msgid "&apt-conf;"
@@ -2478,26 +2481,26 @@ msgid ""
"Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</"
"replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</"
"replaceable>::<replaceable>Checksum</replaceable></literal> where "
-"<literal><replaceable>Index</replaceable></literal> can be "
-"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</"
-"literal> and <literal><replaceable>Checksum</replaceable></literal> can be "
-"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>."
+"<literal>Index</literal> can be <literal>Packages</literal>, "
+"<literal>Sources</literal> or <literal>Release</literal> and "
+"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</"
+"literal> or <literal>SHA256</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:540
+#: apt-ftparchive.1.xml:539
msgid "<option>--db</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:542
+#: apt-ftparchive.1.xml:541
msgid ""
"Use a binary caching DB. This has no effect on the generate command. "
"Configuration Item: <literal>APT::FTPArchive::DB</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:548
+#: apt-ftparchive.1.xml:547
msgid ""
"Quiet; produces output suitable for logging, omitting progress indicators. "
"More q's will produce more quiet up to a maximum of 2. You can also use "
@@ -2506,12 +2509,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:554
+#: apt-ftparchive.1.xml:553
msgid "<option>--delink</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:556
+#: apt-ftparchive.1.xml:555
msgid ""
"Perform Delinking. If the <literal>External-Links</literal> setting is used "
"then this option actually enables delinking of the files. It defaults to on "
@@ -2520,12 +2523,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:562
+#: apt-ftparchive.1.xml:561
msgid "<option>--contents</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:564
+#: apt-ftparchive.1.xml:563
msgid ""
"Perform contents generation. When this option is set and package indexes are "
"being generated with a cache DB then the file listing will also be extracted "
@@ -2535,12 +2538,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:572
+#: apt-ftparchive.1.xml:571
msgid "<option>--source-override</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:574
+#: apt-ftparchive.1.xml:573
msgid ""
"Select the source override file to use with the <literal>sources</literal> "
"command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</"
@@ -2548,24 +2551,24 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:578
+#: apt-ftparchive.1.xml:577
msgid "<option>--readonly</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:580
+#: apt-ftparchive.1.xml:579
msgid ""
"Make the caching databases read only. Configuration Item: <literal>APT::"
"FTPArchive::ReadOnlyDB</literal>."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:584
+#: apt-ftparchive.1.xml:583
msgid "<option>--arch</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:585
+#: apt-ftparchive.1.xml:584
msgid ""
"Accept in the <literal>packages</literal> and <literal>contents</literal> "
"commands only package files matching <literal>*_arch.deb</literal> or "
@@ -2574,12 +2577,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:591
+#: apt-ftparchive.1.xml:590
msgid "<option>APT::FTPArchive::AlwaysStat</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:593
+#: apt-ftparchive.1.xml:592
msgid ""
"&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
"packages are recompiled and/or republished with the same version again, this "
@@ -2593,12 +2596,12 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-ftparchive.1.xml:603
+#: apt-ftparchive.1.xml:602
msgid "<option>APT::FTPArchive::LongDescription</option>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-ftparchive.1.xml:605
+#: apt-ftparchive.1.xml:604
msgid ""
"This configuration option defaults to \"<literal>true</literal>\" and should "
"only be set to <literal>\"false\"</literal> if the Archive generated with "
@@ -2608,27 +2611,27 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><title>
-#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544
+#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544
#: sources.list.5.xml:198
#, fuzzy
msgid "Examples"
msgstr "Exemplos"
#. type: Content of: <refentry><refsect1><para><programlisting>
-#: apt-ftparchive.1.xml:623
+#: apt-ftparchive.1.xml:622
#, no-wrap
msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n"
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:619
+#: apt-ftparchive.1.xml:618
msgid ""
"To create a compressed Packages file for a directory containing binary "
"packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-ftparchive.1.xml:633
+#: apt-ftparchive.1.xml:632
msgid ""
"<command>apt-ftparchive</command> returns zero on normal operation, decimal "
"100 on error."
@@ -2951,7 +2954,7 @@ msgstr ""
#: apt-get.8.xml:282
msgid ""
"<literal>download</literal> will download the given binary package into the "
-"current directory."
+"current directoy."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -3635,38 +3638,33 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml:131
msgid ""
-"Update the local keyring with the archive keyring and remove from the local "
-"keyring the archive keys which are no longer valid. The archive keyring is "
-"shipped in the <literal>archive-keyring</literal> package of your "
-"distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
-"Debian."
+"Update the local keyring with the keyring of Debian archive keys and removes "
+"from the keyring the archive keys which are no longer valid."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:141
+#: apt-key.8.xml:140
msgid "net-update"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:145
+#: apt-key.8.xml:144
msgid ""
-"Work similar to the <command>update</command> command above, but get the "
-"archive keyring from an URI instead and validate it against a master key. "
-"This requires an installed &wget; and an APT build configured to have a "
-"server to fetch from and a master keyring to validate. APT in Debian does "
-"not support this command and relies on <command>update</command> instead, "
-"but Ubuntu's APT does."
+"Update the local keyring with the keys of a key server and removes from the "
+"keyring the archive keys which are no longer valid. This requires an "
+"installed wget and an APT build configured to have a server to fetch from. "
+"APT in Debian does not support this command, but Ubuntu's APT does."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:162
+#: apt-key.8.xml:159
msgid ""
"Note that options need to be defined before the commands described in the "
"previous section."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:164
+#: apt-key.8.xml:161
#, fuzzy
msgid "--keyring <replaceable>filename</replaceable>"
msgstr ""
@@ -3674,7 +3672,7 @@ msgstr ""
"apt-get install <replaceable>pacote</replaceable>/testing\n"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:165
+#: apt-key.8.xml:162
msgid ""
"With this option it is possible to specify a specific keyring file the "
"command should operate on. The default is that a command is executed on the "
@@ -3685,44 +3683,44 @@ msgid ""
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist>
-#: apt-key.8.xml:178
+#: apt-key.8.xml:175
msgid "&file-trustedgpg;"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:180
+#: apt-key.8.xml:177
#, fuzzy
msgid "<filename>/etc/apt/trustdb.gpg</filename>"
msgstr "<filename>/etc/apt.conf</>"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:181
+#: apt-key.8.xml:178
msgid "Local trust database of archive keys."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:184
+#: apt-key.8.xml:181
msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:185
+#: apt-key.8.xml:182
msgid "Keyring of Debian archive trusted keys."
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
-#: apt-key.8.xml:188
+#: apt-key.8.xml:185
msgid ""
"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: apt-key.8.xml:189
+#: apt-key.8.xml:186
msgid "Keyring of Debian archive removed trusted keys."
msgstr ""
#. type: Content of: <refentry><refsect1><para>
-#: apt-key.8.xml:198
+#: apt-key.8.xml:195
#, fuzzy
msgid "&apt-get;, &apt-secure;"
msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;"
@@ -4237,12 +4235,11 @@ msgstr ""
#: apt.conf.5.xml:52
msgid ""
"all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
-"order which have either no or \"<literal>conf</literal>\" as filename "
-"extension and which only contain alphanumeric, hyphen (-), underscore (_) "
-"and period (.) characters. Otherwise APT will print a notice that it has "
-"ignored a file if the file doesn't match a pattern in the <literal>Dir::"
-"Ignore-Files-Silently</literal> configuration list - in this case it will be "
-"silently ignored."
+"order which have no or \"<literal>conf</literal>\" as filename extension and "
+"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) "
+"characters. Otherwise APT will print a notice that it has ignored a file if "
+"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</"
+"literal> configuration list - in this case it will be silently ignored."
msgstr ""
#. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
@@ -4940,9 +4937,9 @@ msgid ""
"Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</"
"replaceable></literal> will be checked: If this setting exists the method "
"will only be used if this file exists, e.g. for the bzip2 method (the "
-"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note "
-"also that list entries specified on the command line will be added at the "
-"end of the list specified in the configuration files, but before the default "
+"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also "
+"that list entries specified on the command line will be added at the end of "
+"the list specified in the configuration files, but before the default "
"entries. To prefer a type in this case over the ones specified in the "
"configuration files you can set the option direct - not in list style. This "
"will not override the defined list, it will only prefix the list with this "
@@ -4953,7 +4950,7 @@ msgstr ""
#: apt.conf.5.xml:449
msgid ""
"The special type <literal>uncompressed</literal> can be used to give "
-"uncompressed files a preference, but note that most archives don't provide "
+"uncompressed files a preference, but note that most archives doesn't provide "
"uncompressed files so this is mostly only useable for local mirrors."
msgstr ""
@@ -5937,8 +5934,8 @@ msgstr ""
msgid ""
"Note that the files in the <filename>/etc/apt/preferences.d</filename> "
"directory are parsed in alphanumeric ascending order and need to obey the "
-"following naming convention: The files have either no or \"<literal>pref</"
-"literal>\" as filename extension and only contain alphanumeric, hyphen (-), "
+"following naming convention: The files have no or \"<literal>pref</literal>"
+"\" as filename extension and which only contain alphanumeric, hyphen (-), "
"underscore (_) and period (.) characters. Otherwise APT will print a notice "
"that it has ignored a file if the file doesn't match a pattern in the "
"<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
@@ -6402,7 +6399,7 @@ msgid ""
"APT also supports pinning by glob() expressions and regular expressions "
"surrounded by /. For example, the following example assigns the priority 500 "
"to all packages from experimental where the name starts with gnome (as a glob"
-"()-like expression) or contains the word kde (as a POSIX extended regular "
+"()-like expression or contains the word kde (as a POSIX extended regular "
"expression surrounded by slashes)."
msgstr ""
@@ -6423,7 +6420,7 @@ msgstr ""
#: apt_preferences.5.xml:279
msgid ""
"The rule for those expressions is that they can occur anywhere where a "
-"string can occur. Thus, the following pin assigns the priority 990 to all "
+"string can occur. Those, the following pin assigns the priority 990 to all "
"packages from a release starting with karmic."
msgstr ""
diff --git a/doc/sources.list.5.xml b/doc/sources.list.5.xml
index 837f07683..bf8356348 100644
--- a/doc/sources.list.5.xml
+++ b/doc/sources.list.5.xml
@@ -78,7 +78,7 @@
<para>The format for a <filename>sources.list</filename> entry using the
<literal>deb</literal> and <literal>deb-src</literal> types is:</para>
- <literallayout>deb uri distribution [component1] [component2] [...]</literallayout>
+ <literallayout>deb [ options ] uri distribution [component1] [component2] [...]</literallayout>
<para>The URI for the <literal>deb</literal> type must specify the base of the
Debian distribution, from which APT will find the information it needs.
@@ -109,6 +109,22 @@
simultaneous anonymous users. APT also parallelizes connections to
different hosts to more effectively deal with sites with low bandwidth.</para>
+ <para><literal>options</literal> is always optional and needs to be surounded by
+ square brackets. It can consist of multiple settings in the form
+ <literal><replaceable>setting</replaceable>=<replaceable>value</replaceable></literal>.
+ Multiple settings are separated by spaces. The following settings are supported by APT,
+ note through that unsupported settings will be ignored silently:
+ <itemizedlist><listitem><para><literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</replaceable>,…</literal>
+ can be used to specify for which architectures packages information should
+ be downloaded. If this option is not set all architectures defined by the
+ <literal>APT::Architectures</literal> option will be downloaded.</para></listitem>
+ <listitem><para><literal>trusted=yes</literal> can be set to indicate that packages
+ from this source are always authenificated even if the <filename>Release</filename> file
+ is not signed or the signature can't be checked. This disables parts of &apt-secure;
+ and should therefore only be used in a local and trusted context. <literal>trusted=no</literal>
+ is the opposite which handles even correctly authenificated sources as not authenificated.</para></listitem>
+ </itemizedlist></para>
+
<para>It is important to list sources in order of preference, with the most
preferred source listed first. Typically this will result in sorting
by speed from fastest to slowest (CD-ROM followed by hosts on a local
@@ -206,6 +222,11 @@ deb http://security.debian.org/ &stable-codename;/updates main contrib non-free
<para>Source line for the above</para>
<literallayout>deb-src file:/home/jason/debian unstable main contrib non-free</literallayout>
+ <para>The first line gets package information for the architectures in <literal>APT::Architectures</literal>
+ while the second always retrieves <literal>amd64</literal> and <literal>armel</literal>.</para>
+ <literallayout>deb http://ftp.debian.org/debian &stable-codename; main
+deb [ arch=amd64,armel ] http://ftp.debian.org/debian &stable-codename; main</literallayout>
+
<para>Uses HTTP to access the archive at archive.debian.org, and uses only
the hamm/main area.</para>
<literallayout>deb http://archive.debian.org/debian-archive hamm main</literallayout>
diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
index 0762a2b28..f289eb00d 100644
--- a/ftparchive/apt-ftparchive.cc
+++ b/ftparchive/apt-ftparchive.cc
@@ -10,24 +10,25 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "apt-ftparchive.h"
-
+#include <config.h>
+
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/cmndline.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/init.h>
-#include <config.h>
-#include <apti18n.h>
#include <algorithm>
#include <climits>
#include <sys/time.h>
#include <regex.h>
+#include "apt-ftparchive.h"
#include "contents.h"
#include "multicompress.h"
-#include "writer.h"
+#include "writer.h"
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -205,7 +206,7 @@ bool PackageMap::GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats)
Packages.Output = 0; // Just in case
// Finish compressing
- unsigned long Size;
+ unsigned long long Size;
if (Comp.Finalize(Size) == false)
{
c0out << endl;
@@ -291,7 +292,7 @@ bool PackageMap::GenSources(Configuration &Setup,struct CacheDB::Stats &Stats)
Sources.Output = 0; // Just in case
// Finish compressing
- unsigned long Size;
+ unsigned long long Size;
if (Comp.Finalize(Size) == false)
{
c0out << endl;
@@ -362,11 +363,11 @@ bool PackageMap::GenContents(Configuration &Setup,
if (_error->PendingError() == true)
return false;
- unsigned long Size = Head.Size();
+ unsigned long long Size = Head.Size();
unsigned char Buf[4096];
while (Size != 0)
{
- unsigned long ToRead = Size;
+ unsigned long long ToRead = Size;
if (Size > sizeof(Buf))
ToRead = sizeof(Buf);
@@ -384,7 +385,7 @@ bool PackageMap::GenContents(Configuration &Setup,
files associated with this contents file into one great big honking
memory structure, then dump the sorted version */
c0out << ' ' << this->Contents << ":" << flush;
- for (vector<PackageMap>::iterator I = Begin; I != End; I++)
+ for (vector<PackageMap>::iterator I = Begin; I != End; ++I)
{
if (I->Contents != this->Contents)
continue;
@@ -400,7 +401,7 @@ bool PackageMap::GenContents(Configuration &Setup,
Contents.Finish();
// Finish compressing
- unsigned long Size;
+ unsigned long long Size;
if (Comp.Finalize(Size) == false || _error->PendingError() == true)
{
c0out << endl;
@@ -770,10 +771,10 @@ bool Generate(CommandLine &CmdL)
// Generate packages
if (CmdL.FileSize() <= 2)
{
- for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++)
+ for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I)
if (I->GenPackages(Setup,Stats) == false)
_error->DumpErrors();
- for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++)
+ for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I)
if (I->GenSources(Setup,SrcStats) == false)
_error->DumpErrors();
}
@@ -782,7 +783,7 @@ bool Generate(CommandLine &CmdL)
// Make a choice list out of the package list..
RxChoiceList *List = new RxChoiceList[2*PkgList.size()+1];
RxChoiceList *End = List;
- for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++)
+ for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I)
{
End->UserData = &(*I);
End->Str = I->BaseDir.c_str();
@@ -832,7 +833,7 @@ bool Generate(CommandLine &CmdL)
}
// close the Translation master files
- for (vector<PackageMap>::reverse_iterator I = PkgList.rbegin(); I != PkgList.rend(); I++)
+ for (vector<PackageMap>::reverse_iterator I = PkgList.rbegin(); I != PkgList.rend(); ++I)
if (I->TransWriter != NULL && I->TransWriter->DecreaseRefCounter() == 0)
delete I->TransWriter;
@@ -843,7 +844,7 @@ bool Generate(CommandLine &CmdL)
// Sort the contents file list by date
string ArchiveDir = Setup.FindDir("Dir::ArchiveDir");
- for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++)
+ for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I)
{
struct stat A;
if (MultiCompress::GetStat(flCombine(ArchiveDir,I->Contents),
@@ -860,7 +861,7 @@ bool Generate(CommandLine &CmdL)
hashes of the .debs this means they have not changed either so the
contents must be up to date. */
unsigned long MaxContentsChange = Setup.FindI("Default::MaxContentsChange",UINT_MAX)*1024;
- for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++)
+ for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I)
{
// This record is not relevent
if (I->ContentsDone == true ||
@@ -936,7 +937,7 @@ bool Clean(CommandLine &CmdL)
_error->DumpErrors();
string CacheDB = I->BinCacheDB;
- for (; I != PkgList.end() && I->BinCacheDB == CacheDB; I++);
+ for (; I != PkgList.end() && I->BinCacheDB == CacheDB; ++I);
}
return true;
diff --git a/ftparchive/cachedb.cc b/ftparchive/cachedb.cc
index b04244347..a1d70f912 100644
--- a/ftparchive/cachedb.cc
+++ b/ftparchive/cachedb.cc
@@ -10,17 +10,19 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "cachedb.h"
+#include <config.h>
-#include <apti18n.h>
#include <apt-pkg/error.h>
#include <apt-pkg/md5.h>
#include <apt-pkg/sha1.h>
-#include <apt-pkg/sha256.h>
+#include <apt-pkg/sha2.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/configuration.h>
#include <netinet/in.h> // htonl, etc
+
+#include <apti18n.h>
+#include "cachedb.h"
/*}}}*/
// CacheDB::ReadyDB - Ready the DB2 /*{{{*/
@@ -162,7 +164,8 @@ bool CacheDB::GetCurStat()
// ---------------------------------------------------------------------
bool CacheDB::GetFileInfo(string const &FileName, bool const &DoControl, bool const &DoContents,
bool const &GenContentsOnly, bool const &DoMD5, bool const &DoSHA1,
- bool const &DoSHA256, bool const &checkMtime)
+ bool const &DoSHA256, bool const &DoSHA512,
+ bool const &checkMtime)
{
this->FileName = FileName;
@@ -190,7 +193,9 @@ bool CacheDB::GetFileInfo(string const &FileName, bool const &DoControl, bool co
|| (DoContents && LoadContents(GenContentsOnly) == false)
|| (DoMD5 && GetMD5(false) == false)
|| (DoSHA1 && GetSHA1(false) == false)
- || (DoSHA256 && GetSHA256(false) == false))
+ || (DoSHA256 && GetSHA256(false) == false)
+ || (DoSHA512 && GetSHA512(false) == false)
+ )
{
delete Fd;
Fd = NULL;
@@ -412,6 +417,37 @@ bool CacheDB::GetSHA256(bool const &GenOnly)
return true;
}
/*}}}*/
+// CacheDB::GetSHA256 - Get the SHA256 hash /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool CacheDB::GetSHA512(bool const &GenOnly)
+{
+ // Try to read the control information out of the DB.
+ if ((CurStat.Flags & FlSHA512) == FlSHA512)
+ {
+ if (GenOnly == true)
+ return true;
+
+ SHA512Res = bytes2hex(CurStat.SHA512, sizeof(CurStat.SHA512));
+ return true;
+ }
+
+ Stats.SHA512Bytes += CurStat.FileSize;
+
+ if (Fd == NULL && OpenFile() == false)
+ {
+ return false;
+ }
+ SHA512Summation SHA512;
+ if (Fd->Seek(0) == false || SHA512.AddFD(Fd->Fd(),CurStat.FileSize) == false)
+ return false;
+
+ SHA512Res = SHA512.Result();
+ hex2bytes(CurStat.SHA512, SHA512Res.data(), sizeof(CurStat.SHA512));
+ CurStat.Flags |= FlSHA512;
+ return true;
+}
+ /*}}}*/
// CacheDB::Finish - Write back the cache structure /*{{{*/
// ---------------------------------------------------------------------
/* */
diff --git a/ftparchive/cachedb.h b/ftparchive/cachedb.h
index 0ba80909a..6bd5aa36c 100644
--- a/ftparchive/cachedb.h
+++ b/ftparchive/cachedb.h
@@ -70,18 +70,22 @@ class CacheDB
bool GetMD5(bool const &GenOnly);
bool GetSHA1(bool const &GenOnly);
bool GetSHA256(bool const &GenOnly);
+ bool GetSHA512(bool const &GenOnly);
// Stat info stored in the DB, Fixed types since it is written to disk.
enum FlagList {FlControl = (1<<0),FlMD5=(1<<1),FlContents=(1<<2),
- FlSize=(1<<3), FlSHA1=(1<<4), FlSHA256=(1<<5)};
+ FlSize=(1<<3), FlSHA1=(1<<4), FlSHA256=(1<<5),
+ FlSHA512=(1<<6)};
+
struct StatStore
{
uint32_t Flags;
uint32_t mtime;
- uint32_t FileSize;
+ uint64_t FileSize;
uint8_t MD5[16];
uint8_t SHA1[20];
uint8_t SHA256[32];
+ uint8_t SHA512[64];
} CurStat;
struct StatStore OldStat;
@@ -98,6 +102,7 @@ class CacheDB
string MD5Res;
string SHA1Res;
string SHA256Res;
+ string SHA512Res;
// Runtime statistics
struct Stats
@@ -106,14 +111,21 @@ class CacheDB
double MD5Bytes;
double SHA1Bytes;
double SHA256Bytes;
+ double SHA512Bytes;
unsigned long Packages;
unsigned long Misses;
- unsigned long DeLinkBytes;
+ unsigned long long DeLinkBytes;
inline void Add(const Stats &S) {
- Bytes += S.Bytes; MD5Bytes += S.MD5Bytes; SHA1Bytes += S.SHA1Bytes;
+ Bytes += S.Bytes;
+ MD5Bytes += S.MD5Bytes;
+ SHA1Bytes += S.SHA1Bytes;
SHA256Bytes += S.SHA256Bytes;
- Packages += S.Packages; Misses += S.Misses; DeLinkBytes += S.DeLinkBytes;};
+ SHA512Bytes += S.SHA512Bytes;
+ Packages += S.Packages;
+ Misses += S.Misses;
+ DeLinkBytes += S.DeLinkBytes;
+ };
Stats() : Bytes(0), MD5Bytes(0), SHA1Bytes(0), SHA256Bytes(0), Packages(0), Misses(0), DeLinkBytes(0) {};
} Stats;
@@ -121,11 +133,11 @@ class CacheDB
inline bool DBFailed() {return Dbp != 0 && DBLoaded == false;};
inline bool Loaded() {return DBLoaded == true;};
- inline off_t GetFileSize(void) {return CurStat.FileSize;}
+ inline unsigned long long GetFileSize(void) {return CurStat.FileSize;}
bool SetFile(string const &FileName,struct stat St,FileFd *Fd);
bool GetFileInfo(string const &FileName, bool const &DoControl, bool const &DoContents, bool const &GenContentsOnly,
- bool const &DoMD5, bool const &DoSHA1, bool const &DoSHA256, bool const &checkMtime = false);
+ bool const &DoMD5, bool const &DoSHA1, bool const &DoSHA256, bool const &DoSHA512, bool const &checkMtime = false);
bool Finish();
bool Clean();
diff --git a/ftparchive/contents.cc b/ftparchive/contents.cc
index eadced626..65d8dd1ce 100644
--- a/ftparchive/contents.cc
+++ b/ftparchive/contents.cc
@@ -33,9 +33,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "contents.h"
+#include <config.h>
-#include <apti18n.h>
#include <apt-pkg/debfile.h>
#include <apt-pkg/extracttar.h>
#include <apt-pkg/error.h>
@@ -43,6 +42,9 @@
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
+
+#include <apti18n.h>
+#include "contents.h"
/*}}}*/
// GenContents::~GenContents - Free allocated memory /*{{{*/
@@ -347,7 +349,7 @@ bool ContentsExtract::DoItem(Item &Itm,int &Fd)
// ContentsExtract::TakeContents - Load the contents data /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool ContentsExtract::TakeContents(const void *NewData,unsigned long Length)
+bool ContentsExtract::TakeContents(const void *NewData,unsigned long long Length)
{
if (Length == 0)
{
diff --git a/ftparchive/contents.h b/ftparchive/contents.h
index 5b5092b66..f549ce17f 100644
--- a/ftparchive/contents.h
+++ b/ftparchive/contents.h
@@ -71,15 +71,15 @@ class ContentsExtract : public pkgDirStream
// The Data Block
char *Data;
- unsigned long MaxSize;
- unsigned long CurSize;
+ unsigned long long MaxSize;
+ unsigned long long CurSize;
void AddData(const char *Text);
bool Read(debDebFile &Deb);
virtual bool DoItem(Item &Itm,int &Fd);
void Reset() {CurSize = 0;};
- bool TakeContents(const void *Data,unsigned long Length);
+ bool TakeContents(const void *Data,unsigned long long Length);
void Add(GenContents &Contents,string const &Package);
ContentsExtract() : Data(0), MaxSize(0), CurSize(0) {};
diff --git a/ftparchive/multicompress.cc b/ftparchive/multicompress.cc
index f82879015..bf0f858d9 100644
--- a/ftparchive/multicompress.cc
+++ b/ftparchive/multicompress.cc
@@ -14,18 +14,20 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "multicompress.h"
-
-#include <apti18n.h>
+#include <config.h>
+
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/md5.h>
-
+
#include <sys/types.h>
#include <sys/stat.h>
#include <utime.h>
#include <unistd.h>
-#include <iostream>
+#include <iostream>
+
+#include "multicompress.h"
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -48,11 +50,11 @@ MultiCompress::MultiCompress(string const &Output,string const &Compress,
string::const_iterator I = Compress.begin();
for (; I != Compress.end();)
{
- for (; I != Compress.end() && isspace(*I); I++);
+ for (; I != Compress.end() && isspace(*I); ++I);
// Grab a word
string::const_iterator Start = I;
- for (; I != Compress.end() && !isspace(*I); I++);
+ for (; I != Compress.end() && !isspace(*I); ++I);
// Find the matching compressor
std::vector<APT::Configuration::Compressor> Compressors = APT::Configuration::getCompressors();
@@ -129,11 +131,11 @@ bool MultiCompress::GetStat(string const &Output,string const &Compress,struct s
bool DidStat = false;
for (; I != Compress.end();)
{
- for (; I != Compress.end() && isspace(*I); I++);
+ for (; I != Compress.end() && isspace(*I); ++I);
// Grab a word
string::const_iterator Start = I;
- for (; I != Compress.end() && !isspace(*I); I++);
+ for (; I != Compress.end() && !isspace(*I); ++I);
// Find the matching compressor
std::vector<APT::Configuration::Compressor> Compressors = APT::Configuration::getCompressors();
@@ -213,7 +215,7 @@ bool MultiCompress::Die()
// MultiCompress::Finalize - Finish up writing /*{{{*/
// ---------------------------------------------------------------------
/* This is only necessary for statistics reporting. */
-bool MultiCompress::Finalize(unsigned long &OutSize)
+bool MultiCompress::Finalize(unsigned long long &OutSize)
{
OutSize = 0;
if (Input == 0 || Die() == false)
@@ -381,7 +383,7 @@ bool MultiCompress::Child(int const &FD)
stash a hash of the data to use later. */
SetNonBlock(FD,false);
unsigned char Buffer[32*1024];
- unsigned long FileSize = 0;
+ unsigned long long FileSize = 0;
MD5Summation MD5;
while (1)
{
@@ -443,7 +445,7 @@ bool MultiCompress::Child(int const &FD)
// Compute the hash
MD5Summation OldMD5;
- unsigned long NewFileSize = 0;
+ unsigned long long NewFileSize = 0;
while (1)
{
int Res = read(CompFd,Buffer,sizeof(Buffer));
diff --git a/ftparchive/multicompress.h b/ftparchive/multicompress.h
index 19dede174..4839af47d 100644
--- a/ftparchive/multicompress.h
+++ b/ftparchive/multicompress.h
@@ -54,7 +54,7 @@ class MultiCompress
FILE *Input;
unsigned long UpdateMTime;
- bool Finalize(unsigned long &OutSize);
+ bool Finalize(unsigned long long &OutSize);
bool OpenOld(int &Fd,pid_t &Proc);
bool CloseOld(int Fd,pid_t Proc);
static bool GetStat(string const &Output,string const &Compress,struct stat &St);
diff --git a/ftparchive/override.cc b/ftparchive/override.cc
index 3cf10b89b..d363fd0fe 100644
--- a/ftparchive/override.cc
+++ b/ftparchive/override.cc
@@ -10,14 +10,14 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "override.h"
-
+#include <config.h>
+
#include <apti18n.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
#include <stdio.h>
-
+
#include "override.h"
/*}}}*/
@@ -34,7 +34,7 @@ bool Override::ReadOverride(string const &File,bool const &Source)
return _error->Errno("fopen",_("Unable to open %s"),File.c_str());
char Line[500];
- unsigned long Counter = 0;
+ unsigned long long Counter = 0;
while (fgets(Line,sizeof(Line),F) != 0)
{
Counter++;
@@ -57,7 +57,7 @@ bool Override::ReadOverride(string const &File,bool const &Source)
for (; isspace(*End) == 0 && *End != 0; End++);
if (*End == 0)
{
- _error->Warning(_("Malformed override %s line %lu #1"),File.c_str(),
+ _error->Warning(_("Malformed override %s line %llu #1"),File.c_str(),
Counter);
continue;
}
@@ -71,7 +71,7 @@ bool Override::ReadOverride(string const &File,bool const &Source)
for (; isspace(*End) == 0 && *End != 0; End++);
if (*End == 0)
{
- _error->Warning(_("Malformed override %s line %lu #2"),File.c_str(),
+ _error->Warning(_("Malformed override %s line %llu #2"),File.c_str(),
Counter);
continue;
}
@@ -85,7 +85,7 @@ bool Override::ReadOverride(string const &File,bool const &Source)
for (; isspace(*End) == 0 && *End != 0; End++);
if (*End == 0)
{
- _error->Warning(_("Malformed override %s line %lu #3"),File.c_str(),
+ _error->Warning(_("Malformed override %s line %llu #3"),File.c_str(),
Counter);
continue;
}
@@ -142,7 +142,7 @@ bool Override::ReadExtraOverride(string const &File,bool const &Source)
return _error->Errno("fopen",_("Unable to open %s"),File.c_str());
char Line[500];
- unsigned long Counter = 0;
+ unsigned long long Counter = 0;
while (fgets(Line,sizeof(Line),F) != 0)
{
Counter++;
@@ -163,7 +163,7 @@ bool Override::ReadExtraOverride(string const &File,bool const &Source)
for (; isspace(*End) == 0 && *End != 0; End++);
if (*End == 0)
{
- _error->Warning(_("Malformed override %s line %lu #1"),File.c_str(),
+ _error->Warning(_("Malformed override %s line %llu #1"),File.c_str(),
Counter);
continue;
}
@@ -175,7 +175,7 @@ bool Override::ReadExtraOverride(string const &File,bool const &Source)
for (; isspace(*End) == 0 && *End != 0; End++);
if (*End == 0)
{
- _error->Warning(_("Malformed override %s line %lu #2"),File.c_str(),
+ _error->Warning(_("Malformed override %s line %llu #2"),File.c_str(),
Counter);
continue;
}
@@ -188,7 +188,7 @@ bool Override::ReadExtraOverride(string const &File,bool const &Source)
for (; isspace(*(End-1)) && End > Value; End--);
if (End == Value)
{
- _error->Warning(_("Malformed override %s line %lu #3"),File.c_str(),
+ _error->Warning(_("Malformed override %s line %llu #3"),File.c_str(),
Counter);
continue;
}
@@ -231,7 +231,7 @@ Override::Item* Override::GetItem(string const &Package, string const &Architect
if (R->OldMaint != "") result->OldMaint = R->OldMaint;
if (R->NewMaint != "") result->NewMaint = R->NewMaint;
for (map<string,string>::const_iterator foI = R->FieldOverride.begin();
- foI != R->FieldOverride.end(); foI++)
+ foI != R->FieldOverride.end(); ++foI)
{
result->FieldOverride[foI->first] = foI->second;
}
@@ -268,7 +268,7 @@ string Override::Item::SwapMaint(string const &Orig,bool &Failed)
string::const_iterator Start = End;
for (; End < OldMaint.end() &&
(End + 3 >= OldMaint.end() || End[0] != ' ' ||
- End[1] != '/' || End[2] != '/'); End++);
+ End[1] != '/' || End[2] != '/'); ++End);
if (stringcasecmp(Start,End,Orig.begin(),Orig.end()) == 0)
return NewMaint;
@@ -276,7 +276,7 @@ string Override::Item::SwapMaint(string const &Orig,bool &Failed)
break;
// Skip the divider and white space
- for (; End < OldMaint.end() && (*End == '/' || *End == ' '); End++);
+ for (; End < OldMaint.end() && (*End == '/' || *End == ' '); ++End);
}
#else
if (stringcasecmp(OldMaint.begin(),OldMaint.end(),Orig.begin(),Orig.end()) == 0)
diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
index 9f12cbf3d..27e53faf8 100644
--- a/ftparchive/writer.cc
+++ b/ftparchive/writer.cc
@@ -11,16 +11,14 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "writer.h"
-
-#include <apti18n.h>
+#include <config.h>
+
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/md5.h>
-#include <apt-pkg/sha1.h>
-#include <apt-pkg/sha256.h>
+#include <apt-pkg/hashes.h>
#include <apt-pkg/deblistparser.h>
#include <sys/types.h>
@@ -31,10 +29,13 @@
#include <iostream>
#include <sstream>
#include <memory>
-
+
+#include "writer.h"
#include "cachedb.h"
#include "apt-ftparchive.h"
#include "multicompress.h"
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
FTWScanner *FTWScanner::Owner;
@@ -64,6 +65,7 @@ FTWScanner::FTWScanner(string const &Arch): Arch(Arch)
DoMD5 = _config->FindB("APT::FTPArchive::MD5",true);
DoSHA1 = _config->FindB("APT::FTPArchive::SHA1",true);
DoSHA256 = _config->FindB("APT::FTPArchive::SHA256",true);
+ DoSHA512 = _config->FindB("APT::FTPArchive::SHA512",true);
}
/*}}}*/
// FTWScanner::Scanner - FTW Scanner /*{{{*/
@@ -246,8 +248,8 @@ bool FTWScanner::LoadFileList(string const &Dir, string const &File)
// ---------------------------------------------------------------------
/* */
bool FTWScanner::Delink(string &FileName,const char *OriginalPath,
- unsigned long &DeLinkBytes,
- off_t const &FileSize)
+ unsigned long long &DeLinkBytes,
+ unsigned long long const &FileSize)
{
// See if this isn't an internaly prefix'd file name.
if (InternalPrefix.empty() == false &&
@@ -316,6 +318,7 @@ PackagesWriter::PackagesWriter(string const &DB,string const &Overrides,string c
DoMD5 = _config->FindB("APT::FTPArchive::Packages::MD5",DoMD5);
DoSHA1 = _config->FindB("APT::FTPArchive::Packages::SHA1",DoSHA1);
DoSHA256 = _config->FindB("APT::FTPArchive::Packages::SHA256",DoSHA256);
+ DoSHA256 = _config->FindB("APT::FTPArchive::Packages::SHA512",true);
DoAlwaysStat = _config->FindB("APT::FTPArchive::AlwaysStat", false);
DoContents = _config->FindB("APT::FTPArchive::Contents",true);
NoOverride = _config->FindB("APT::FTPArchive::NoOverrideMsg",false);
@@ -370,13 +373,13 @@ bool FTWScanner::SetExts(string const &Vals)
bool PackagesWriter::DoPackage(string FileName)
{
// Pull all the data we need form the DB
- if (Db.GetFileInfo(FileName, true, DoContents, true, DoMD5, DoSHA1, DoSHA256, DoAlwaysStat)
+ if (Db.GetFileInfo(FileName, true, DoContents, true, DoMD5, DoSHA1, DoSHA256, DoSHA512, DoAlwaysStat)
== false)
{
return false;
}
- off_t FileSize = Db.GetFileSize();
+ unsigned long long FileSize = Db.GetFileSize();
if (Delink(FileName,OriginalPath,Stats.DeLinkBytes,FileSize) == false)
return false;
@@ -412,7 +415,7 @@ bool PackagesWriter::DoPackage(string FileName)
}
char Size[40];
- sprintf(Size,"%lu", (unsigned long) FileSize);
+ sprintf(Size,"%llu", (unsigned long long) FileSize);
// Strip the DirStrip prefix from the FileName and add the PathPrefix
string NewFileName;
@@ -446,6 +449,8 @@ bool PackagesWriter::DoPackage(string FileName)
SetTFRewriteData(Changes[End++], "SHA1", Db.SHA1Res.c_str());
if (DoSHA256 == true)
SetTFRewriteData(Changes[End++], "SHA256", Db.SHA256Res.c_str());
+ if (DoSHA512 == true)
+ SetTFRewriteData(Changes[End++], "SHA512", Db.SHA512Res.c_str());
SetTFRewriteData(Changes[End++], "Filename", NewFileName.c_str());
SetTFRewriteData(Changes[End++], "Priority", OverItem->Priority.c_str());
SetTFRewriteData(Changes[End++], "Status", 0);
@@ -491,7 +496,7 @@ bool PackagesWriter::DoPackage(string FileName)
}
for (map<string,string>::const_iterator I = OverItem->FieldOverride.begin();
- I != OverItem->FieldOverride.end(); I++)
+ I != OverItem->FieldOverride.end(); ++I)
SetTFRewriteData(Changes[End++],I->first.c_str(),I->second.c_str());
SetTFRewriteData(Changes[End++], 0, 0);
@@ -607,7 +612,7 @@ bool SourcesWriter::DoPackage(string FileName)
if (St.st_size > 128*1024)
return _error->Error("DSC file '%s' is too large!",FileName.c_str());
- if (BufSize < (unsigned)St.st_size+1)
+ if (BufSize < (unsigned long long)St.st_size+1)
{
BufSize = St.st_size+1;
Buffer = (char *)realloc(Buffer,St.st_size+1);
@@ -623,6 +628,7 @@ bool SourcesWriter::DoPackage(string FileName)
MD5Summation MD5;
SHA1Summation SHA1;
SHA256Summation SHA256;
+ SHA256Summation SHA512;
if (DoMD5 == true)
MD5.Add((unsigned char *)Start,BlkEnd - Start);
@@ -630,6 +636,8 @@ bool SourcesWriter::DoPackage(string FileName)
SHA1.Add((unsigned char *)Start,BlkEnd - Start);
if (DoSHA256 == true)
SHA256.Add((unsigned char *)Start,BlkEnd - Start);
+ if (DoSHA512 == true)
+ SHA512.Add((unsigned char *)Start,BlkEnd - Start);
// Add an extra \n to the end, just in case
*BlkEnd++ = '\n';
@@ -740,6 +748,12 @@ bool SourcesWriter::DoPackage(string FileName)
<< strippedName << "\n " << Tags.FindS("Checksums-Sha256");
string const ChecksumsSha256 = ostreamSha256.str();
+ std::ostringstream ostreamSha512;
+ if (Tags.Exists("Checksums-Sha512"))
+ ostreamSha512 << "\n " << string(SHA512.Result()) << " " << St.st_size << " "
+ << strippedName << "\n " << Tags.FindS("Checksums-Sha512");
+ string const ChecksumsSha512 = ostreamSha512.str();
+
// Strip the DirStrip prefix from the FileName and add the PathPrefix
string NewFileName;
if (DirStrip.empty() == false &&
@@ -795,6 +809,8 @@ bool SourcesWriter::DoPackage(string FileName)
SetTFRewriteData(Changes[End++],"Checksums-Sha1",ChecksumsSha1.c_str());
if (ChecksumsSha256.empty() == false)
SetTFRewriteData(Changes[End++],"Checksums-Sha256",ChecksumsSha256.c_str());
+ if (ChecksumsSha512.empty() == false)
+ SetTFRewriteData(Changes[End++],"Checksums-Sha512",ChecksumsSha512.c_str());
if (Directory != "./")
SetTFRewriteData(Changes[End++],"Directory",Directory.c_str());
SetTFRewriteData(Changes[End++],"Priority",BestPrio.c_str());
@@ -816,7 +832,7 @@ bool SourcesWriter::DoPackage(string FileName)
SetTFRewriteData(Changes[End++], "Maintainer", NewMaint.c_str());
for (map<string,string>::const_iterator I = SOverItem->FieldOverride.begin();
- I != SOverItem->FieldOverride.end(); I++)
+ I != SOverItem->FieldOverride.end(); ++I)
SetTFRewriteData(Changes[End++],I->first.c_str(),I->second.c_str());
SetTFRewriteData(Changes[End++], 0, 0);
@@ -1025,29 +1041,18 @@ bool ReleaseWriter::DoPackage(string FileName)
CheckSums[NewFileName].size = fd.Size();
+ Hashes hs;
+ hs.AddFD(fd.Fd(), 0, DoMD5, DoSHA1, DoSHA256, DoSHA512);
if (DoMD5 == true)
- {
- MD5Summation MD5;
- MD5.AddFD(fd.Fd(), fd.Size());
- CheckSums[NewFileName].MD5 = MD5.Result();
- fd.Seek(0);
- }
+ CheckSums[NewFileName].MD5 = hs.MD5.Result();
if (DoSHA1 == true)
- {
- SHA1Summation SHA1;
- SHA1.AddFD(fd.Fd(), fd.Size());
- CheckSums[NewFileName].SHA1 = SHA1.Result();
- fd.Seek(0);
- }
+ CheckSums[NewFileName].SHA1 = hs.SHA1.Result();
if (DoSHA256 == true)
- {
- SHA256Summation SHA256;
- SHA256.AddFD(fd.Fd(), fd.Size());
- CheckSums[NewFileName].SHA256 = SHA256.Result();
- }
-
+ CheckSums[NewFileName].SHA256 = hs.SHA256.Result();
+ if (DoSHA512 == true)
+ CheckSums[NewFileName].SHA512 = hs.SHA512.Result();
fd.Close();
-
+
return true;
}
@@ -1062,7 +1067,7 @@ void ReleaseWriter::Finish()
for(map<string,struct CheckSum>::const_iterator I = CheckSums.begin();
I != CheckSums.end(); ++I)
{
- fprintf(Output, " %s %16ld %s\n",
+ fprintf(Output, " %s %16llu %s\n",
(*I).second.MD5.c_str(),
(*I).second.size,
(*I).first.c_str());
@@ -1074,7 +1079,7 @@ void ReleaseWriter::Finish()
for(map<string,struct CheckSum>::const_iterator I = CheckSums.begin();
I != CheckSums.end(); ++I)
{
- fprintf(Output, " %s %16ld %s\n",
+ fprintf(Output, " %s %16llu %s\n",
(*I).second.SHA1.c_str(),
(*I).second.size,
(*I).first.c_str());
@@ -1086,10 +1091,22 @@ void ReleaseWriter::Finish()
for(map<string,struct CheckSum>::const_iterator I = CheckSums.begin();
I != CheckSums.end(); ++I)
{
- fprintf(Output, " %s %16ld %s\n",
+ fprintf(Output, " %s %16llu %s\n",
(*I).second.SHA256.c_str(),
(*I).second.size,
(*I).first.c_str());
}
}
+
+ fprintf(Output, "SHA512:\n");
+ for(map<string,struct CheckSum>::const_iterator I = CheckSums.begin();
+ I != CheckSums.end();
+ ++I)
+ {
+ fprintf(Output, " %s %16llu %s\n",
+ (*I).second.SHA512.c_str(),
+ (*I).second.size,
+ (*I).first.c_str());
+ }
+
}
diff --git a/ftparchive/writer.h b/ftparchive/writer.h
index ce0eab7af..a43b83876 100644
--- a/ftparchive/writer.h
+++ b/ftparchive/writer.h
@@ -48,7 +48,7 @@ class FTWScanner
static int ScannerFile(const char *File, bool const &ReadLink);
bool Delink(string &FileName,const char *OriginalPath,
- unsigned long &Bytes,off_t const &FileSize);
+ unsigned long long &Bytes,unsigned long long const &FileSize);
inline void NewLine(unsigned const &Priority)
{
@@ -63,6 +63,7 @@ class FTWScanner
bool DoMD5;
bool DoSHA1;
bool DoSHA256;
+ bool DoSHA512;
unsigned long DeLinkLimit;
string InternalPrefix;
@@ -158,7 +159,7 @@ class SourcesWriter : public FTWScanner
Override BOver;
Override SOver;
char *Buffer;
- unsigned long BufSize;
+ unsigned long long BufSize;
public:
@@ -195,8 +196,9 @@ protected:
string MD5;
string SHA1;
string SHA256;
+ string SHA512;
// Limited by FileFd::Size()
- unsigned long size;
+ unsigned long long size;
~CheckSum() {};
};
map<string,struct CheckSum> CheckSums;
diff --git a/methods/bzip2.cc b/methods/bzip2.cc
index 42932dded..eff83bda7 100644
--- a/methods/bzip2.cc
+++ b/methods/bzip2.cc
@@ -13,6 +13,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/acquire-method.h>
diff --git a/methods/cdrom.cc b/methods/cdrom.cc
index b25fdf5a8..bc115d259 100644
--- a/methods/cdrom.cc
+++ b/methods/cdrom.cc
@@ -8,6 +8,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/cdrom.h>
#include <apt-pkg/cdromutl.h>
@@ -54,7 +56,8 @@ class CDROMMethod : public pkgAcqMethod
CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly |
SendConfig | NeedsCleanup |
Removable),
- DatabaseLoaded(false),
+ DatabaseLoaded(false),
+ Debug(false),
MountedByApt(false)
{
UdevCdroms.Dlopen();
diff --git a/methods/connect.cc b/methods/connect.cc
index a5af1f1a6..16fb6e793 100644
--- a/methods/connect.cc
+++ b/methods/connect.cc
@@ -11,7 +11,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "connect.h"
+#include <config.h>
+
#include <apt-pkg/error.h>
#include <apt-pkg/fileutl.h>
@@ -29,6 +30,7 @@
#include <arpa/inet.h>
#include <netdb.h>
+#include "connect.h"
#include "rfc2553emu.h"
#include <apti18n.h>
/*}}}*/
diff --git a/methods/copy.cc b/methods/copy.cc
index a6bb372a3..94467e054 100644
--- a/methods/copy.cc
+++ b/methods/copy.cc
@@ -9,6 +9,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
diff --git a/methods/file.cc b/methods/file.cc
index 9cdd5bc2d..9fc4cd76c 100644
--- a/methods/file.cc
+++ b/methods/file.cc
@@ -13,6 +13,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
#include <apt-pkg/hashes.h>
diff --git a/methods/ftp.cc b/methods/ftp.cc
index 97248f900..861647aea 100644
--- a/methods/ftp.cc
+++ b/methods/ftp.cc
@@ -15,6 +15,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
@@ -30,7 +32,6 @@
#include <errno.h>
#include <stdarg.h>
#include <iostream>
-#include <apti18n.h>
// Internet stuff
#include <netinet/in.h>
@@ -41,6 +42,7 @@
#include "rfc2553emu.h"
#include "connect.h"
#include "ftp.h"
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -69,7 +71,8 @@ time_t FtpMethod::FailTime = 0;
// ---------------------------------------------------------------------
/* */
FTPConn::FTPConn(URI Srv) : Len(0), ServerFd(-1), DataFd(-1),
- DataListenFd(-1), ServerName(Srv)
+ DataListenFd(-1), ServerName(Srv),
+ ForceExtended(false), TryPassive(true)
{
Debug = _config->FindB("Debug::Acquire::Ftp",false);
PasvAddr = 0;
@@ -559,7 +562,7 @@ bool FTPConn::ExtGoPasv()
string::const_iterator List[4];
unsigned Count = 0;
Pos++;
- for (string::const_iterator I = Msg.begin() + Pos; I < Msg.end(); I++)
+ for (string::const_iterator I = Msg.begin() + Pos; I < Msg.end(); ++I)
{
if (*I != Msg[Pos])
continue;
@@ -627,7 +630,7 @@ bool FTPConn::ExtGoPasv()
// FTPConn::Size - Return the size of a file /*{{{*/
// ---------------------------------------------------------------------
/* Grab the file size from the server, 0 means no size or empty file */
-bool FTPConn::Size(const char *Path,unsigned long &Size)
+bool FTPConn::Size(const char *Path,unsigned long long &Size)
{
// Query the size
unsigned int Tag;
@@ -637,7 +640,7 @@ bool FTPConn::Size(const char *Path,unsigned long &Size)
return false;
char *End;
- Size = strtol(Msg.c_str(),&End,10);
+ Size = strtoull(Msg.c_str(),&End,10);
if (Tag >= 400 || End == Msg.c_str())
Size = 0;
return true;
@@ -839,7 +842,7 @@ bool FTPConn::Finalize()
// ---------------------------------------------------------------------
/* This opens a data connection, sends REST and RETR and then
transfers the file over. */
-bool FTPConn::Get(const char *Path,FileFd &To,unsigned long Resume,
+bool FTPConn::Get(const char *Path,FileFd &To,unsigned long long Resume,
Hashes &Hash,bool &Missing)
{
Missing = false;
@@ -1002,7 +1005,7 @@ bool FtpMethod::Fetch(FetchItem *Itm)
// Get the files information
Status(_("Query"));
- unsigned long Size;
+ unsigned long long Size;
if (Server->Size(File,Size) == false ||
Server->ModTime(File,FailTime) == false)
{
@@ -1024,7 +1027,7 @@ bool FtpMethod::Fetch(FetchItem *Itm)
struct stat Buf;
if (stat(Itm->DestFile.c_str(),&Buf) == 0)
{
- if (Size == (unsigned)Buf.st_size && FailTime == Buf.st_mtime)
+ if (Size == (unsigned long long)Buf.st_size && FailTime == Buf.st_mtime)
{
Res.Size = Buf.st_size;
Res.LastModified = Buf.st_mtime;
@@ -1034,7 +1037,7 @@ bool FtpMethod::Fetch(FetchItem *Itm)
}
// Resume?
- if (FailTime == Buf.st_mtime && Size > (unsigned)Buf.st_size)
+ if (FailTime == Buf.st_mtime && Size > (unsigned long long)Buf.st_size)
Res.ResumePoint = Buf.st_size;
}
diff --git a/methods/ftp.h b/methods/ftp.h
index d7f1f7fbe..b4913ca57 100644
--- a/methods/ftp.h
+++ b/methods/ftp.h
@@ -53,9 +53,9 @@ class FTPConn
bool ExtGoPasv();
// Query
- bool Size(const char *Path,unsigned long &Size);
+ bool Size(const char *Path,unsigned long long &Size);
bool ModTime(const char *Path, time_t &Time);
- bool Get(const char *Path,FileFd &To,unsigned long Resume,
+ bool Get(const char *Path,FileFd &To,unsigned long long Resume,
Hashes &MD5,bool &Missing);
FTPConn(URI Srv);
diff --git a/methods/gpgv.cc b/methods/gpgv.cc
index efe1f73f7..251bcbc90 100644
--- a/methods/gpgv.cc
+++ b/methods/gpgv.cc
@@ -1,9 +1,10 @@
+#include <config.h>
+
#include <apt-pkg/error.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/fileutl.h>
#include <apt-pkg/indexcopy.h>
-#include <apti18n.h>
#include <utime.h>
#include <stdio.h>
@@ -12,9 +13,10 @@
#include <sys/wait.h>
#include <iostream>
#include <sstream>
-
#include <vector>
+#include <apti18n.h>
+
#define GNUPGPREFIX "[GNUPG:]"
#define GNUPGBADSIG "[GNUPG:] BADSIG"
#define GNUPGNOPUBKEY "[GNUPG:] NO_PUBKEY"
@@ -65,13 +67,16 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile,
return string("Couldn't spawn new process") + strerror(errno);
else if (pid == 0)
{
- if (SigVerify::RunGPGV(outfile, file, 3, fd) == false)
+ _error->PushToStack();
+ bool const success = SigVerify::RunGPGV(outfile, file, 3, fd);
+ if (success == false)
{
- // TRANSLATOR: %s is the trusted keyring parts directory
- ioprintf(ret, _("No keyring installed in %s."),
- _config->FindDir("Dir::Etc::TrustedParts").c_str());
- return ret.str();
+ string errmsg;
+ _error->PopMessage(errmsg);
+ _error->RevertToStack();
+ return errmsg;
}
+ _error->RevertToStack();
exit(111);
}
close(fd[1]);
@@ -210,21 +215,21 @@ bool GPGVMethod::Fetch(FetchItem *Itm)
{
errmsg += _("The following signatures were invalid:\n");
for (vector<string>::iterator I = BadSigners.begin();
- I != BadSigners.end(); I++)
+ I != BadSigners.end(); ++I)
errmsg += (*I + "\n");
}
if (!WorthlessSigners.empty())
{
errmsg += _("The following signatures were invalid:\n");
for (vector<string>::iterator I = WorthlessSigners.begin();
- I != WorthlessSigners.end(); I++)
+ I != WorthlessSigners.end(); ++I)
errmsg += (*I + "\n");
}
if (!NoPubKeySigners.empty())
{
errmsg += _("The following signatures couldn't be verified because the public key is not available:\n");
for (vector<string>::iterator I = NoPubKeySigners.begin();
- I != NoPubKeySigners.end(); I++)
+ I != NoPubKeySigners.end(); ++I)
errmsg += (*I + "\n");
}
}
diff --git a/methods/gzip.cc b/methods/gzip.cc
index fc4e1ecfd..f4bb052e2 100644
--- a/methods/gzip.cc
+++ b/methods/gzip.cc
@@ -9,6 +9,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/acquire-method.h>
@@ -62,7 +64,7 @@ bool GzipMethod::Fetch(FetchItem *Itm)
while (1)
{
unsigned char Buffer[4*1024];
- unsigned long Count;
+ unsigned long long Count = 0;
if (!From.Read(Buffer,sizeof(Buffer),&Count))
{
diff --git a/methods/http.cc b/methods/http.cc
index 13f9cbe06..b60cfeb9e 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -25,6 +25,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
@@ -41,8 +43,6 @@
#include <string.h>
#include <iostream>
#include <map>
-#include <apti18n.h>
-
// Internet stuff
#include <netdb.h>
@@ -51,6 +51,8 @@
#include "connect.h"
#include "rfc2553emu.h"
#include "http.h"
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -63,15 +65,15 @@ bool AllowRedirect = false;
bool Debug = false;
URI Proxy;
-unsigned long CircleBuf::BwReadLimit=0;
-unsigned long CircleBuf::BwTickReadData=0;
+unsigned long long CircleBuf::BwReadLimit=0;
+unsigned long long CircleBuf::BwTickReadData=0;
struct timeval CircleBuf::BwReadTick={0,0};
const unsigned int CircleBuf::BW_HZ=10;
// CircleBuf::CircleBuf - Circular input buffer /*{{{*/
// ---------------------------------------------------------------------
/* */
-CircleBuf::CircleBuf(unsigned long Size) : Size(Size), Hash(0)
+CircleBuf::CircleBuf(unsigned long long Size) : Size(Size), Hash(0)
{
Buf = new unsigned char[Size];
Reset();
@@ -87,7 +89,7 @@ void CircleBuf::Reset()
InP = 0;
OutP = 0;
StrPos = 0;
- MaxGet = (unsigned int)-1;
+ MaxGet = (unsigned long long)-1;
OutQueue = string();
if (Hash != 0)
{
@@ -102,7 +104,7 @@ void CircleBuf::Reset()
is non-blocking.. */
bool CircleBuf::Read(int Fd)
{
- unsigned long BwReadMax;
+ unsigned long long BwReadMax;
while (1)
{
@@ -117,7 +119,7 @@ bool CircleBuf::Read(int Fd)
struct timeval now;
gettimeofday(&now,0);
- unsigned long d = (now.tv_sec-CircleBuf::BwReadTick.tv_sec)*1000000 +
+ unsigned long long d = (now.tv_sec-CircleBuf::BwReadTick.tv_sec)*1000000 +
now.tv_usec-CircleBuf::BwReadTick.tv_usec;
if(d > 1000000/BW_HZ) {
CircleBuf::BwReadTick = now;
@@ -131,7 +133,7 @@ bool CircleBuf::Read(int Fd)
}
// Write the buffer segment
- int Res;
+ ssize_t Res;
if(CircleBuf::BwReadLimit) {
Res = read(Fd,Buf + (InP%Size),
BwReadMax > LeftRead() ? LeftRead() : BwReadMax);
@@ -180,7 +182,7 @@ void CircleBuf::FillOut()
return;
// Write the buffer segment
- unsigned long Sz = LeftRead();
+ unsigned long long Sz = LeftRead();
if (OutQueue.length() - StrPos < Sz)
Sz = OutQueue.length() - StrPos;
memcpy(Buf + (InP%Size),OutQueue.c_str() + StrPos,Sz);
@@ -214,7 +216,7 @@ bool CircleBuf::Write(int Fd)
return true;
// Write the buffer segment
- int Res;
+ ssize_t Res;
Res = write(Fd,Buf + (OutP%Size),LeftWrite());
if (Res == 0)
@@ -240,7 +242,7 @@ bool CircleBuf::Write(int Fd)
bool CircleBuf::WriteTillEl(string &Data,bool Single)
{
// We cheat and assume it is unneeded to have more than one buffer load
- for (unsigned long I = OutP; I < InP; I++)
+ for (unsigned long long I = OutP; I < InP; I++)
{
if (Buf[I%Size] != '\n')
continue;
@@ -258,7 +260,7 @@ bool CircleBuf::WriteTillEl(string &Data,bool Single)
Data = "";
while (OutP < I)
{
- unsigned long Sz = LeftWrite();
+ unsigned long long Sz = LeftWrite();
if (Sz == 0)
return false;
if (I - OutP < Sz)
@@ -402,10 +404,10 @@ ServerState::RunHeadersResult ServerState::RunHeaders()
if (Debug == true)
clog << Data;
- for (string::const_iterator I = Data.begin(); I < Data.end(); I++)
+ for (string::const_iterator I = Data.begin(); I < Data.end(); ++I)
{
string::const_iterator J = I;
- for (; J != Data.end() && *J != '\n' && *J != '\r';J++);
+ for (; J != Data.end() && *J != '\n' && *J != '\r'; ++J);
if (HeaderLine(string(I,J)) == false)
return RUN_HEADERS_PARSE_ERROR;
I = J;
@@ -453,7 +455,7 @@ bool ServerState::RunData()
return false;
// See if we are done
- unsigned long Len = strtol(Data.c_str(),0,16);
+ unsigned long long Len = strtoull(Data.c_str(),0,16);
if (Len == 0)
{
In.Limit(-1);
@@ -596,7 +598,7 @@ bool ServerState::HeaderLine(string Line)
if (StartPos != 0)
return true;
- if (sscanf(Val.c_str(),"%lu",&Size) != 1)
+ if (sscanf(Val.c_str(),"%llu",&Size) != 1)
return _error->Error(_("The HTTP server sent an invalid Content-Length header"));
return true;
}
@@ -611,9 +613,9 @@ bool ServerState::HeaderLine(string Line)
{
HaveContent = true;
- if (sscanf(Val.c_str(),"bytes %lu-%*u/%lu",&StartPos,&Size) != 2)
+ if (sscanf(Val.c_str(),"bytes %llu-%*u/%llu",&StartPos,&Size) != 2)
return _error->Error(_("The HTTP server sent an invalid Content-Range header"));
- if ((unsigned)StartPos > Size)
+ if ((unsigned long long)StartPos > Size)
return _error->Error(_("This HTTP server has broken range support"));
return true;
}
@@ -716,7 +718,7 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out)
if (stat(Itm->DestFile.c_str(),&SBuf) >= 0 && SBuf.st_size > 0)
{
// In this case we send an if-range query with a range header
- sprintf(Buf,"Range: bytes=%li-\r\nIf-Range: %s\r\n",(long)SBuf.st_size - 1,
+ sprintf(Buf,"Range: bytes=%lli-\r\nIf-Range: %s\r\n",(long long)SBuf.st_size - 1,
TimeRFC1123(SBuf.st_mtime).c_str());
Req += Buf;
}
@@ -1325,7 +1327,7 @@ int HttpMethod::Loop()
StopRedirects = true;
else
{
- for (StringVectorIterator I = R.begin(); I != R.end(); I++)
+ for (StringVectorIterator I = R.begin(); I != R.end(); ++I)
if (Queue->Uri == *I)
{
R[0] = "STOP";
diff --git a/methods/http.h b/methods/http.h
index aa96c6810..c47d7184a 100644
--- a/methods/http.h
+++ b/methods/http.h
@@ -23,29 +23,29 @@ class HttpMethod;
class CircleBuf
{
unsigned char *Buf;
- unsigned long Size;
- unsigned long InP;
- unsigned long OutP;
+ unsigned long long Size;
+ unsigned long long InP;
+ unsigned long long OutP;
string OutQueue;
- unsigned long StrPos;
- unsigned long MaxGet;
+ unsigned long long StrPos;
+ unsigned long long MaxGet;
struct timeval Start;
- static unsigned long BwReadLimit;
- static unsigned long BwTickReadData;
+ static unsigned long long BwReadLimit;
+ static unsigned long long BwTickReadData;
static struct timeval BwReadTick;
static const unsigned int BW_HZ;
- unsigned long LeftRead()
+ unsigned long long LeftRead() const
{
- unsigned long Sz = Size - (InP - OutP);
+ unsigned long long Sz = Size - (InP - OutP);
if (Sz > Size - (InP%Size))
Sz = Size - (InP%Size);
return Sz;
}
- unsigned long LeftWrite()
+ unsigned long long LeftWrite() const
{
- unsigned long Sz = InP - OutP;
+ unsigned long long Sz = InP - OutP;
if (InP > MaxGet)
Sz = MaxGet - OutP;
if (Sz > Size - (OutP%Size))
@@ -67,19 +67,19 @@ class CircleBuf
bool WriteTillEl(string &Data,bool Single = false);
// Control the write limit
- void Limit(long Max) {if (Max == -1) MaxGet = 0-1; else MaxGet = OutP + Max;}
- bool IsLimit() {return MaxGet == OutP;};
- void Print() {cout << MaxGet << ',' << OutP << endl;};
+ void Limit(long long Max) {if (Max == -1) MaxGet = 0-1; else MaxGet = OutP + Max;}
+ bool IsLimit() const {return MaxGet == OutP;};
+ void Print() const {cout << MaxGet << ',' << OutP << endl;};
// Test for free space in the buffer
- bool ReadSpace() {return Size - (InP - OutP) > 0;};
- bool WriteSpace() {return InP - OutP > 0;};
+ bool ReadSpace() const {return Size - (InP - OutP) > 0;};
+ bool WriteSpace() const {return InP - OutP > 0;};
// Dump everything
void Reset();
void Stats();
- CircleBuf(unsigned long Size);
+ CircleBuf(unsigned long long Size);
~CircleBuf() {delete [] Buf; delete Hash;};
};
@@ -92,8 +92,8 @@ struct ServerState
char Code[MAXLEN];
// These are some statistics from the last parsed header lines
- unsigned long Size;
- signed long StartPos;
+ unsigned long long Size;
+ signed long long StartPos;
time_t Date;
bool HaveContent;
enum {Chunked,Stream,Closes} Encoding;
@@ -113,7 +113,7 @@ struct ServerState
URI ServerName;
bool HeaderLine(string Line);
- bool Comp(URI Other) {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;};
+ bool Comp(URI Other) const {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;};
void Reset() {Major = 0; Minor = 0; Result = 0; Size = 0; StartPos = 0;
Encoding = Closes; time(&Date); ServerFd = -1;
Pipeline = true;};
diff --git a/methods/http_main.cc b/methods/http_main.cc
index 7815c2fc1..2ca91bfc9 100644
--- a/methods/http_main.cc
+++ b/methods/http_main.cc
@@ -1,3 +1,5 @@
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <signal.h>
diff --git a/methods/https.cc b/methods/https.cc
index fc649d6c2..06a0e285a 100644
--- a/methods/https.cc
+++ b/methods/https.cc
@@ -10,6 +10,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
@@ -25,12 +27,11 @@
#include <errno.h>
#include <string.h>
#include <iostream>
-#include <apti18n.h>
#include <sstream>
#include "config.h"
#include "https.h"
-
+#include <apti18n.h>
/*}}}*/
using namespace std;
@@ -51,7 +52,7 @@ HttpsMethod::progress_callback(void *clientp, double dltotal, double dlnow,
{
HttpsMethod *me = (HttpsMethod *)clientp;
if(dltotal > 0 && me->Res.Size == 0) {
- me->Res.Size = (unsigned long)dltotal;
+ me->Res.Size = (unsigned long long)dltotal;
me->URIStart(me->Res);
}
return 0;
diff --git a/methods/mirror.cc b/methods/mirror.cc
index 713dc211a..61a7f12fd 100644
--- a/methods/mirror.cc
+++ b/methods/mirror.cc
@@ -8,6 +8,9 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
+#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/acquire-item.h>
@@ -33,7 +36,7 @@ using namespace std;
#include "mirror.h"
#include "http.h"
-#include "apti18n.h"
+#include <apti18n.h>
/*}}}*/
/* Done:
@@ -54,7 +57,7 @@ using namespace std;
*/
MirrorMethod::MirrorMethod()
- : HttpMethod(), DownloadedMirrorFile(false)
+ : HttpMethod(), DownloadedMirrorFile(false), Debug(false)
{
};
@@ -107,7 +110,7 @@ bool MirrorMethod::Clean(string Dir)
continue;
// see if we have that uri
- for(I=list.begin(); I != list.end(); I++)
+ for(I=list.begin(); I != list.end(); ++I)
{
string uri = (*I)->GetURI();
if(uri.find("mirror://") != 0)
@@ -134,9 +137,24 @@ bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str)
string fetch = BaseUri;
fetch.replace(0,strlen("mirror://"),"http://");
+#if 0 // no need for this, the getArchitectures() will also include the main
+ // arch
+ // append main architecture
+ fetch += "?arch=" + _config->Find("Apt::Architecture");
+#endif
+
+ // append all architectures
+ std::vector<std::string> vec = APT::Configuration::getArchitectures();
+ for (std::vector<std::string>::const_iterator I = vec.begin();
+ I != vec.end(); I++)
+ if (I == vec.begin())
+ fetch += "?arch" + (*I);
+ else
+ fetch += "&arch=" + (*I);
+
// append the dist as a query string
if (Dist != "")
- fetch += "?dist=" + Dist;
+ fetch += "&dist=" + Dist;
if(Debug)
clog << "MirrorMethod::DownloadMirrorFile(): '" << fetch << "'"
@@ -330,7 +348,7 @@ string MirrorMethod::GetMirrorFileName(string mirror_uri_str)
vector<metaIndex *>::const_iterator I;
pkgSourceList list;
list.ReadMainList();
- for(I=list.begin(); I != list.end(); I++)
+ for(I=list.begin(); I != list.end(); ++I)
{
string uristr = (*I)->GetURI();
if(Debug)
diff --git a/methods/rfc2553emu.cc b/methods/rfc2553emu.cc
index 66bc906e9..f00e85889 100644
--- a/methods/rfc2553emu.cc
+++ b/methods/rfc2553emu.cc
@@ -14,12 +14,14 @@
##################################################################### */
/*}}}*/
-#include "rfc2553emu.h"
+#include <config.h>
+
#include <stdlib.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <string.h>
#include <stdio.h>
+#include "rfc2553emu.h"
#ifndef HAVE_GETADDRINFO
// getaddrinfo - Resolve a hostname /*{{{*/
diff --git a/methods/rred.cc b/methods/rred.cc
index 849973e1a..bc941ed04 100644
--- a/methods/rred.cc
+++ b/methods/rred.cc
@@ -1,4 +1,6 @@
// Includes /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/mmap.h>
#include <apt-pkg/error.h>
@@ -51,7 +53,7 @@ protected:
virtual bool Fetch(FetchItem *Itm);
public:
- RredMethod() : pkgAcqMethod("1.1",SingleInstance | SendConfig) {};
+ RredMethod() : pkgAcqMethod("1.1",SingleInstance | SendConfig), Debug(false) {};
};
/*}}}*/
/** \brief applyFile - in reverse order with a tail recursion {{{
@@ -239,7 +241,9 @@ RredMethod::State RredMethod::patchFile(FileFd &Patch, FileFd &From, /*{{{*/
return result;
}
/*}}}*/
-struct EdCommand { /*{{{*/
+/* struct EdCommand {{{*/
+#ifdef _POSIX_MAPPED_FILES
+struct EdCommand {
size_t data_start;
size_t data_end;
size_t data_lines;
@@ -248,13 +252,14 @@ struct EdCommand { /*{{{*/
char type;
};
#define IOV_COUNT 1024 /* Don't really want IOV_MAX since it can be arbitrarily large */
+#endif
/*}}}*/
RredMethod::State RredMethod::patchMMap(FileFd &Patch, FileFd &From, /*{{{*/
FileFd &out_file, Hashes *hash) const {
#ifdef _POSIX_MAPPED_FILES
MMap ed_cmds(MMap::ReadOnly);
if (Patch.gzFd() != NULL) {
- unsigned long mapSize = Patch.Size();
+ unsigned long long mapSize = Patch.Size();
DynamicMMap* dyn = new DynamicMMap(0, mapSize, 0);
if (dyn->validData() == false) {
delete dyn;
diff --git a/methods/rsh.cc b/methods/rsh.cc
index 21f0d0a22..c95a4d3eb 100644
--- a/methods/rsh.cc
+++ b/methods/rsh.cc
@@ -11,7 +11,8 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "rsh.h"
+#include <config.h>
+
#include <apt-pkg/error.h>
#include <sys/stat.h>
@@ -22,6 +23,8 @@
#include <stdio.h>
#include <errno.h>
#include <stdarg.h>
+#include "rsh.h"
+
#include <apti18n.h>
/*}}}*/
@@ -248,7 +251,7 @@ bool RSHConn::WriteMsg(string &Text,bool Sync,const char *Fmt,...)
// ---------------------------------------------------------------------
/* Right now for successfull transfer the file size must be known in
advance. */
-bool RSHConn::Size(const char *Path,unsigned long &Size)
+bool RSHConn::Size(const char *Path,unsigned long long &Size)
{
// Query the size
string Msg;
@@ -260,7 +263,7 @@ bool RSHConn::Size(const char *Path,unsigned long &Size)
// FIXME: Sense if the bad reply is due to a File Not Found.
char *End;
- Size = strtoul(Msg.c_str(),&End,10);
+ Size = strtoull(Msg.c_str(),&End,10);
if (End == Msg.c_str())
return _error->Error(_("File not found"));
return true;
@@ -285,8 +288,8 @@ bool RSHConn::ModTime(const char *Path, time_t &Time)
// RSHConn::Get - Get a file /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool RSHConn::Get(const char *Path,FileFd &To,unsigned long Resume,
- Hashes &Hash,bool &Missing, unsigned long Size)
+bool RSHConn::Get(const char *Path,FileFd &To,unsigned long long Resume,
+ Hashes &Hash,bool &Missing, unsigned long long Size)
{
Missing = false;
@@ -311,7 +314,7 @@ bool RSHConn::Get(const char *Path,FileFd &To,unsigned long Resume,
return false;
// Copy loop
- unsigned int MyLen = Resume;
+ unsigned long long MyLen = Resume;
unsigned char Buffer[4096];
while (MyLen < Size)
{
@@ -425,7 +428,7 @@ bool RSHMethod::Fetch(FetchItem *Itm)
Status(_("Connecting to %s"), Get.Host.c_str());
// Get the files information
- unsigned long Size;
+ unsigned long long Size;
if (Server->Size(File,Size) == false ||
Server->ModTime(File,FailTime) == false)
{
@@ -446,7 +449,7 @@ bool RSHMethod::Fetch(FetchItem *Itm)
// See if the file exists
struct stat Buf;
if (stat(Itm->DestFile.c_str(),&Buf) == 0) {
- if (Size == (unsigned)Buf.st_size && FailTime == Buf.st_mtime) {
+ if (Size == (unsigned long long)Buf.st_size && FailTime == Buf.st_mtime) {
Res.Size = Buf.st_size;
Res.LastModified = Buf.st_mtime;
Res.ResumePoint = Buf.st_size;
@@ -455,7 +458,7 @@ bool RSHMethod::Fetch(FetchItem *Itm)
}
// Resume?
- if (FailTime == Buf.st_mtime && Size > (unsigned)Buf.st_size)
+ if (FailTime == Buf.st_mtime && Size > (unsigned long long)Buf.st_size)
Res.ResumePoint = Buf.st_size;
}
diff --git a/methods/rsh.h b/methods/rsh.h
index b06d5a94e..c81396b5f 100644
--- a/methods/rsh.h
+++ b/methods/rsh.h
@@ -34,17 +34,17 @@ class RSHConn
// Raw connection IO
bool WriteMsg(string &Text,bool Sync,const char *Fmt,...);
bool Connect(string Host, string User);
- bool Comp(URI Other) {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;};
+ bool Comp(URI Other) const {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;};
// Connection control
bool Open();
void Close();
// Query
- bool Size(const char *Path,unsigned long &Size);
+ bool Size(const char *Path,unsigned long long &Size);
bool ModTime(const char *Path, time_t &Time);
- bool Get(const char *Path,FileFd &To,unsigned long Resume,
- Hashes &Hash,bool &Missing, unsigned long Size);
+ bool Get(const char *Path,FileFd &To,unsigned long long Resume,
+ Hashes &Hash,bool &Missing, unsigned long long Size);
RSHConn(URI Srv);
~RSHConn();
diff --git a/po/apt-all.pot b/po/apt-all.pot
index ac38d9806..b409363d0 100644
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:24+0100\n"
+"POT-Creation-Date: 2011-06-29 12:34+0100\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"
@@ -154,7 +154,8 @@ msgstr ""
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3126 cmdline/apt-internal-solver.cc:30
+#: cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr ""
@@ -363,95 +364,95 @@ msgstr ""
msgid "Failed to stat %s"
msgstr ""
-#: ftparchive/cachedb.cc:242
+#: ftparchive/cachedb.cc:245
msgid "Archive has no control record"
msgstr ""
-#: ftparchive/cachedb.cc:448
+#: ftparchive/cachedb.cc:482
msgid "Unable to get a cursor"
msgstr ""
-#: ftparchive/writer.cc:78
+#: ftparchive/writer.cc:79
#, c-format
msgid "W: Unable to read directory %s\n"
msgstr ""
-#: ftparchive/writer.cc:83
+#: ftparchive/writer.cc:84
#, c-format
msgid "W: Unable to stat %s\n"
msgstr ""
-#: ftparchive/writer.cc:139
+#: ftparchive/writer.cc:140
msgid "E: "
msgstr ""
-#: ftparchive/writer.cc:141
+#: ftparchive/writer.cc:142
msgid "W: "
msgstr ""
-#: ftparchive/writer.cc:148
+#: ftparchive/writer.cc:149
msgid "E: Errors apply to file "
msgstr ""
-#: ftparchive/writer.cc:166 ftparchive/writer.cc:198
+#: ftparchive/writer.cc:167 ftparchive/writer.cc:199
#, c-format
msgid "Failed to resolve %s"
msgstr ""
-#: ftparchive/writer.cc:179
+#: ftparchive/writer.cc:180
msgid "Tree walking failed"
msgstr ""
-#: ftparchive/writer.cc:206
+#: ftparchive/writer.cc:207
#, c-format
msgid "Failed to open %s"
msgstr ""
-#: ftparchive/writer.cc:265
+#: ftparchive/writer.cc:266
#, c-format
msgid " DeLink %s [%s]\n"
msgstr ""
-#: ftparchive/writer.cc:273
+#: ftparchive/writer.cc:274
#, c-format
msgid "Failed to readlink %s"
msgstr ""
-#: ftparchive/writer.cc:277
+#: ftparchive/writer.cc:278
#, c-format
msgid "Failed to unlink %s"
msgstr ""
-#: ftparchive/writer.cc:284
+#: ftparchive/writer.cc:285
#, c-format
msgid "*** Failed to link %s to %s"
msgstr ""
-#: ftparchive/writer.cc:294
+#: ftparchive/writer.cc:295
#, c-format
msgid " DeLink limit of %sB hit.\n"
msgstr ""
-#: ftparchive/writer.cc:398
+#: ftparchive/writer.cc:400
msgid "Archive had no package field"
msgstr ""
-#: ftparchive/writer.cc:406 ftparchive/writer.cc:703
+#: ftparchive/writer.cc:408 ftparchive/writer.cc:710
#, c-format
msgid " %s has no override entry\n"
msgstr ""
-#: ftparchive/writer.cc:472 ftparchive/writer.cc:811
+#: ftparchive/writer.cc:476 ftparchive/writer.cc:826
#, c-format
msgid " %s maintainer is %s not %s\n"
msgstr ""
-#: ftparchive/writer.cc:713
+#: ftparchive/writer.cc:720
#, c-format
msgid " %s has no source override entry\n"
msgstr ""
-#: ftparchive/writer.cc:717
+#: ftparchive/writer.cc:724
#, c-format
msgid " %s has no binary override entry either\n"
msgstr ""
@@ -723,7 +724,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr ""
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr ""
@@ -835,8 +836,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr ""
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2496
+#: cmdline/apt-get.cc:2499
#, c-format
msgid "Couldn't determine free space in %s"
msgstr ""
@@ -870,7 +871,7 @@ msgstr ""
msgid "Do you want to continue [Y/n]? "
msgstr ""
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2561 apt-pkg/algorithms.cc:1453
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr ""
@@ -879,7 +880,7 @@ msgstr ""
msgid "Some files failed to download"
msgstr ""
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2573
msgid "Download complete and in download only mode"
msgstr ""
@@ -955,7 +956,7 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1912
msgid "The following information may help to resolve the situation:"
msgstr ""
@@ -998,7 +999,7 @@ msgid ""
"solution)."
msgstr ""
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1897
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1006,80 +1007,80 @@ msgid ""
"or been moved out of Incoming."
msgstr ""
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1918
msgid "Broken packages"
msgstr ""
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1944
msgid "The following extra packages will be installed:"
msgstr ""
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2034
msgid "Suggested packages:"
msgstr ""
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2035
msgid "Recommended packages:"
msgstr ""
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2077
#, c-format
msgid "Couldn't find package %s"
msgstr ""
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2084 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2092 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2108
msgid "Calculating upgrade... "
msgstr ""
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2111 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr ""
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2116
msgid "Done"
msgstr ""
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2183 cmdline/apt-get.cc:2191
msgid "Internal error, problem resolver broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2215 cmdline/apt-get.cc:2248
msgid "Unable to lock the download directory"
msgstr ""
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2299
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2357
msgid "Must specify at least one package to fetch source for"
msgstr ""
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2398 cmdline/apt-get.cc:2694
#, c-format
msgid "Unable to find a source package for %s"
msgstr ""
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2415
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2420
#, c-format
msgid ""
"Please use:\n"
@@ -1087,120 +1088,120 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2473
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr ""
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2510
#, c-format
msgid "You don't have enough free space in %s"
msgstr ""
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2519
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr ""
#. 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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2524
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr ""
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2530
#, c-format
msgid "Fetch source %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2568
msgid "Failed to fetch some archives."
msgstr ""
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2599
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2611
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2612
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2629
#, c-format
msgid "Build command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2649
msgid "Child process failed"
msgstr ""
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2668
msgid "Must specify at least one package to check builddeps for"
msgstr ""
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2699
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2719
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2770
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2823
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because no available versions of "
"package %s can satisfy version requirements"
msgstr ""
-#: cmdline/apt-get.cc:2855
+#: cmdline/apt-get.cc:2859
#, c-format
msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
msgstr ""
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2886
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2902
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:2907
msgid "Failed to process build dependencies"
msgstr ""
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3000 cmdline/apt-get.cc:3012
#, c-format
msgid "Changelog for %s (%s)"
msgstr ""
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3131
msgid "Supported modules:"
msgstr ""
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3172
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1246,7 +1247,7 @@ msgid ""
" This APT has Super Cow Powers.\n"
msgstr ""
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3335
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1288,6 +1289,22 @@ msgid ""
"in the drive '%s' and press enter\n"
msgstr ""
+#: cmdline/apt-internal-solver.cc:34
+msgid ""
+"Usage: apt-internal-resolver\n"
+"\n"
+"apt-internal-resolver is an interface to use the current internal\n"
+"like an external resolver for the APT family for debugging or alike\n"
+"\n"
+"Options:\n"
+" -h This help text.\n"
+" -q Loggable output - no progress indicator\n"
+" -c=? Read this configuration file\n"
+" -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
+"apt.conf(5) manual pages for more information and options.\n"
+" This APT has Super Cow Powers.\n"
+msgstr ""
+
#: cmdline/apt-mark.cc:46
#, c-format
msgid "%s can not be marked as it is not installed.\n"
@@ -1539,8 +1556,8 @@ msgstr ""
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:102
+#: apt-pkg/init.cc:110 apt-pkg/clean.cc:33 apt-pkg/policy.cc:318
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -2168,12 +2185,12 @@ msgstr ""
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr ""
-#: apt-pkg/contrib/progress.cc:153
+#: apt-pkg/contrib/progress.cc:144
#, c-format
msgid "%c%s... Error!"
msgstr ""
-#: apt-pkg/contrib/progress.cc:155
+#: apt-pkg/contrib/progress.cc:146
#, c-format
msgid "%c%s... Done"
msgstr ""
@@ -2453,12 +2470,12 @@ msgstr ""
msgid "Failed to write temporary StateFile %s"
msgstr ""
-#: apt-pkg/tagfile.cc:102
+#: apt-pkg/tagfile.cc:123
#, c-format
msgid "Unable to parse package file %s (1)"
msgstr ""
-#: apt-pkg/tagfile.cc:189
+#: apt-pkg/tagfile.cc:210
#, c-format
msgid "Unable to parse package file %s (2)"
msgstr ""
@@ -2533,14 +2550,14 @@ msgstr ""
msgid "Type '%s' is not known on line %u in source list %s"
msgstr ""
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2548,7 +2565,7 @@ msgid ""
"you really want to do it, activate the APT::Force-LoopBreak option."
msgstr ""
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2560,23 +2577,23 @@ msgstr ""
msgid "Index file type '%s' is not supported"
msgstr ""
-#: apt-pkg/algorithms.cc:247
+#: apt-pkg/algorithms.cc:250
#, c-format
msgid ""
"The package %s needs to be reinstalled, but I can't find an archive for it."
msgstr ""
-#: apt-pkg/algorithms.cc:1158
+#: apt-pkg/algorithms.cc:1186
msgid ""
"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
"held packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1160
+#: apt-pkg/algorithms.cc:1188
msgid "Unable to correct problems, you have held broken packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1479 apt-pkg/algorithms.cc:1481
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
"used instead."
@@ -2624,12 +2641,12 @@ msgstr ""
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:145
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr ""
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:161
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@@ -2654,17 +2671,17 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr ""
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:355
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:377
#, c-format
msgid "Did not understand pin type %s"
msgstr ""
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:385
msgid "No priority (or zero) specified for pin"
msgstr ""
@@ -2766,8 +2783,8 @@ msgstr ""
msgid "MD5Sum mismatch"
msgstr ""
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1850
+#: apt-pkg/acquire-item.cc:1993
msgid "Hash Sum mismatch"
msgstr ""
@@ -2827,13 +2844,13 @@ msgid ""
"to manually fix this package."
msgstr ""
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1755
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1842
msgid "Size mismatch"
msgstr ""
@@ -3031,148 +3048,168 @@ msgstr ""
msgid "Can't select installed version from package %s as it is not installed"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:54
+#: apt-pkg/edsp.cc:32 apt-pkg/edsp.cc:52
+msgid "Send scenario to solver"
+msgstr ""
+
+#: apt-pkg/edsp.cc:204
+msgid "Send request to solver"
+msgstr ""
+
+#: apt-pkg/edsp.cc:272
+msgid "Prepare for receiving solution"
+msgstr ""
+
+#: apt-pkg/edsp.cc:279
+msgid "External solver failed without a proper error message"
+msgstr ""
+
+#: apt-pkg/edsp.cc:550 apt-pkg/edsp.cc:553 apt-pkg/edsp.cc:558
+msgid "Execute external solver"
+msgstr ""
+
+#: apt-pkg/deb/dpkgpm.cc:69
#, c-format
msgid "Installing %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:55 apt-pkg/deb/dpkgpm.cc:848
+#: apt-pkg/deb/dpkgpm.cc:70 apt-pkg/deb/dpkgpm.cc:864
#, c-format
msgid "Configuring %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:56 apt-pkg/deb/dpkgpm.cc:855
+#: apt-pkg/deb/dpkgpm.cc:71 apt-pkg/deb/dpkgpm.cc:871
#, c-format
msgid "Removing %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:57
+#: apt-pkg/deb/dpkgpm.cc:72
#, c-format
msgid "Completely removing %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:58
+#: apt-pkg/deb/dpkgpm.cc:73
#, c-format
msgid "Noting disappearance of %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:59
+#: apt-pkg/deb/dpkgpm.cc:74
#, c-format
msgid "Running post-installation trigger %s"
msgstr ""
#. FIXME: use a better string after freeze
-#: apt-pkg/deb/dpkgpm.cc:654
+#: apt-pkg/deb/dpkgpm.cc:670
#, c-format
msgid "Directory '%s' missing"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:669 apt-pkg/deb/dpkgpm.cc:689
+#: apt-pkg/deb/dpkgpm.cc:685 apt-pkg/deb/dpkgpm.cc:705
#, c-format
msgid "Could not open file '%s'"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:841
+#: apt-pkg/deb/dpkgpm.cc:857
#, c-format
msgid "Preparing %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:842
+#: apt-pkg/deb/dpkgpm.cc:858
#, c-format
msgid "Unpacking %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:847
+#: apt-pkg/deb/dpkgpm.cc:863
#, c-format
msgid "Preparing to configure %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:849
+#: apt-pkg/deb/dpkgpm.cc:865
#, c-format
msgid "Installed %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:854
+#: apt-pkg/deb/dpkgpm.cc:870
#, c-format
msgid "Preparing for removal of %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:856
+#: apt-pkg/deb/dpkgpm.cc:872
#, c-format
msgid "Removed %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:861
+#: apt-pkg/deb/dpkgpm.cc:877
#, c-format
msgid "Preparing to completely remove %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:862
+#: apt-pkg/deb/dpkgpm.cc:878
#, c-format
msgid "Completely removed %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1082
+#: apt-pkg/deb/dpkgpm.cc:1098
msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1113
+#: apt-pkg/deb/dpkgpm.cc:1129
msgid "Running dpkg"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1338
+#: apt-pkg/deb/dpkgpm.cc:1354
msgid "No apport report written because MaxReports is reached already"
msgstr ""
#. check if its not a follow up error
-#: apt-pkg/deb/dpkgpm.cc:1343
+#: apt-pkg/deb/dpkgpm.cc:1359
msgid "dependency problems - leaving unconfigured"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1345
+#: apt-pkg/deb/dpkgpm.cc:1361
msgid ""
"No apport report written because the error message indicates its a followup "
"error from a previous failure."
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1351
+#: apt-pkg/deb/dpkgpm.cc:1367
msgid ""
"No apport report written because the error message indicates a disk full "
"error"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1357
+#: apt-pkg/deb/dpkgpm.cc:1373
msgid ""
"No apport report written because the error message indicates a out of memory "
"error"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1364
+#: apt-pkg/deb/dpkgpm.cc:1380
msgid ""
"No apport report written because the error message indicates a dpkg I/O error"
msgstr ""
-#: apt-pkg/deb/debsystem.cc:69
+#: apt-pkg/deb/debsystem.cc:79
#, c-format
msgid ""
"Unable to lock the administration directory (%s), is another process using "
"it?"
msgstr ""
-#: apt-pkg/deb/debsystem.cc:72
+#: apt-pkg/deb/debsystem.cc:82
#, c-format
msgid "Unable to lock the administration directory (%s), are you root?"
msgstr ""
#. TRANSLATORS: the %s contains the recovery command, usually
#. dpkg --configure -a
-#: apt-pkg/deb/debsystem.cc:88
+#: apt-pkg/deb/debsystem.cc:98
#, c-format
msgid ""
"dpkg was interrupted, you must manually run '%s' to correct the problem. "
msgstr ""
-#: apt-pkg/deb/debsystem.cc:106
+#: apt-pkg/deb/debsystem.cc:116
msgid "Not locked"
msgstr ""
diff --git a/po/ar.po b/po/ar.po
index 8cf6549ef..749c905fd 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2006-10-20 21:28+0300\n"
"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
"Language-Team: Arabic <support@arabeyes.org>\n"
@@ -160,7 +160,7 @@ msgstr " جدول النسخ:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s لـ%s %s Ù…Ùجمّع على %s %s\n"
@@ -732,7 +732,7 @@ msgstr "إعادة تثبيت %s غير ممكنة، حيث أنّه لا يمÙ
msgid "%s is already the newest version.\n"
msgstr "%s هي النسخة الأحدث.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "إلا أنه سيتم تثبيت %s"
@@ -844,8 +844,8 @@ msgstr "بعد الاستخراج %sب من المساحة الإضاÙيّة س
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "بعد الاستخراج %sب من المساحة ستÙرّغ.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "تعذر حساب المساحة الحرة ÙÙŠ %s"
@@ -882,7 +882,7 @@ msgstr "إجهاض."
msgid "Do you want to continue [Y/n]? "
msgstr "هل تريد الاستمرار [Y/n]؟"
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Ùشل إحضار %s %s\n"
@@ -891,7 +891,7 @@ msgstr "Ùشل إحضار %s %s\n"
msgid "Some files failed to download"
msgstr "Ùشل تنزيل بعض الملÙات"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "اكتمل التنزيل ÙˆÙÙŠ وضع التنزيل Ùقط"
@@ -929,31 +929,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr ""
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "لا يقبل الأمر update أية Ù…Ùعطيات"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -969,16 +969,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "قد تساعد المعلومات التالية ÙÙŠ حل المشكلة:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "خطأ داخلي، عطب AllUpgrade بعض الأشياء"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -988,7 +988,7 @@ msgid_plural ""
msgstr[0] "سيتم تثبيت الحزم الجديدة التالية:"
msgstr[1] "سيتم تثبيت الحزم الجديدة التالية:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -996,26 +996,26 @@ msgid_plural ""
msgstr[0] "سيتم تثبيت الحزم الجديدة التالية:"
msgstr[1] "سيتم تثبيت الحزم الجديدة التالية:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "خطأ داخلي، عطب AllUpgrade بعض الأشياء"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "قد ترغب بتشغيل 'apt-get -f install' لتصحيح هذه:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
"Ù…Ùعتمدات غير مستوÙاة. جرب 'apt-get -f install' بدون أسماء حزم (أو حدّد حلاً)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1023,80 +1023,80 @@ msgid ""
"or been moved out of Incoming."
msgstr ""
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "حزم معطوبة"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "سيتم تثبيت الحزم الإضاÙيّة التالية:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "الحزم المقترحة:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "الحزم المستحسنة:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "تعذر العثور على الحزمة %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "إلا أنه سيتم تثبيت %s"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "حساب الترقية..."
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Ùشل"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "تمّ"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "تعذر Ù‚ÙŽÙْل دليل التنزيل"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "يجب تحديد حزمة واحدة على الأقل لجلب مصدرها"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "تعذر العثور على مصدر الحزمة %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1104,120 +1104,141 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "تخطي المل٠'%s' المنزل مسبقاً\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "ليس هناك مساحة كاÙية ÙÙŠ %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "يجب جلب %sب/%sب من الأرشيÙات المصدرية.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "يجب جلب %sب من الأرشيÙات المصدريّة.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "إحضار المصدر %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Ùشل إحضار بعض الأرشيÙات."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "أمر ÙÙƒ الحزمة '%s' Ùشل.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "أمر البناء '%s' Ùشل.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr ""
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
+#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+
+#: cmdline/apt-get.cc:2951
#, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
-#: cmdline/apt-get.cc:2855
+#: cmdline/apt-get.cc:2957
#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr ""
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "الاتصال بـ%s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "الوحدات المدعومة:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1263,7 +1284,7 @@ msgid ""
" This APT has Super Cow Powers.\n"
msgstr ""
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1561,8 +1582,8 @@ msgstr ""
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1594,7 +1615,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "قراءة قوائم الحزم"
@@ -1959,34 +1980,28 @@ msgstr ""
msgid "Unable to connect to %s:%s:"
msgstr "تعذر الاتصال بـ%s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "إجهاض التثبيت."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr ""
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr ""
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr ""
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2142,57 +2157,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "تعذر العثور على التحديد %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "اختصار نوع مجهول: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Ùتح مل٠التهيئة %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr ""
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr ""
@@ -2335,7 +2350,7 @@ msgstr ""
msgid "Sub-process %s exited unexpectedly"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr ""
@@ -2563,14 +2578,14 @@ msgstr ""
msgid "Type '%s' is not known on line %u in source list %s"
msgstr ""
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2578,7 +2593,7 @@ msgid ""
"you really want to do it, activate the APT::Force-LoopBreak option."
msgstr ""
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2606,7 +2621,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
"used instead."
@@ -2654,12 +2669,12 @@ msgstr ""
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "الرجاء إدخال القرص المÙسمّى '%s' ÙÙŠ السوّاقة '%s' وضغط Ù…Ùتاح الإدخال."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "نظام الحزم '%s' غير مدعوم"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@@ -2684,17 +2699,24 @@ msgstr "قد يساعدك تنÙيذ الأمر apt-get update ÙÙŠ تصحيح Ù
msgid "The list of sources could not be read."
msgstr "تعذرت قراءة قائمة المصادر."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr ""
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr ""
@@ -2783,7 +2805,7 @@ msgstr ""
msgid "Collecting File Provides"
msgstr ""
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr ""
@@ -2796,8 +2818,8 @@ msgstr "Ùشل إعادة التسمية ØŒ %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5Sum غير متطابقة"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
#, fuzzy
msgid "Hash Sum mismatch"
msgstr "MD5Sum غير متطابقة"
@@ -2818,20 +2840,19 @@ msgstr "تعذر Ùتح مل٠قاعدة البيانات %s: %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr ""
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -2839,32 +2860,32 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package. (due to missing arch)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package."
msgstr ""
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "الحجم غير متطابق"
@@ -2983,22 +3004,22 @@ msgstr "كتابة لائحة المصادر الجديدة\n"
msgid "Source list entries for this disc are:\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3018,6 +3039,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "MD5Sum غير متطابقة"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "إجهاض التثبيت."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/ast.po b/po/ast.po
index 8422dd50f..d283fb8d1 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.18\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-10-02 23:35+0100\n"
"Last-Translator: Iñigo Varela <ivarela@softastur.org>\n"
"Language-Team: Asturian (ast)\n"
@@ -153,7 +153,7 @@ msgstr " Tabla de versiones:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s pa %s compiláu en %s %s\n"
@@ -830,7 +830,7 @@ msgstr "La reinstalación de %s nun ye dable, nun pue descargase.\n"
msgid "%s is already the newest version.\n"
msgstr "%s yá ta na versión más nueva.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s axustáu como instaláu manualmente.\n"
@@ -942,8 +942,8 @@ msgstr "Tres d'esta operación, van usase %sB d'espaciu de discu adicional.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Tres d'esta operación, van lliberase %sB d'espaciu de discu.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Nun pue determinase l'espaciu llibre de %s"
@@ -980,7 +980,7 @@ msgstr "Encaboxar."
msgid "Do you want to continue [Y/n]? "
msgstr "¿Quies continuar [S/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Falló algamar %s %s\n"
@@ -989,7 +989,7 @@ msgstr "Falló algamar %s %s\n"
msgid "Some files failed to download"
msgstr "Dellos ficheros nun pudieron descargase"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Descarga completa y en mou de sólo descarga"
@@ -1031,31 +1031,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Nota: Esto faise automáticamente y baxo demanda por dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Inorar release destín non disponible '%s' pal paquete '%s'"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Tomando '%s' como paquetes d'oríxenes en llugar de '%s'\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Inorar versión non disponible de '%s' del paquete '%s'"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "La orde update nun lleva argumentos"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Suponse que nun vamos esborrar coses; nun pue entamase AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1073,15 +1073,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "La siguiente información pue aidar a resolver la situación:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Error internu, AutoRemover rompió coses"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1092,7 +1092,7 @@ msgstr[1] ""
"Los siguientes paquetes instaláronse de manera automática y ya nun se "
"necesiten:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1101,19 +1101,19 @@ msgstr[0] "El paquete %lu instalóse de mou automáticu y yá nun se necesita.\n
msgstr[1] ""
"Los paquetes %lu instaláronse de manera automática y ya nun se necesiten\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Usa 'apt-get autoremove' pa desinstalalos."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Error internu, AllUpgrade rompió coses"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Habríes d'executar 'apt-get -f install' para iguar estos:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1121,7 +1121,7 @@ msgstr ""
"Dependencies ensin cubrir. Tenta 'apt-get -f install' ensin paquetes (o "
"conseña una solución)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1133,73 +1133,73 @@ msgstr ""
"inestable, que dellos paquetes necesarios nun se crearon o que\n"
"s'allugaron fuera d'Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Paquetes frañaos"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Instalaránse los siguientes paquetes extra:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Paquetes afalaos:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Paquetes encamentaos"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Nun pudo alcontrase'l paquete %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s axustáu como instaláu automáticamente.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Calculando l'anovamientu... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Falló"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Fecho"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Error internu, l'iguador de problemes frañó coses"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Nun pue bloquiase'l direutoriu de descarga"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Has de conseñar polo menos un paquete p'algamar so fonte"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Nun pudo alcontrase un paquete fonte pa %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1208,7 +1208,7 @@ msgstr ""
"AVISU: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1220,80 +1220,96 @@ msgstr ""
"pa baxar los caberos anovamientos (posiblemente tovía nun sacaos) pal "
"paquete.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Saltando'l ficheru yá descargáu '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Nun hai espaciu llibre bastante en %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Hai falta descargar %sB/%sB d'archivos fonte.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Hai falta descargar %sB d'archivos fonte.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Fonte descargada %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Falló la descarga de dellos archivos."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Saltando'l desempaquetáu de la fonte yá desempaquetada en %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Falló la orde de desempaquetáu '%s'.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Comprueba qu'el paquete 'dpkg-dev' ta instaláu.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Falló la orde build '%s'.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Falló el procesu fíu"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Hai que conseñar polo menos un paquete pa verificar les dependencies de "
"construcción"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Nun pudo algamase información de dependencies de construcción pa %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s nun tien dependencies de construcción.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el "
+"paquete %s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1302,46 +1318,55 @@ msgstr ""
"La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el "
"paquete %s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Nun se pudo satisfacer la dependencia %s pa %s: El paquete instaláu %s ye "
+"enforma nuevu"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"La dependencia %s en %s nun puede satisfacese porque denguna versión "
"disponible del paquete %s satisfaz los requisitos de versión"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Nun se pudo satisfacer la dependencia %s pa %s: El paquete instaláu %s ye "
-"enforma nuevu"
+"La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el "
+"paquete %s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Fallu pa satisfacer la dependencia %s pa %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Les dependencies de construcción de %s nun pudieron satisfacese."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Fallu al procesar les dependencies de construcción"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Coneutando a %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Módulos sofitaos:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1432,7 +1457,7 @@ msgstr ""
"pa más información y opciones.\n"
" Esti APT tien Poderes de Super Vaca.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1749,8 +1774,8 @@ msgstr "El ficheru %s/%s sobreescribe al que ta nel paquete %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1783,7 +1808,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Lleendo llista de paquetes"
@@ -2151,35 +2176,29 @@ msgstr "Daqué raro asocedió resolviendo '%s:%s' (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Nun pudo coneutase a %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "L'aniellu de claves nun s'instaló en %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Fallu internu: Robla bona, pero nun se pudo determinar la so buelga dixital?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Atopóse polo menos una robla mala."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "Nun pudo executase 'gpgv' pa verificar la robla (¿ta instaláu gpgv?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Fallu desconocíu al executar gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Les siguientes robles nun valieron:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2339,60 +2358,60 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Escoyeta %s que nun s'atopa"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Triba d'abreviatura que nun se reconoz: «%c»"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Abriendo ficheros de configuración %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Fallu de sintaxis %s:%u: Nun hai un nome al entamu del bloque."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Fallu de sintaxis %s:%u: Marca mal formada"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Fallu de sintaxis %s:%u: Puxarra extra dempués del valor"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Error de sintaxis %s:%u: Les directives pueden facese sólo nel nivel cimeru"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Fallu de sintaxis %s:%u: Demasiaes inclusiones añeraes"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Fallu de sintaxis %s:%u: Incluyendo dende equí"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Error de sintaxis %s:%u: La directiva '%s' nun ta sofitada"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Fallu de sintaxis %s:%u: Directiva llimpia requier un tres opciones como "
"argumentos"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Fallu de sintaxis %s:%u: Puxarra extra al final del ficheru"
@@ -2535,7 +2554,7 @@ msgstr "El subprocesu %s devolvió un códigu d'error (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "El subprocesu %s terminó de manera inesperada"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Nun se pudo abrir el ficheru %s"
@@ -2765,7 +2784,7 @@ msgstr "Llinia %u mal formada na llista d'oríxenes %s (triba)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Triba '%s' desconocida na llinia %u de la llista d'oríxenes %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2774,7 +2793,7 @@ msgstr ""
"Nun pudó facese la configuración inmediatamente en '%s'. Por favor, mira man "
"5 apt.conf embaxo APT::Immediate-Configure for details. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2785,7 +2804,7 @@ msgstr ""
"esencial %s por un cote de Conflictos/Pre-Dependencies. Esto normalmente ye "
"malo, pero si daveres quies facelo, activa la opción APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2818,7 +2837,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Nun pueden iguase los problemes; tienes paquetes frañaos reteníos."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2869,12 +2888,12 @@ msgstr "El métodu %s nun entamó correchamente"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Por favor, introduz el discu '%s' nel preséu '%s' y calca Intro."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "El sistema d'empaquetáu '%s' nun ta sofitáu"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Nun pudo determinase una triba de sistema d'empaquetáu afayadiza"
@@ -2900,18 +2919,25 @@ msgstr "Has d'executar apt-get update pa iguar estos problemes"
msgid "The list of sources could not be read."
msgstr "Nun pudo lleese la llista de fontes."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"Rexistru inválidu nel ficheru de preferencies %s, nun hai cabecera Paquete"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Nun s'entiende'l tipu de pin %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Nun hai prioridá (o ye cero) conseñada pa pin"
@@ -3001,7 +3027,7 @@ msgstr "Nun se puede lleer la llista de paquetes d'oríxenes %s"
msgid "Collecting File Provides"
msgstr "Recoyendo ficheros qu'apurren"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Fallu de E/S al grabar caché d'oríxenes"
@@ -3014,8 +3040,8 @@ msgstr "falló'l cambiu de nome, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "La suma MD5 nun concasa"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "La suma hash nun concasa"
@@ -3035,20 +3061,19 @@ msgstr "Nun se pudo parchear el ficheru release %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Nun hai clave pública denguna disponible pa les IDs de clave darréu:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "El ficheru release espiró, inorando %s (nun válidu dende %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Conflictu de distribución: %s (esperábase %s pero obtúvose %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3058,12 +3083,12 @@ msgstr ""
"anováu y va usase un ficheru índiz. Fallu GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Fallu GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3072,7 +3097,7 @@ msgstr ""
"Nun pudo alcontrase un ficheru pal paquete %s. Esto puede significar que "
"necesites iguar manualmente esti paquete (por faltar una arquitectura)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3081,7 +3106,7 @@ msgstr ""
"Nun pudo alcontrase un ficheru pal paquete %s. Esto puede significar que "
"necesites iguar manualmente esti paquete"
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3089,7 +3114,7 @@ msgstr ""
"Los ficheros d'indiz de paquetes tan corrompíos. Nun hai campu Filename: pal "
"paquete %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "El tamañu nun concasa"
@@ -3213,22 +3238,22 @@ msgstr "Escribiendo llista nueva d'oríxenes\n"
msgid "Source list entries for this disc are:\n"
msgstr "Les entraes de la llista d'oríxenes pa esti discu son:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i rexistros escritos.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i rexistros escritos con %i ficheros de menos.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i rexistros escritos con %i ficheros mal empareyaos\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3250,6 +3275,17 @@ msgstr "Nun puede alcontrase'l rexistru d'autenticación pa: %s"
msgid "Hash mismatch for: %s"
msgstr "El hash nun concasa pa: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "L'aniellu de claves nun s'instaló en %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3511,6 +3547,9 @@ msgstr "Conexón encaboxada prematuramente"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Fallu internu, grupu '%s' nun tien paquete pseudo instalable"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "El ficheru release espiró, inorando %s (nun válidu dende %s)"
+
#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
#~ msgstr ""
#~ "E: Llista d'argumentos d'Acquire::gpgv::Options demasiao llarga. Colando."
diff --git a/po/bg.po b/po/bg.po
index 36ad08273..fe5c9c865 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.21\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-08-27 22:33+0300\n"
"Last-Translator: Damyan Ivanov <dmn@debian.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -159,7 +159,7 @@ msgstr " Таблица Ñ Ð²ÐµÑ€Ñиите:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s за %s компилиран на %s %s\n"
@@ -842,7 +842,7 @@ msgstr "ПреинÑталациÑта на %s не е възможна, не м
msgid "%s is already the newest version.\n"
msgstr "%s вече е най-новата верÑиÑ.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s е отбелÑзан като ръчно инÑталиран.\n"
@@ -959,8 +959,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "След тази Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‰Ðµ бъде оÑвободено %sB диÑково проÑтранÑтво.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "ÐеуÑпех при определÑнето на Ñвободното проÑтранÑтво в %s"
@@ -997,7 +997,7 @@ msgstr "ПрекъÑване."
msgid "Do you want to continue [Y/n]? "
msgstr "ИÑкате ли да продължите [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "ÐеуÑпех при изтеглÑнето на %s %s\n"
@@ -1006,7 +1006,7 @@ msgstr "ÐеуÑпех при изтеглÑнето на %s %s\n"
msgid "Some files failed to download"
msgstr "ÐÑкои файлове не можаха да бъдат изтеглени"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "ИзтеглÑнето завърши в режим Ñамо на изтеглÑне"
@@ -1048,31 +1048,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Това Ñе прави автоматично от dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Игнориране на неÑъщеÑтвуващо издание „%s“ на пакета „%s“"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Използване на пакет източник „%s“ вмеÑто „%s“\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Игнориране на неÑъщеÑтвуваща верÑÐ¸Ñ â€ž%s“ на пакета „%s“"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Командата „update“ не възприема аргументи"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Ðе би Ñ‚Ñ€Ñбвало да Ñе изтрива. AutoRemover нÑма да бъде Ñтартиран"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1090,16 +1090,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr ""
"Следната Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð¶Ðµ да помогне за намиране на изход от ÑитуациÑта:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Вътрешна грешка, AutoRemover Ñчупи нещо в ÑиÑтемата"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1109,7 +1109,7 @@ msgstr[0] "СледниÑÑ‚ пакет е бил инÑталиран автом
msgstr[1] ""
"Следните пакети Ñа били инÑталирани автоматично и вече не Ñа необходими:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1118,19 +1118,19 @@ msgstr[0] "%lu пакет е бил инÑталиран автоматично
msgstr[1] ""
"%lu пакета Ñа били инÑталирани автоматично и вече не Ñа необходими:\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Използвайте „apt-get autoremove“ за да ги премахнете."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Вътрешна грешка, „AllUpgrade“ Ñчупи нещо в ÑиÑтемата"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Възможно е да изпълните „apt-get -f install“, за да коригирате:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1138,7 +1138,7 @@ msgstr ""
"Ðеудовлетворени завиÑимоÑти. Опитайте „apt-get -f install“ без пакети (или "
"укажете разрешение)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1150,73 +1150,73 @@ msgstr ""
"диÑтрибуциÑ, че нÑкои необходими пакети още не Ñа Ñъздадени или пък\n"
"Ñа били премеÑтени от Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Счупени пакети"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Следните допълнителни пакети ще бъдат инÑталирани:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Предложени пакети:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Препоръчвани пакети:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "ÐеуÑпех при намирането на пакет %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s е отбелÑзан като автоматично инÑталиран.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "ИзчиÑлÑване на актуализациÑта..."
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "ÐеуÑпех"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Готово"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Вътрешна грешка, „problem resolver“ Ñчупи нещо в ÑиÑтемата"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "ÐеуÑпех при заключването на директориÑта за изтеглÑне"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "ТрÑбва да укажете поне един пакет за изтеглÑне на Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð¼Ñƒ код"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "ÐеуÑпех при намирането на изходен код на пакет %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1226,7 +1226,7 @@ msgstr ""
"адреÑ:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1238,81 +1238,97 @@ msgstr ""
"за да изтеглите поÑледните промени в пакета (евентуално в Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° "
"разработка).\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "ПропуÑкане на вече Ð¸Ð·Ñ‚ÐµÐ³Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "ÐÑмате доÑтатъчно Ñвободно проÑтранÑтво в %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Ðеобходимо е да Ñе изтеглÑÑ‚ %sB/%sB архиви изходен код.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Ðеобходимо е да Ñе изтеглÑÑ‚ %sB архиви изходен код.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "ИзтеглÑне на изходен код %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "ÐеуÑпех при изтеглÑнето на нÑкои архиви."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
"ПропуÑкане на разпакетирането на вече Ñ€Ð°Ð·Ð¿Ð°ÐºÐµÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ÐµÐ½ код в %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Командата за разпакетиране „%s“ пропадна.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Проверете дали имате инÑталиран пакета „dpkg-dev“.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Командата за компилиране „%s“ пропадна.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "ПроцеÑÑŠÑ‚-потомък пропадна"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"ТрÑбва да укажете поне един пакет за проверка на завиÑимоÑти за компилиране"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
"ÐеуÑпех при получаването на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° завиÑимоÑтите за компилиране на %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s нÑма завиÑимоÑти за компилиране.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"ЗавиÑимоÑÑ‚ %s за пакета %s не може да бъде удовлетворена, понеже пакета %s "
+"не може да бъде намерен"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1321,47 +1337,56 @@ msgstr ""
"ЗавиÑимоÑÑ‚ %s за пакета %s не може да бъде удовлетворена, понеже пакета %s "
"не може да бъде намерен"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"ÐеуÑпех при удовлетворÑването на завиÑимоÑÑ‚ %s за пакета %s: ИнÑталираниÑÑ‚ "
+"пакет %s е твърде нов"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"ЗавиÑимоÑÑ‚ %s за пакета %s не може да бъде удовлетворена, понеже нÑма "
"налични верÑии на пакета %s, които могат да удовлетворÑÑ‚ изиÑкването за "
"верÑиÑ"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"ÐеуÑпех при удовлетворÑването на завиÑимоÑÑ‚ %s за пакета %s: ИнÑталираниÑÑ‚ "
-"пакет %s е твърде нов"
+"ЗавиÑимоÑÑ‚ %s за пакета %s не може да бъде удовлетворена, понеже пакета %s "
+"не може да бъде намерен"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "ÐеуÑпех при удовлетворÑването на завиÑимоÑÑ‚ %s за пакета %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "ЗавиÑимоÑтите за компилиране на %s не можаха да бъдат удовлетворени."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "ÐеуÑпех при обработката на завиÑимоÑтите за компилиране"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Свързване Ñ %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Поддържани модули:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1452,7 +1477,7 @@ msgstr ""
"Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ опции.\n"
" Това APT има Върховни Сили.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1765,8 +1790,8 @@ msgstr "Файл %s/%s Ð·Ð°Ð¼ÐµÐ½Ñ Ñ‚Ð¾Ð·Ð¸ в пакет %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1799,7 +1824,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Четене на ÑпиÑъците Ñ Ð¿Ð°ÐºÐµÑ‚Ð¸"
@@ -2169,38 +2194,32 @@ msgstr "Ðещо лошо Ñе Ñлучи при намирането на IP а
msgid "Unable to connect to %s:%s:"
msgstr "ÐеуÑпех при Ñвързване Ñ %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Ð’ %s нÑма инÑталиран ключодържател."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Вътрешна грешка: Валиден подпиÑ, но не може да Ñе провери отпечатъка на "
"ключа?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Ðамерен е поне един невалиден подпиÑ."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"ÐеуÑпех при изпълнение на „gpgv“ за проверка на подпиÑа (инÑталиран ли е "
"gpgv?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "ÐеизвеÑтна грешка при изпълнението на gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Следните подпиÑи Ñа невалидни:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2361,60 +2380,60 @@ msgstr "%liÑ"
msgid "Selection %s not found"
msgstr "Изборът %s не е намерен"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "ÐеизвеÑтен тип на абревиатура: „%c“"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "ОтварÑне на конфигурационен файл %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Синтактична грешка %s:%u: Ð’ началото на блока нÑма име."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Синтактична грешка %s:%u: Лошо форматиран таг"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Синтактична грешка %s:%u: Излишни Ñимволи Ñлед ÑтойноÑтта"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Синтактична грешка %s:%u: Директиви могат да Ñе задават Ñамо в най-горното "
"ниво"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Синтактична грешка %s:%u: Твърде много вложени „include“"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Синтактична грешка %s:%u: Извикан „include“ оттук"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Синтактична грешка %s:%u: Ðеподдържана директива „%s“"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Синтактична грешка %s:%u: директивата clear изиÑква аргумент дърво от опции"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Синтактична грешка %s:%u: Излишни Ñимволи в ÐºÑ€Ð°Ñ Ð½Ð° файла"
@@ -2559,7 +2578,7 @@ msgstr "ПодпроцеÑÑŠÑ‚ %s върна код за грешка (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "ПодпроцеÑÑŠÑ‚ %s завърши неочаквано"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "ÐеуÑпех при отварÑнето на файла %s"
@@ -2794,7 +2813,7 @@ msgstr "Лошо форматиран ред %u в ÑпиÑъка Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Типът „%s“ на ред %u в ÑпиÑъка Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ†Ð¸ %s е неизвеÑтен."
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2803,7 +2822,7 @@ msgstr ""
"ÐеуÑпех при незабавната наÑтройка на „%s“. За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð²Ð¸Ð¶Ñ‚Ðµ "
"информациÑта за APT::Immediate-Configure в „man 5 apt.conf“. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2815,7 +2834,7 @@ msgstr ""
"пакет %s. Това чеÑто е лошо, но ако наиÑтина иÑкате да го направите, "
"активирайте опциÑта APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2850,7 +2869,7 @@ msgid "Unable to correct problems, you have held broken packages."
msgstr ""
"ÐеуÑпех при коригирането на проблемите, имате задържани Ñчупени пакети."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2901,12 +2920,12 @@ msgstr "Методът %s не Ñтартира правилно"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Сложете диÑка, озаглавен „%s“ в уÑтройÑтво „%s“ и натиÑнете „Enter“."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Пакетната ÑиÑтема „%s“ не е поддържана"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "ÐеуÑпех при определÑнето на подходÑща пакетна ÑиÑтема"
@@ -2934,17 +2953,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "СпиÑъкът Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ†Ð¸ не можа да бъде прочетен."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Ðевалиден Ð·Ð°Ð¿Ð¸Ñ Ð²ÑŠÐ² файла Ñ Ð½Ð°Ñтройки %s, липÑва заглавна чаÑÑ‚ Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "ÐеизвеÑтен тип за отбиване %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "ÐÑма указан приоритет (или е нула) на отбиването"
@@ -3038,7 +3064,7 @@ msgstr ""
msgid "Collecting File Provides"
msgstr "Събиране на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° „ОÑигурÑва“"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Входно/изходна грешка при запазването на кеша на пакети Ñ Ð¸Ð·Ñ…Ð¾Ð´ÐµÐ½ код"
@@ -3051,8 +3077,8 @@ msgstr "преименуването Ñе провали, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "ÐеÑъответÑтвие на контролна Ñума MD5"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "ÐеÑъответÑтвие на контролната Ñума"
@@ -3072,20 +3098,19 @@ msgstr "ÐеуÑпех при анализиране на файл Release %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "ÐÑма налични публични ключове за Ñледните идентификатори на ключове:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Файлът %s вече не е валиден и ще бъде игнориран. (изтекъл е преди %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Конфликт в диÑтрибуциÑта: %s (очаквана: %s, намерена: %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3095,12 +3120,12 @@ msgstr ""
"използват Ñтарите индекÑни файлове. Грешка от GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Грешка от GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3109,7 +3134,7 @@ msgstr ""
"ÐеуÑпех при намирането на файл за пакет %s. Това може да означава, че Ñ‚Ñ€Ñбва "
"ръчно да оправите този пакет (поради пропуÑната архитектура)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3118,14 +3143,14 @@ msgstr ""
"ÐеуÑпех при намирането на файл за пакет %s. Това може да означава, че Ñ‚Ñ€Ñбва "
"ръчно да оправите този пакет."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"ИндекÑните файлове на пакета Ñа повредени. ÐÑма поле Filename: за пакет %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "ÐеÑъответÑтвие на размера"
@@ -3249,22 +3274,22 @@ msgstr "Запазване на Ð½Ð¾Ð²Ð¸Ñ ÑпиÑък Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ†Ð¸\n"
msgid "Source list entries for this disc are:\n"
msgstr "ЗапиÑите в ÑпиÑъка Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ†Ð¸ за този диÑк Ñа:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "ЗапиÑани Ñа %i запиÑа.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "ЗапиÑани Ñа %i запиÑа Ñ %i липÑващи файла.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "ЗапиÑани Ñа %i запиÑа Ñ %i неÑъответÑтващи файла\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "ЗапиÑани Ñа %i запиÑа Ñ %i липÑващи и %i неÑъответÑтващи файла\n"
@@ -3284,6 +3309,17 @@ msgstr "Ðе е намерен oторизационен Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°: %s"
msgid "Hash mismatch for: %s"
msgstr "ÐеÑъответÑтвие на контролната Ñума за: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Ð’ %s нÑма инÑталиран ключодържател."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3549,6 +3585,10 @@ msgstr "Връзката прекъÑна преждевременно"
#~ msgstr ""
#~ "Вътрешна грешка, групата „%s“ нÑма пÑевдо-пакет, подходÑщ за инÑталиране"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr ""
+#~ "Файлът %s вече не е валиден и ще бъде игнориран. (изтекъл е преди %s)"
+
#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
#~ msgstr ""
#~ "E: СпиÑъкът Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸ от Acquire::gpgv::Options е твърде дълъг. "
diff --git a/po/bs.po b/po/bs.po
index 537e8889e..c85c979c2 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.26\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2004-05-06 15:25+0100\n"
"Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
"Language-Team: Bosnian <lokal@lugbih.org>\n"
@@ -155,7 +155,7 @@ msgstr ""
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr ""
@@ -739,7 +739,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr ""
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "ali se %s treba instalirati"
@@ -852,8 +852,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr ""
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr ""
@@ -888,7 +888,7 @@ msgstr "Odustani."
msgid "Do you want to continue [Y/n]? "
msgstr "Da li želite nastaviti? [Y/n]"
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr ""
@@ -897,7 +897,7 @@ msgstr ""
msgid "Some files failed to download"
msgstr ""
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr ""
@@ -933,31 +933,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr ""
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr ""
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -973,15 +973,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr ""
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -991,7 +991,7 @@ msgid_plural ""
msgstr[0] "Slijedeći NOVI paketi će biti instalirani:"
msgstr[1] "Slijedeći NOVI paketi će biti instalirani:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -999,25 +999,25 @@ msgid_plural ""
msgstr[0] "Slijedeći NOVI paketi će biti instalirani:"
msgstr[1] "Slijedeći NOVI paketi će biti instalirani:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1025,80 +1025,80 @@ msgid ""
"or been moved out of Incoming."
msgstr ""
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Oštećeni paketi"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Slijedeći dodatni paketi će biti instalirani:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Predloženi paketi:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "PreporuÄeni paketi:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr ""
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "ali se %s treba instalirati"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "RaÄunam nadogradnju..."
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Neuspješno"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Urađeno"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr ""
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr ""
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1106,120 +1106,141 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr ""
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr ""
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr ""
#. 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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr ""
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr ""
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr ""
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
+#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+
+#: cmdline/apt-get.cc:2951
#, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
-#: cmdline/apt-get.cc:2855
+#: cmdline/apt-get.cc:2957
#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr ""
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, c-format
msgid "Changelog for %s (%s)"
msgstr ""
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Podržani moduli:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1265,7 +1286,7 @@ msgid ""
" This APT has Super Cow Powers.\n"
msgstr ""
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1558,8 +1579,8 @@ msgstr ""
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1591,7 +1612,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "ÄŒitam spiskove paketa"
@@ -1955,35 +1976,29 @@ msgstr ""
msgid "Unable to connect to %s:%s:"
msgstr "Ne mogu se povezati sa %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Odustajem od instalacije."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr ""
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr ""
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
#, fuzzy
msgid "The following signatures were invalid:\n"
msgstr "Slijedeći dodatni paketi će biti instalirani:"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2139,57 +2154,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr ""
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr ""
@@ -2332,7 +2347,7 @@ msgstr ""
msgid "Sub-process %s exited unexpectedly"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr ""
@@ -2561,14 +2576,14 @@ msgstr ""
msgid "Type '%s' is not known on line %u in source list %s"
msgstr ""
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2576,7 +2591,7 @@ msgid ""
"you really want to do it, activate the APT::Force-LoopBreak option."
msgstr ""
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2604,7 +2619,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
"used instead."
@@ -2652,12 +2667,12 @@ msgstr ""
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr ""
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@@ -2682,17 +2697,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr ""
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr ""
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr ""
@@ -2781,7 +2803,7 @@ msgstr ""
msgid "Collecting File Provides"
msgstr ""
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr ""
@@ -2794,8 +2816,8 @@ msgstr ""
msgid "MD5Sum mismatch"
msgstr ""
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr ""
@@ -2815,20 +2837,19 @@ msgstr "Ne mogu otvoriti DB datoteku %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr ""
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -2836,32 +2857,32 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package. (due to missing arch)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package."
msgstr ""
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr ""
@@ -2980,22 +3001,22 @@ msgstr ""
msgid "Source list entries for this disc are:\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3015,6 +3036,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr ""
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Odustajem od instalacije."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/ca.po b/po/ca.po
index efae32428..4801c0c11 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.15\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2011-06-16 01:41+0200\n"
"Last-Translator: Jordi Mallach <jordi@debian.org>\n"
"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -156,7 +156,7 @@ msgstr " Taula de versió:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s per a %s compilat el %s %s\n"
@@ -831,7 +831,7 @@ msgstr "No es possible la reinstaŀlació del paquet %s, no es pot baixar.\n"
msgid "%s is already the newest version.\n"
msgstr "%s ja es troba en la versió més recent.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "S'ha marcat %s com instaŀlat manualment.\n"
@@ -948,8 +948,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Després d'aquesta operació s'alliberaran %sB d'espai en disc.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "No s'ha pogut determinar l'espai lliure en %s"
@@ -986,7 +986,7 @@ msgstr "Avortat."
msgid "Do you want to continue [Y/n]? "
msgstr "Voleu continuar [S/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "No s'ha pogut obtenir %s %s\n"
@@ -995,7 +995,7 @@ msgstr "No s'ha pogut obtenir %s %s\n"
msgid "Some files failed to download"
msgstr "Alguns fitxers no s'han pogut baixar"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Baixada completa i en mode de només baixada"
@@ -1037,33 +1037,33 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Nota: Això ho fa el dpkg automàticament i a propòsit."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignora la versió objectiu «%s» no disponible del paquet «%s»"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "S'està agafant «%s» com a paquet font en lloc de '%s'\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Descarta la versió «%s» no disponible del paquet «%s»"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "L'ordre update no pren arguments"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Es suposa que no hauriem de suprimir coses, no es pot iniciar el supressor "
"automàtic"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1081,15 +1081,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "La informació següent pot ajudar-vos a resoldre la situació:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "S'ha produït un error intern, el supressor automàtic ha trencat coses"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1100,7 +1100,7 @@ msgstr[0] ""
msgstr[1] ""
"Els paquets següents s'han instaŀlat automàticament i ja no són necessaris:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1110,19 +1110,19 @@ msgstr[0] ""
msgstr[1] ""
"Els paquets %lu es van s'instaŀlar automàticament i ja no són necessaris:\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Empreu «apt-get autoremove» per a suprimir-los."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Error intern, AllUpgrade ha trencat coses"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Potser voldreu executar «apt-get -f install» per corregir-ho:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1130,7 +1130,7 @@ msgstr ""
"Dependències insatisfetes. Proveu amb «apt-get -f install» sense paquets (o "
"especifiqueu una solució)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1142,33 +1142,33 @@ msgstr ""
"«unstable» i alguns paquets requerits encara no han estat creats o bé\n"
"encara no els hi han introduït des d'«Incoming»."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Paquets trencats"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "S'instaŀlaran els següents paquets extres:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Paquets suggerits:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Paquets recomanats:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "No s'ha pogut trobar el paquet %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "S'ha marcat %s com instaŀlat automàticament.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
@@ -1176,42 +1176,42 @@ msgstr ""
"Aquesta ordre és desfasada. Empreu «apt-mark auto» i «apt-mark manual» en el "
"seu lloc."
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "S'està calculant l'actualització… "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Ha fallat"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Fet"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr ""
"S'ha produït un error intern, el solucionador de problemes ha trencat coses"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "No és possible blocar el directori de descàrrega"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr "S'està baixant %s %s"
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Haureu d'especificar un paquet de codi font per a baixar"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "No es pot trobar un paquet de fonts per a %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1221,7 +1221,7 @@ msgstr ""
"versions «%s» a:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1233,82 +1233,98 @@ msgstr ""
"per a obtenir les últimes actualitzacions (possiblement no publicades) del "
"paquet.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "S'està ometent el fitxer ja baixat «%s»\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "No teniu prou espai lliure en %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Es necessita baixar %sB/%sB d'arxius font.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Es necessita baixar %sB d'arxius font.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Obtén el font %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "No s'ha pogut baixar alguns arxius."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
"S'està ometent el desempaquetament de les fonts que ja ho estan en %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "L'ordre de desempaquetar «%s» ha fallat.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Comproveu si el paquet «dpkgdev» està instaŀlat.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "L'ordre de construir «%s» ha fallat.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Ha fallat el procés fill"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"S'ha d'especificar un paquet per a verificar les dependències de construcció "
"per a"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
"No es pot obtenir informació sobre les dependències de construcció per a %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s no té dependències de construcció.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"La dependència %s en %s no es pot satisfer per que no es pot trobar el "
+"paquet %s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1317,46 +1333,55 @@ msgstr ""
"La dependència %s en %s no es pot satisfer per que no es pot trobar el "
"paquet %s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"No s'ha pogut satisfer la dependència %s per a %s: El paquet instaŀlat %s és "
+"massa nou"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"La dependència %s per a %s no es pot satisfer per que cap versió del paquet "
"%s pot satisfer els requeriments de versions"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"No s'ha pogut satisfer la dependència %s per a %s: El paquet instaŀlat %s és "
-"massa nou"
+"La dependència %s en %s no es pot satisfer per que no es pot trobar el "
+"paquet %s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "No s'ha pogut satisfer la dependència %s per a %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "No s'han pogut satisfer les dependències de construcció per a %s"
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "No es poden processar les dependències de construcció"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, c-format
msgid "Changelog for %s (%s)"
msgstr "Registre de canvis per a %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Mòduls suportats:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1446,7 +1471,7 @@ msgstr ""
"per a obtenir més informació i opcions.\n"
" Aquest APT té superpoders bovins.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1781,8 +1806,8 @@ msgstr "El fitxer %s/%s sobreescriu al que està en el paquet %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1816,7 +1841,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "S'està llegint la llista de paquets"
@@ -2185,38 +2210,32 @@ msgstr "Ha passat alguna cosa estranya en resoldre '%s:%s' (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "No es pot connectar amb %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "No s'ha instaŀlat cap clauer a %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Error intern: La signatura és correcta, però no s'ha pogut determinar "
"l'emprempta digital de la clau!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "S'ha trobat almenys una signatura invàlida."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"No s'ha pogut executar «gpgv» per a verificar la signatura (està instaŀlat "
"el gpgv?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "S'ha produït un error desconegut en executar el gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Les signatures següents són invàlides:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2378,59 +2397,59 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "No s'ha trobat la selecció %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Abreujament de tipus no reconegut: «%c»"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "S'està obrint el fitxer de configuració %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Error sintàctic %s:%u: No comença el camp amb un nom."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Error sintàctic %s:%u: Etiqueta malformada"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Error sintàctic %s:%u Text extra després del valor"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Error sintàctic %s:%u: Es permeten directrius només al nivell més alt"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Error sintàctic %s:%u: Hi ha masses fitxers include niats"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Error sintàctic %s:%u: Inclusió des d'aquí"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Error sintàctic %s:%u: Directriu no suportada «%s»"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Error sintàctic %s:%u: la directiva clear requereix un arbre d'opcions com a "
"argument"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Error sintàctic %s:%u: Text extra al final del fitxer"
@@ -2578,7 +2597,7 @@ msgstr "El sub-procés %s ha retornat un codi d'error (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "El sub-procés %s ha sortit inesperadament"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "No s'ha pogut obrir el fitxer %s"
@@ -2808,7 +2827,7 @@ msgstr "La línia %u és malformada en la llista de fonts %s (tipus)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "El tipus «%s» no és conegut en la línia %u de la llista de fonts %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2817,7 +2836,7 @@ msgstr ""
"No s'ha pogut realitzar la configuració immediata de '%s'. Consulteu man 5 "
"apt.conf, secció APT::Immediate-Configure per a més detalls. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2829,7 +2848,7 @@ msgstr ""
"dolenta, però si realment desitgeu fer-la, activeu l'opció APT::Force-"
"LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2864,7 +2883,7 @@ msgstr ""
"No es poden corregir els problemes, teniu paquets retinguts que estan "
"trencats."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2915,12 +2934,12 @@ msgstr "El mètode %s no s'ha iniciat correctament"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Inseriu el disc amb l'etiqueta: «%s» en la unitat «%s» i premeu Intro."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "El sistema d'empaquetament «%s» no està suportat"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "No es pot determinar un tipus de sistema d'empaquetament adequat."
@@ -2947,17 +2966,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "No s'ha pogut llegir la llista de les fonts."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Registre no vàlid al fitxer de preferències %s, paquet sense capçalera"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "No s'ha entès el pin de tipus %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "No hi ha prioritat especificada per al pin (o és zero)"
@@ -3054,7 +3080,7 @@ msgstr "No s'ha pogut llegir la llista de paquets font %s"
msgid "Collecting File Provides"
msgstr "S'estan recollint els fitxers que proveeixen"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Error d'E/S en desar la memòria cau de la font"
@@ -3067,8 +3093,8 @@ msgstr "no s'ha pogut canviar el nom, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "La suma MD5 no concorda"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "La suma resum no concorda"
@@ -3090,20 +3116,19 @@ msgstr "No s'ha trobat la suma de comprovació per a «%s» al fitxer Release"
msgid "There is no public key available for the following key IDs:\n"
msgstr "No hi ha cap clau pública disponible per als següents ID de clau:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "El fitxer Release ha caducat, s'està ignorant %s (invàlid des de %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Distribució en conflicte: %s (s'esperava %s però s'ha obtingut %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3114,12 +3139,12 @@ msgstr ""
"%s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "S'ha produït un error amb el GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3129,7 +3154,7 @@ msgstr ""
"significar que haureu d'arreglar aquest paquet manualment (segons "
"arquitectura)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3138,7 +3163,7 @@ msgstr ""
"No s'ha trobat un fitxer pel paquet %s. Això podria significar que haureu "
"d'arreglar aquest paquet manualment."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3146,7 +3171,7 @@ msgstr ""
"L'índex dels fitxers en el paquet està corromput. Fitxer no existent: camp "
"per al paquet %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "La mida no concorda"
@@ -3270,22 +3295,22 @@ msgstr "S'està escrivint una nova llista de fonts\n"
msgid "Source list entries for this disc are:\n"
msgstr "Les entrades de la llista de fonts per a aquest disc són:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "S'han escrit %i registres.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "S'han escrit %i registres, on falten %i fitxers.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "S'han escrit %i registres, on hi ha %i fitxers no coincidents\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3307,6 +3332,17 @@ msgstr "No s'ha pogut trobar el registre d'autenticatió per a: %s"
msgid "Hash mismatch for: %s"
msgstr "El resum no coincideix per a: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "No s'ha instaŀlat cap clauer a %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3572,6 +3608,10 @@ msgstr "La connexió s'ha tancat prematurament"
#~ "S'ha produït un error intern, el grup '%s' no disposa d'un pseudopaquet "
#~ "instaŀlable"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr ""
+#~ "El fitxer Release ha caducat, s'està ignorant %s (invàlid des de %s)"
+
#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
#~ msgstr ""
#~ "E: La llista d'arguments d'Acquire::gpgv::Options és massa llarga. S'està "
diff --git a/po/cs.po b/po/cs.po
index f9c63cf7f..0a6cfc298 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-11-27 13:54+0100\n"
"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -154,7 +154,7 @@ msgstr " Tabulka verzí:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s pro %s zkompilován na %s %s\n"
@@ -828,7 +828,7 @@ msgstr "Přeinstalace %s není možná, protože nelze stáhnout.\n"
msgid "%s is already the newest version.\n"
msgstr "%s je již nejnovější verze.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s nastaven jako instalovaný ruÄnÄ›.\n"
@@ -941,8 +941,8 @@ msgstr "Po této operaci bude na disku použito dalších %sB.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Po této operaci bude na disku uvolněno %sB.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Nelze urÄit volné místo v %s"
@@ -979,7 +979,7 @@ msgstr "Přerušeno."
msgid "Do you want to continue [Y/n]? "
msgstr "Chcete pokraÄovat [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Selhalo stažení %s %s\n"
@@ -988,7 +988,7 @@ msgstr "Selhalo stažení %s %s\n"
msgid "Some files failed to download"
msgstr "Některé soubory nemohly být staženy"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Stahování dokonÄeno v režimu pouze stáhnout"
@@ -1033,31 +1033,31 @@ msgstr[2] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Poznámka: Toto má svůj důvod a děje se automaticky v dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignoruje se nedostupné vydání „%s“ balíku „%s“"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Vybírám „%s“ jako zdrojový balík místo „%s“\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignoruje se nedostupná verze „%s“ balíku „%s“"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Příkaz update neakceptuje žádné argumenty"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Neměli bychom mazat věci, nemůžu spustit AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1075,15 +1075,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Následující informace vám mohou pomoci vyřešit tuto situaci:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Vnitřní chyba, AutoRemover pokazil věci"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1095,7 +1095,7 @@ msgstr[1] ""
msgstr[2] ""
"Následující balíky byly nainstalovány automaticky a již nejsou potřeba:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1104,19 +1104,19 @@ msgstr[0] "%lu balík byl nainstalován automaticky a již není potřeba.\n"
msgstr[1] "%lu balíky byly nainstalovány automaticky a již nejsou potřeba.\n"
msgstr[2] "%lu balíků bylo nainstalováno automaticky a již nejsou potřeba.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Pro jejich odstranění použijte „apt-get autoremove“."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Vnitřní chyba, AllUpgrade pokazil věci"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Pro opravení následujících můžete spustit „apt-get -f install“:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1124,7 +1124,7 @@ msgstr ""
"Nesplněné závislosti. Zkuste spustit „apt-get -f install“ bez balíků (nebo "
"navrhněte řešení)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1135,73 +1135,73 @@ msgstr ""
"nemožnou situaci, nebo, pokud používáte nestabilní distribuci, že\n"
"vyžadované balíky ještě nebyly vytvořeny nebo přesunuty z Příchozí fronty."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Poškozené balíky"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Následující extra balíky budou instalovány:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Navrhované balíky:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "DoporuÄované balíky:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Nelze najít balík %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s nastaven jako instalovaný automaticky.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "PropoÄítávám aktualizaci… "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Selhalo"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Hotovo"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Vnitřní chyba, řešitel problémů pokazil věci"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Nelze zamknout adresář pro stahování"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Musíte zadat aspoň jeden balík, pro který se stáhnou zdrojové texty"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Nelze najít zdrojový balík pro %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1210,7 +1210,7 @@ msgstr ""
"INFO: Balík „%s“ je spravován v systému pro správu verzí „%s“ na:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1221,125 +1221,146 @@ msgstr ""
"použijte:\n"
"bzr get %s\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Přeskakuji dříve stažený soubor „%s“\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Na %s nemáte dostatek volného místa"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Potřebuji stáhnout %sB/%sB zdrojových archivů.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Potřebuji stáhnout %sB zdrojových archivů.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Stáhnout zdroj %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Stažení některých archivů selhalo."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Přeskakuji rozbalení již rozbaleného zdroje v %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Příkaz pro rozbalení „%s“ selhal.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Zkontrolujte, zda je nainstalován balíÄek „dpkg-dev“.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Příkaz pro sestavení „%s“ selhal.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Synovský proces selhal"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Musíte zadat alespoň jeden balík, pro který budou kontrolovány závislosti "
"pro sestavení"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Nelze získat závislosti pro sestavení %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s nemá žádné závislosti pro sestavení.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "%s závislost pro %s nemůže být splněna, protože balík %s nebyl nalezen"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "%s závislost pro %s nemůže být splněna, protože balík %s nebyl nalezen"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Selhalo splnění %s závislosti pro %s: Instalovaný balík %s je příliš nový"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s závislost pro %s nemůže být splněna protože není k dispozici verze balíku "
"%s, která odpovídá požadavku na verzi"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr ""
-"Selhalo splnění %s závislosti pro %s: Instalovaný balík %s je příliš nový"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "%s závislost pro %s nemůže být splněna, protože balík %s nebyl nalezen"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Selhalo splnění %s závislosti pro %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Závislosti pro sestavení %s nemohly být splněny."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Chyba při zpracování závislostí pro sestavení"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Připojuji se k %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Podporované moduly:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1427,7 +1448,7 @@ msgstr ""
"a apt.conf(5).\n"
" Tato APT má schopnosti svaté krávy.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1737,8 +1758,8 @@ msgstr "Soubor %s/%s přepisuje ten z balíku %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1770,7 +1791,7 @@ msgstr "Adresáře info a temp musí být na stejném souborovém systému"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Čtu seznamy balíků"
@@ -2138,34 +2159,28 @@ msgstr "Něco hodně ošklivého se přihodilo při překladu „%s:%s“ (%i -
msgid "Unable to connect to %s:%s:"
msgstr "Nelze se připojit k %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "V %s není nainstalována žádná klíÄenka."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "VnitÅ™ní chyba: Dobrý podpis, ale nemohu zjistit otisk klíÄe?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Byl zaznamenán nejméně jeden neplatný podpis. "
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "Nelze spustit „gpgv“ pro ověření podpisu (je gpgv nainstalováno?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Neznámá chyba při spouštění gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Následující podpisy jsou neplatné:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2324,60 +2339,60 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Výběr %s nenalezen"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Nerozpoznaná zkratka typu: „%c“"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Otevírám konfiguraÄní soubor %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaktická chyba %s:%u: Blok nezaÄíná jménem."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaktická chyba %s:%u: Zkomolená znaÄka"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaktická chyba %s:%u: Za hodnotou následuje zbyteÄné smetí"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Syntaktická chyba %s:%u: Direktivy je možné provádět pouze na nejvyšší úrovni"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaktická chyba %s:%u: Příliš mnoho vnořených propojení (include)"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaktická chyba %s:%u: Zahrnuto odtud"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaktická chyba %s:%u: Nepodporovaná direktiva „%s“"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Syntaktická chyba %s:%u: Direktiva clear vyžaduje jako argument strom "
"možností"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaktická chyba %s:%u: Na konci souboru je zbyteÄné smetí"
@@ -2520,7 +2535,7 @@ msgstr "Podproces %s vrátil chybový kód (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Podproces %s neoÄekávanÄ› skonÄil"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Nelze otevřít soubor %s"
@@ -2747,7 +2762,7 @@ msgstr "Zkomolený řádek %u v seznamu zdrojů %s (typ)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Typ „%s“ na řádce %u v seznamu zdrojů %s není známý"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2756,7 +2771,7 @@ msgstr ""
"Nelze spustit okamžitou konfiguraci balíku „%s“. Podrobnosti naleznete v man "
"5 apt.conf v Äásti APT::Immediate-Configure. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2767,7 +2782,7 @@ msgstr ""
"smyÄce v Conflicts/Pre-Depends. To je Äasto Å¡patné, ale pokud to skuteÄnÄ› "
"chcete udělat, aktivujte možnost APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2799,7 +2814,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Nelze opravit problémy, některé balíky držíte v porouchaném stavu."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2850,12 +2865,12 @@ msgstr "Metoda %s nebyla spuštěna správně"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Vložte prosím disk nazvaný „%s“ do mechaniky „%s“ a stiskněte enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "BalíÄkovací systém „%s“ není podporován"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Nebylo možno urÄit vhodný typ balíÄkovacího systému"
@@ -2881,17 +2896,24 @@ msgstr "Pro nápravu těchto problémů můžete zkusit spustit apt-get update"
msgid "The list of sources could not be read."
msgstr "Nelze pÅ™eÄíst seznam zdrojů."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Neplatný záznam v souboru preferencí %s, chybí hlaviÄka Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Nerozumím vypíchnutí typu %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Pro vypíchnutí nebyla zadána žádná (nebo nulová) priorita"
@@ -2980,7 +3002,7 @@ msgstr "Nešlo vyhodnotit seznam zdrojových balíků %s"
msgid "Collecting File Provides"
msgstr "Collecting File poskytuje"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Chyba IO při ukládání zdrojové cache"
@@ -2993,8 +3015,8 @@ msgstr "přejmenování selhalo, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Neshoda MD5 souÄtů"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Neshoda kontrolních souÄtů"
@@ -3014,20 +3036,19 @@ msgstr "Nelze zpracovat Release soubor %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "K následujícím ID klíÄů není dostupný veÅ™ejný klíÄ:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Souboru Release vypršela platnost, ignoruji %s (neplatný již %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Konfliktní distribuce: %s (oÄekáváno %s, obdrženo %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3037,12 +3058,12 @@ msgstr ""
"se použijí předchozí indexové soubory. Chyba GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Chyba GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3051,7 +3072,7 @@ msgstr ""
"Nebyl jsem schopen nalézt soubor s balíkem %s. To by mohlo znamenat, že "
"tento balík je tÅ™eba opravit ruÄnÄ› (kvůli chybÄ›jící architektuÅ™e)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3060,14 +3081,14 @@ msgstr ""
"Nebyl jsem schopen nalézt soubor s balíkem %s. Asi budete muset tento balík "
"opravit ruÄnÄ›."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"Indexové soubory balíku jsou narušeny. Chybí pole Filename: u balíku %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Velikosti nesouhlasí"
@@ -3191,22 +3212,22 @@ msgstr "Zapisuji nový seznam balíků\n"
msgid "Source list entries for this disc are:\n"
msgstr "Seznamy zdrojů na tomto disku jsou:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Zapsáno %i záznamů.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Zapsáno %i záznamů s chybějícími soubory (%i).\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Zapsáno %i záznamů s nesouhlasícími soubory (%i).\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Zapsáno %i záznamů s chybějícími (%i) a nesouhlasícími (%i) soubory.\n"
@@ -3226,6 +3247,17 @@ msgstr "Nelze najít autentizaÄní záznam pro: %s"
msgid "Hash mismatch for: %s"
msgstr "Neshoda kontrolních souÄtů pro: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "V %s není nainstalována žádná klíÄenka."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3476,6 +3508,9 @@ msgstr "Spojení bylo pÅ™edÄasnÄ› ukonÄeno"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Interní chyba, skupina „%s“ nemá instalovatelný pseudobalík"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Souboru Release vypršela platnost, ignoruji %s (neplatný již %s)"
+
#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
#~ msgstr ""
#~ "E: Seznam argumentů Acquire::gpgv::Options je příliÅ¡ dlouhý. KonÄím."
diff --git a/po/cy.po b/po/cy.po
index b1d74fa72..a8ccb37b7 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: APT\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2005-06-06 13:46+0100\n"
"Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n"
"Language-Team: Welsh <cy@pengwyn.linux.org.uk>\n"
@@ -173,7 +173,7 @@ msgstr " Tabl Fersiynnau:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s ar gyfer %s %s wedi ei grynhow ar %s %s\n"
@@ -863,7 +863,7 @@ msgstr "Nid yw ailsefydlu %s yn bosib, gan ni ellir ei lawrlwytho.\n"
msgid "%s is already the newest version.\n"
msgstr "Mae %s y fersiwn mwyaf newydd eisioes.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "ond mae %s yn mynd i gael ei sefydlu"
@@ -979,8 +979,8 @@ msgstr "Ar ôl dadbacio defnyddir %sB o ofod disg ychwanegol.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Ar ôl dadbactio caiff %sB o ofod disg ei rhyddhau.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, fuzzy, c-format
msgid "Couldn't determine free space in %s"
msgstr "Does dim digon o le rhydd yn %s gennych"
@@ -1018,7 +1018,7 @@ msgstr "Erthylu."
msgid "Do you want to continue [Y/n]? "
msgstr "Ydych chi eisiau mynd ymlaen? [Y/n] "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Methwyd cyrchu %s %s\n"
@@ -1027,7 +1027,7 @@ msgstr "Methwyd cyrchu %s %s\n"
msgid "Some files failed to download"
msgstr "Methodd rhai ffeiliau lawrlwytho"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Lawrlwytho yn gyflawn ac yn y modd lawrlwytho'n unig"
@@ -1066,31 +1066,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Methwyd stat() o'r rhestr pecyn ffynhonell %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Nid yw'r gorchymyn diweddaru yn derbyn ymresymiadau"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1106,16 +1106,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Gall y wybodaeth canlynol gynorthwyo'n datrys y sefyllfa:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Gwall Mewnol, torrodd AllUpgrade bethau"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1125,7 +1125,7 @@ msgid_plural ""
msgstr[0] "Caiff y pecynnau NEWYDD canlynol eu sefydlu:"
msgstr[1] "Caiff y pecynnau NEWYDD canlynol eu sefydlu:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1133,21 +1133,21 @@ msgid_plural ""
msgstr[0] "Caiff y pecynnau NEWYDD canlynol eu sefydlu:"
msgstr[1] "Caiff y pecynnau NEWYDD canlynol eu sefydlu:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
#, fuzzy
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Gwall Mewnol, torrodd AllUpgrade bethau"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Efallai hoffech rhedeg 'apt-get -f install' er mwyn cywiro'r rhain:"
# FIXME
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1156,7 +1156,7 @@ msgstr ""
"pecyn (neu penodwch ddatrys)"
# FIXME: needs commas
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1168,82 +1168,82 @@ msgstr ""
"ansefydlog, fod rhai pecynnau angenrheidiol heb gael eu creu eto neu\n"
"heb gael eu symud allan o Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Pecynnau wedi torri"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Caiff y pecynnau canlynol ychwanegol eu sefydlu:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Pecynnau a awgrymmir:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Pecynnau a argymhellir:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Methwyd canfod pecyn %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "ond mae %s yn mynd i gael ei sefydlu"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
#, fuzzy
msgid "Calculating upgrade... "
msgstr "Yn Cyfrifo'r Uwchraddiad... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Methwyd"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Wedi Gorffen"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
#, fuzzy
msgid "Internal error, problem resolver broke stuff"
msgstr "Gwall Mewnol, torrodd AllUpgrade bethau"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Ni ellir cloi'r cyfeiriadur lawrlwytho"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Rhaid penodi o leiaf un pecyn i gyrchi ffynhonell ar ei gyfer"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Ni ellir canfod pecyn ffynhonell ar gyfer %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1251,79 +1251,95 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, fuzzy, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Yn hepgor dadbacio y ffynhonell wedi ei dadbacio eisioes yn %s\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Does dim digon o le rhydd yn %s gennych"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Rhaid cyrchu %sB/%sB o archifau ffynhonell.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Rhaid cyrchu %sB o archifau ffynhonell.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, fuzzy, c-format
msgid "Fetch source %s\n"
msgstr "Cyrchu Ffynhonell %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Methwyd cyrchu rhai archifau."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Yn hepgor dadbacio y ffynhonell wedi ei dadbacio eisioes yn %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Methodd y gorchymyn dadbacio '%s'.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Methodd y gorchymyn adeiladu '%s'.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Methodd proses plentyn"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Rhaid penodi o leiaf un pecyn i wirio dibyniaethau adeiladu ar eu cyfer"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Ni ellir cyrchu manylion dibyniaeth adeiladu ar gyfer %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "Nid oes dibyniaethau adeiladu gan %s.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"Ni ellir bodloni dibyniaeth %s ar gyfer %s oherwydd ni ellir canfod y pecyn "
+"%s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1332,48 +1348,57 @@ msgstr ""
"Ni ellir bodloni dibyniaeth %s ar gyfer %s oherwydd ni ellir canfod y pecyn "
"%s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Methwyd bodloni dibynniaeth %s am %s: Mae'r pecyn sefydliedig %s yn rhy "
+"newydd"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"Ni ellir bodloni'r dibyniaeth %s ar gyfer %s oherwydd does dim fersiwn sydd "
"ar gael o'r pecyn %s yn gallu bodloni'r gofynion ferswin"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Methwyd bodloni dibynniaeth %s am %s: Mae'r pecyn sefydliedig %s yn rhy "
-"newydd"
+"Ni ellir bodloni dibyniaeth %s ar gyfer %s oherwydd ni ellir canfod y pecyn "
+"%s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Methwyd bodloni dibyniaeth %s am %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Methwyd bodloni'r dibyniaethau adeiladu ar gyfer %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Methwyd prosesu dibyniaethau adeiladu"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Yn cysylltu i %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
#, fuzzy
msgid "Supported modules:"
msgstr "Modylau a Gynhelir:"
# FIXME: split
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1460,7 +1485,7 @@ msgstr ""
"\n"
" Mae gan yr APT hwn bŵerau buwch hudol.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1777,8 +1802,8 @@ msgstr "Mae'r ffeil %s/%s yn trosysgrifo'r un yn y pecyn %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1810,7 +1835,7 @@ msgstr "Rhaid i'r cyfeiriaduron 'info' a 'temp' for ar yr un system ffeiliau"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
#, fuzzy
msgid "Reading package lists"
msgstr "Yn Darllen Rhestrau Pecynnau"
@@ -2195,35 +2220,29 @@ msgstr "Digwyddodd rhywbweth hyll wrth ddatrys '%s:%s' (%i)"
msgid "Unable to connect to %s:%s:"
msgstr "Methwyd cysylltu i %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Yn Erthylu'r Sefydliad."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr ""
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr ""
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
#, fuzzy
msgid "The following signatures were invalid:\n"
msgstr "Caiff y pecynnau canlynol ychwanegol eu sefydlu:"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2386,60 +2405,60 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Ni chanfuwyd y dewis %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Talgryniad math anhysbys: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Yn agor y ffeil cyfluniad %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Gwall cystrawen %s:%u: Mae bloc yn cychwyn efo dim enw."
# FIXME
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, fuzzy, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Gwall cystrawen %s:%u: Tag wedi camffurfio"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Gwall cystrawen %s:%u: Sbwriel ychwanegol ar ôl y gwerth"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Gwall cystrawen %s:%u: Ceir defnyddio cyfarwyddyd ar y lefel dop yn unig"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Gwall cystrawen %s:%u: Gormod o gynhwysion nythol"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Gwall cystrawen %s:%u: Cynhwyswyd o fan hyn"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Gwall cystrawen %s:%u: Cyfarwyddyd ni gynhelir '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Gwall cystrawen %s:%u: Ceir defnyddio cyfarwyddyd ar y lefel dop yn unig"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Gwall cystrawen %s:%u: Sbwriel ychwanegol ar ddiwedd y ffeil"
@@ -2584,7 +2603,7 @@ msgstr "Dychwelodd is-broses %s gôd gwall (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Gorffenodd is-broses %s yn annisgwyl"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Methwyd agor ffeil %s"
@@ -2824,7 +2843,7 @@ msgstr "Llinell camffurfiol %u yn y rhestr ffynhonell %s (math)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Mae'r math '%s' yn anhysbys ar linell %u yn y rhestr ffynhonell %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2832,7 +2851,7 @@ msgid ""
msgstr ""
# FIXME: %s may have an arbirrary length
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2843,7 +2862,7 @@ msgstr ""
"oherwydd lŵp gwrthdaro/cynddibynu. Mae hyn yn aml yn wael, ond os ydych wir "
"eisiau ei wneud ef, gweithredwch yr opsiwn APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2876,7 +2895,7 @@ msgid "Unable to correct problems, you have held broken packages."
msgstr ""
"Ni ellir cywiro'r problemau gan eich bod chi wedi dal pecynnau torredig."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2930,12 +2949,12 @@ msgstr ""
" '%s'\n"
"yn y gyrriant '%s' a gwasgwch Enter\n"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Ni chynhelir y system pecynnu '%s'"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
#, fuzzy
msgid "Unable to determine a suitable packaging system type"
msgstr "Ni ellir canfod math system addas"
@@ -2962,19 +2981,26 @@ msgstr "Efallai hoffech rhedege apt-get update er mwyn cywiro'r problemau hyn."
msgid "The list of sources could not be read."
msgstr "Methwyd darllen y rhestr ffynhonellau."
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
# FIXME: literal
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Cofnod annilys yn y ffeil hoffterau, dim pennawd 'Package'"
# FIXME: tense
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Methwyd daeall y math pin %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Dim blaenoriath (neu sero) wedi ei benodi ar gyfer pin"
@@ -3066,7 +3092,7 @@ msgstr "Methwyd stat() o'r rhestr pecyn ffynhonell %s"
msgid "Collecting File Provides"
msgstr "Yn Casglu Darpariaethau Ffeil"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Gwall M/A wrth gadw'r storfa ffynhonell"
@@ -3079,8 +3105,8 @@ msgstr "methwyd ailenwi, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Camgyfatebiaeth swm MD5"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
#, fuzzy
msgid "Hash Sum mismatch"
msgstr "Camgyfatebiaeth swm MD5"
@@ -3102,20 +3128,19 @@ msgstr "Ni ellir gramadegu ffeil becynnau %s (1)"
msgid "There is no public key available for the following key IDs:\n"
msgstr ""
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3123,13 +3148,13 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
# FIXME: case
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3138,7 +3163,7 @@ msgstr ""
"Methais i leoli ffeila r gyfer y pecyn %s. Fa all hyn olygu bod rhaid i chi "
"drwsio'r pecyn hyn a law. (Oherwydd pensaerniaeth coll.)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3147,14 +3172,14 @@ msgstr ""
"Methais i leoli ffeila r gyfer y pecyn %s. Fa all hyn olygu bod rhaid i chi "
"drwsio'r pecyn hyn a law."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"Mae'r ffeiliau mynegai pecyn yn llygr. Dim maes Filename: gan y pecyn %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Camgyfatebiaeth maint"
@@ -3276,22 +3301,22 @@ msgstr "Llinell %u yn rhy hir yn y rhestr ffynhonell %s."
msgid "Source list entries for this disc are:\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3311,6 +3336,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Camgyfatebiaeth swm MD5"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Yn Erthylu'r Sefydliad."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/da.po b/po/da.po
index 4159b277c..9babe20de 100644
--- a/po/da.po
+++ b/po/da.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-09-01 23:51+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <debian-l10n-danish@lists.debian.org> \n"
@@ -159,7 +159,7 @@ msgstr " Versionstabel:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s for %s kompileret på %s %s\n"
@@ -838,7 +838,7 @@ msgstr "Geninstallering af %s er ikke mulig, da den ikke kan hentes.\n"
msgid "%s is already the newest version.\n"
msgstr "%s er i forvejen den nyeste version.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s sat til manuelt installeret.\n"
@@ -950,8 +950,8 @@ msgstr "Efter denne handling, vil %sB yderligere diskplads være brugt.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Efter denne handling, vil %sB diskplads blive frigjort.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Kunne ikke bestemme ledig plads i %s"
@@ -988,7 +988,7 @@ msgstr "Afbryder."
msgid "Do you want to continue [Y/n]? "
msgstr "Vil du fortsætte [J/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Kunne ikke hente %s %s\n"
@@ -997,7 +997,7 @@ msgstr "Kunne ikke hente %s %s\n"
msgid "Some files failed to download"
msgstr "Nedhentningen af filer mislykkedes"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Nedhentning afsluttet i 'hent-kun'-tilstand"
@@ -1039,33 +1039,33 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Bemærk: Dette sker automatisk og med vilje af dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignorer utilgængelig måludgivelse '%s' af pakke '%s'"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Vælger '%s' som kildepakke fremfor '%s'\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignorer utilgængelig version '%s' af pakke '%s'"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "'update'-kommandoen benytter ingen parametre"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Det er ikke meningen, at vi skal slette ting og sager, kan ikke starte "
"AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1083,15 +1083,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Følgende oplysninger kan hjælpe dig med at klare situationen:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Intern fejl. AutoRemover ødelagde noget"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1102,7 +1102,7 @@ msgstr[0] ""
msgstr[1] ""
"Følgende pakker blev installeret automatisk, og behøves ikke længere:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1111,19 +1111,19 @@ msgstr[0] "Pakken %lu blev installeret automatisk, og behøves ikke længere.\n"
msgstr[1] ""
"Pakkerne %lu blev installeret automatisk, og behøves ikke længere.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Brug 'apt-get autoremove' til at fjerne dem."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Intern fejl, AllUpgrade ødelagde noget"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Du kan muligvis rette det ved at køre 'apt-get -f install':"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1131,7 +1131,7 @@ msgstr ""
"Uopfyldte afhængigheder. Prøv 'apt-get -f install' uden pakker (eller angiv "
"en løsning)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1142,73 +1142,73 @@ msgstr ""
"en umulig situation eller bruger den ustabile distribution, hvor enkelte\n"
"pakker endnu ikke er lavet eller gjort tilgængelige."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Ødelagte pakker"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Følgende yderligere pakker vil blive installeret:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Foreslåede pakker:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Anbefalede pakker:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Kunne ikke finde pakken %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s sat til automatisk installation.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Beregner opgraderingen... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Mislykkedes"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Færdig"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Intern fejl. Problemløseren ødelagde noget"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Kunne ikke låse nedhentningsmappen"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Du skal angive mindst én pakke at hente kildeteksten til"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Kunne ikke finde kildetekstpakken for %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1217,7 +1217,7 @@ msgstr ""
"BEMÆRK: Pakning af '%s' vedligeholdes i versionskontrolsystemet '%s' på:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1228,78 +1228,93 @@ msgstr ""
"bzr get %s\n"
"for at hente de seneste (muligvis ikke udgivet) opdateringer til pakken.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Overspringer allerede hentet fil '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Du har ikke nok ledig plads i %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "%sB/%sB skal hentes fra kildetekst-arkiverne.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "%sB skal hentes fra kildetekst-arkiverne.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Henter kildetekst %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Nogle arkiver kunne ikke hentes."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Overspringer udpakning af allerede udpakket kildetekst i %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Udpakningskommandoen '%s' fejlede.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Tjek om pakken 'dpkg-dev' er installeret.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Opbygningskommandoen '%s' fejlede.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Barneprocessen fejlede"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "Skal angive mindst én pakke at tjekke opbygningsafhængigheder for"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Kunne ikke hente oplysninger om opbygningsafhængigheder for %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s har ingen opbygningsafhængigheder.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"%s-afhængigheden for %s kan ikke opfyldes, da pakken %s ikke blev fundet"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1307,46 +1322,54 @@ msgid ""
msgstr ""
"%s-afhængigheden for %s kan ikke opfyldes, da pakken %s ikke blev fundet"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Kunne ikke opfylde %s-afhængigheden for %s: Den installerede pakke %s er for "
+"ny"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s-afhængigheden for %s kan ikke opfyldes, da ingen af de tilgængelige "
"udgaver af pakken %s kan tilfredsstille versions-kravene"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Kunne ikke opfylde %s-afhængigheden for %s: Den installerede pakke %s er for "
-"ny"
+"%s-afhængigheden for %s kan ikke opfyldes, da pakken %s ikke blev fundet"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Kunne ikke opfylde %s-afhængigheden for %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Opbygningsafhængigheden for %s kunne ikke opfyldes."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Kunne ikke behandler opbygningsafhængighederne"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Forbinder til %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Understøttede moduler:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1435,7 +1458,7 @@ msgstr ""
"for flere oplysninger og tilvalg.\n"
" Denne APT har \"Super Cow Powers\".\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1750,8 +1773,8 @@ msgstr "File %s/%s overskriver filen i pakken %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1783,7 +1806,7 @@ msgstr "Mapperne info og temp skal ligge i samme filsystem"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Indlæser pakkelisterne"
@@ -2153,36 +2176,30 @@ msgstr "Der skete noget underligt under opløsning af '%s:%s' (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Kunne ikke forbinde til %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Ingen nøglering installeret i %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Intern fejl: Gyldig signatur, men kunne ikke afgøre nøgle-fingeraftryk?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Stødte på mindst én ugyldig signatur."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Kunne ikke køre 'gpgv' for at verificere signaturen (er gpgv installeret?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Ukendt fejl ved kørsel af gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Følgende signaturer var ugyldige:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2344,57 +2361,57 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Det valgte %s blev ikke fundet"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Ukendt type-forkortelse: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Ã…bner konfigurationsfilen %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaksfejl %s:%u: Blokken starter uden navn."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaksfejl %s:%u: Forkert udformet mærke"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaksfejl %s:%u: Overskydende affald efter værdien"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Syntaksfejl %s:%u: Direktiver kan kun angives i topniveauet"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaksfejl %s:%u: For mange sammenkædede inkluderinger"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaksfejl %s:%u: Inkluderet herfra"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaksfejl %s:%u: Ikke-understøttet direktiv '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "Syntaksfejl %s:%u: ryd direktiv kræver et tilvalgstræ som argument"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaksfejl %s:%u: Overskydende affald i slutningen af filen"
@@ -2537,7 +2554,7 @@ msgstr "Underprocessen %s returnerede en fejlkode (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Underprocessen %s afsluttedes uventet"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Kunne ikke åbne filen %s"
@@ -2764,7 +2781,7 @@ msgstr "Ugyldig linje %u i kildelisten %s (type)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Typen '%s' er ukendt på linje %u i kildelisten %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2773,7 +2790,7 @@ msgstr ""
"Kunne ikke udføre øjeblikkelig konfiguration på '%s'. Se venligst man 5 apt."
"conf under APT:Immediate-Cinfigure for detaljer. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2785,7 +2802,7 @@ msgstr ""
"idé, men hvis du virkelig vil gøre det, kan du aktivere valget 'APT::Force-"
"LoopBreak'."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2819,7 +2836,7 @@ msgid "Unable to correct problems, you have held broken packages."
msgstr ""
"Kunne ikke korrigere problemerne, da du har tilbageholdt ødelagte pakker."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2870,12 +2887,12 @@ msgstr "Metoden %s startede ikke korrekt"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Indsæt disken med navnet: '%s' i drevet '%s' og tryk retur."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Pakkesystemet '%s' understøttes ikke"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Kunne ikke bestemme en passende pakkesystemtype"
@@ -2900,17 +2917,24 @@ msgstr "Du kan muligvis rette problemet ved at køre 'apt-get update'"
msgid "The list of sources could not be read."
msgstr "Listen med kilder kunne ikke læses."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Ugyldig indgang i indstillingsfilen %s, pakkehovedet mangler"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Kunne ikke forstå pin-type %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Ingen prioritet (eller prioritet nul) angivet ved pin"
@@ -3001,7 +3025,7 @@ msgstr "Kunne ikke finde kildepakkelisten %s"
msgid "Collecting File Provides"
msgstr "Samler filudbud"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "IO-fejl ved gemning af kilde-mellemlageret"
@@ -3014,8 +3038,8 @@ msgstr "omdøbning mislykkedes, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5Sum stemmer ikke"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hashsum stemmer ikke"
@@ -3036,20 +3060,19 @@ msgid "There is no public key available for the following key IDs:\n"
msgstr ""
"Der er ingen tilgængelige offentlige nøgler for følgende nøgle-ID'er:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Udgivelsesfil udløbet, ignorerer %s (ugyldig siden %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Konfliktdistribution: %s (forventede %s men fik %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3059,12 +3082,12 @@ msgstr ""
"og den forrige indeksfil vil blive brugt. GPG-fejl: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "GPG-fejl: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3073,7 +3096,7 @@ msgstr ""
"Jeg kunne ikke lokalisere filen til %s-pakken. Det betyder muligvis at du er "
"nødt til manuelt at reparere denne pakke. (grundet manglende arch)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3082,13 +3105,13 @@ msgstr ""
"Jeg kunne ikke lokalisere filen til %s-pakken. Det betyder muligvis at du er "
"nødt til manuelt at reparere denne pakke."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "Pakkeindeksfilerne er i stykker. Intet 'Filename:'-felt for pakken %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Størrelsen stemmer ikke"
@@ -3212,22 +3235,22 @@ msgstr "Skriver ny kildeliste\n"
msgid "Source list entries for this disc are:\n"
msgstr "Denne disk har følgende kildeliste-indgange:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Skrev %i poster.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Skrev %i poster med %i manglende filer.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Skrev %i poster med %i ikke-trufne filer\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Skrev %i poster med %i manglende filer og %i ikke-trufne filer\n"
@@ -3247,6 +3270,17 @@ msgstr "Kan ikke finde godkendelsesregistrering for: %s"
msgid "Hash mismatch for: %s"
msgstr "Hashsum stemmer ikke: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Ingen nøglering installeret i %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3496,3 +3530,6 @@ msgstr "Forbindelsen lukkedes for hurtigt"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Intern fejl, gruppe '%s' har ingen installationsbar pseudopakke"
+
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Udgivelsesfil udløbet, ignorerer %s (ugyldig siden %s)"
diff --git a/po/de.po b/po/de.po
index 4176e8ddf..c19d010fd 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-11-15 21:42+0100\n"
"Last-Translator: Holger Wansing <linux@wansing-online.de>\n"
"Language-Team: Debian German <debian-l10n-german@lists.debian.org>\n"
@@ -157,7 +157,7 @@ msgstr " Versionstabelle:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s für %s, kompiliert am %s %s\n"
@@ -855,7 +855,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr "%s ist schon die neueste Version.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s wurde als manuell installiert festgelegt.\n"
@@ -969,8 +969,8 @@ msgstr "Nach dieser Operation werden %sB Plattenplatz zusätzlich benutzt.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Nach dieser Operation werden %sB Plattenplatz freigegeben.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Freier Platz in %s konnte nicht bestimmt werden"
@@ -1007,7 +1007,7 @@ msgstr "Abbruch."
msgid "Do you want to continue [Y/n]? "
msgstr "Möchten Sie fortfahren [J/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Fehlschlag beim Holen von %s %s\n"
@@ -1016,7 +1016,7 @@ msgstr "Fehlschlag beim Holen von %s %s\n"
msgid "Some files failed to download"
msgstr "Einige Dateien konnten nicht heruntergeladen werden"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Herunterladen abgeschlossen; Nur-Herunterladen-Modus aktiv"
@@ -1058,32 +1058,32 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Hinweis: Dies wird automatisch und absichtlich von dpkg durchgeführt."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Nicht verfügbare Veröffentlichung »%s« von Paket »%s« wird ignoriert"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Als Quellpaket wird »%s« statt »%s« gewählt\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Nicht verfügbare Version »%s« von Paket »%s« wird ignoriert"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Der Befehl »update« akzeptiert keine Argumente"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Es soll nichts gelöscht werden, AutoRemover kann nicht gestartet werden"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1102,16 +1102,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr ""
"Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Interner Fehler, AutoRemover hat etwas beschädigt"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1124,7 +1124,7 @@ msgstr[1] ""
"Die folgenden Pakete wurden automatisch installiert und werden nicht mehr "
"benötigt:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1134,19 +1134,19 @@ msgstr[0] ""
msgstr[1] ""
"%lu Pakete wurden automatisch installiert und werden nicht mehr benötigt.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Verwenden Sie »apt-get autoremove«, um sie zu entfernen."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Interner Fehler, AllUpgrade hat etwas beschädigt"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Probieren Sie »apt-get -f install«, um dies zu korrigieren:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1154,7 +1154,7 @@ msgstr ""
"Unerfüllte Abhängigkeiten. Versuchen Sie »apt-get -f install« ohne Angabe "
"eines Pakets (oder geben Sie eine Lösung an)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1166,75 +1166,75 @@ msgstr ""
"Unstable-Distribution verwenden, dass einige erforderliche Pakete noch\n"
"nicht erstellt wurden oder Incoming noch nicht verlassen haben."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Beschädigte Pakete"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Die folgenden zusätzlichen Pakete werden installiert:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Vorgeschlagene Pakete:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Empfohlene Pakete:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Paket %s konnte nicht gefunden werden"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s wurde als automatisch installiert festgelegt.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Paketaktualisierung (Upgrade) wird berechnet... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Fehlgeschlagen"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Fertig"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Interner Fehler, der Problemlöser hat etwas beschädigt"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Das Downloadverzeichnis konnte nicht gesperrt werden."
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"Es muss mindestens ein Paket angegeben werden, dessen Quellen geholt werden "
"sollen"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Quellpaket für %s kann nicht gefunden werden"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1244,7 +1244,7 @@ msgstr ""
"auf:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1256,81 +1256,97 @@ msgstr ""
"um die neuesten (möglicherweise noch unveröffentlichten) Aktualisierungen\n"
"für das Paket abzurufen.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Bereits heruntergeladene Datei »%s« wird übersprungen.\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Sie haben nicht genügend freien Speicherplatz in %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Es müssen noch %sB von %sB an Quellarchiven heruntergeladen werden.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Es müssen %sB an Quellarchiven heruntergeladen werden.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Quelle %s wird heruntergeladen.\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Einige Archive konnten nicht heruntergeladen werden."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Das Entpacken der bereits entpackten Quelle in %s wird übersprungen.\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Entpackbefehl »%s« fehlgeschlagen.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Überprüfen Sie, ob das Paket »dpkg-dev« installiert ist.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Build-Befehl »%s« fehlgeschlagen.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Kindprozess fehlgeschlagen"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Es muss mindestens ein Paket angegeben werden, dessen Bauabhängigkeiten "
"überprüft werden sollen."
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
"Informationen zu Bauabhängigkeiten für %s konnten nicht gefunden werden."
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s hat keine Bauabhängigkeiten.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"»%s«-Abhängigkeit für %s kann nicht erfüllt werden, da Paket %s nicht "
+"gefunden werden kann."
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1339,46 +1355,55 @@ msgstr ""
"»%s«-Abhängigkeit für %s kann nicht erfüllt werden, da Paket %s nicht "
"gefunden werden kann."
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"»%s«-Abhängigkeit für %s kann nicht erfüllt werden: Installiertes Paket %s "
+"ist zu neu."
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"»%s«-Abhängigkeit für %s kann nicht erfüllt werden, da keine verfügbare "
"Version des Pakets %s die Versionsanforderungen erfüllen kann."
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"»%s«-Abhängigkeit für %s kann nicht erfüllt werden: Installiertes Paket %s "
-"ist zu neu."
+"»%s«-Abhängigkeit für %s kann nicht erfüllt werden, da Paket %s nicht "
+"gefunden werden kann."
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "»%s«-Abhängigkeit für %s konnte nicht erfüllt werden: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Bauabhängigkeiten für %s konnten nicht erfüllt werden."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Verarbeitung der Bauabhängigkeiten fehlgeschlagen"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Verbindung mit %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Unterstützte Module:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1471,7 +1496,7 @@ msgstr ""
"bezüglich weitergehender Informationen und Optionen.\n"
" Dieses APT hat Super-Kuh-Kräfte.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1787,8 +1812,8 @@ msgstr "Durch die Datei %s/%s wird die Datei in Paket %s überschrieben"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1821,7 +1846,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Paketlisten werden gelesen"
@@ -2197,38 +2222,32 @@ msgstr "Beim Auflösen von »%s:%s« ist etwas Schlimmes passiert (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Verbindung mit %s:%s nicht möglich:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Kein Schlüsselring in %s installiert."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Interner Fehler: Gültige Signatur, Fingerabdruck des Schlüssels konnte "
"jedoch nicht ermittelt werden?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Mindestens eine ungültige Signatur wurde entdeckt."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"»gpgv« konnte zur Überprüfung der Signatur nicht ausgeführt werden (ist gpgv "
"installiert?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Unbekannter Fehler beim Ausführen von gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Die folgenden Signaturen waren ungültig:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2394,59 +2413,59 @@ msgstr "%li s"
msgid "Selection %s not found"
msgstr "Auswahl %s nicht gefunden"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Nicht erkannte Typabkürzung: »%c«"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Konfigurationsdatei %s wird geöffnet"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaxfehler %s:%u: Block beginnt ohne Namen."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaxfehler %s:%u: Missgestaltete Markierung"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaxfehler %s:%u: Zusätzlicher Unsinn nach Wert"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Syntaxfehler %s:%u: Direktiven können nur auf oberster Ebene benutzt werden"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaxfehler %s:%u: Zu viele verschachtelte Einbindungen (includes)"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaxfehler %s:%u: Eingefügt von hier"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaxfehler %s:%u: Nicht unterstützte Direktive »%s«"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Syntaxfehler %s:%u: Löschdirektiven benötigen einen Optionsbaum als Argument"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaxfehler %s:%u: Zusätzlicher Unsinn am Dateiende"
@@ -2590,7 +2609,7 @@ msgstr "Unterprozess %s hat Fehlercode zurückgegeben (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Unterprozess %s unerwartet beendet"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Datei %s konnte nicht geöffnet werden"
@@ -2821,7 +2840,7 @@ msgstr "Missgestaltete Zeile %u in Quellliste %s (»type«)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Typ »%s« in Zeile %u der Quellliste %s ist unbekannt"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2830,7 +2849,7 @@ msgstr ""
"»%s« konnte nicht unmittelbar konfiguriert werden. Lesen Sie »man 5 apt."
"conf« unter APT::Immediate-Configure bezüglich weiterer Details. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2842,7 +2861,7 @@ msgstr ""
"ist oft schlimm, aber wenn Sie es wirklich tun wollen, aktivieren Sie bitte "
"die Option APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2879,7 +2898,7 @@ msgstr ""
"Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte "
"Pakete."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2932,12 +2951,12 @@ msgstr ""
"Bitte legen Sie das Medium mit dem Namen »%s« in Laufwerk »%s« ein und "
"drücken Sie die Eingabetaste (Enter)."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Paketierungssystem »%s« wird nicht unterstützt"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Bestimmung eines passenden Paketierungssystemtyps nicht möglich"
@@ -2966,18 +2985,25 @@ msgstr "Probieren Sie »apt-get update«, um diese Probleme zu korrigieren"
msgid "The list of sources could not be read."
msgstr "Die Liste der Quellen konnte nicht gelesen werden."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"Ungültiger Eintrag in Einstellungsdatei %s, keine »Package«-Kopfzeile(n)"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Pinning-Typ %s kann nicht interpretiert werden"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Keine Priorität (oder Null) für Pin angegeben"
@@ -3075,7 +3101,7 @@ msgstr "»stat« konnte nicht auf die Liste %s der Quellpakete ausgeführt werde
msgid "Collecting File Provides"
msgstr "Sammeln der angebotenen Funktionalitäten (Provides) aus den Dateien"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "E/A-Fehler beim Speichern des Quell-Caches"
@@ -3088,8 +3114,8 @@ msgstr "Umbenennen fehlgeschlagen, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5-Summe stimmt nicht überein"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hash-Summe stimmt nicht überein"
@@ -3110,20 +3136,19 @@ msgid "There is no public key available for the following key IDs:\n"
msgstr ""
"Es gibt keine öffentlichen Schlüssel für die folgenden Schlüssel-IDs:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Release-Datei abgelaufen, %s wird ignoriert (ungültig seit %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Konflikt bei Distribution: %s (%s erwartet, aber %s bekommen)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3134,12 +3159,12 @@ msgstr ""
"GPG-Fehler: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "GPG-Fehler: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3148,7 +3173,7 @@ msgstr ""
"Es konnte keine Datei für Paket %s gefunden werden. Das könnte heißen, dass "
"Sie dieses Paket von Hand korrigieren müssen (aufgrund fehlender Architektur)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3157,14 +3182,14 @@ msgstr ""
"Es konnte keine Datei für Paket %s gefunden werden. Das könnte heißen, dass "
"Sie dieses Paket von Hand korrigieren müssen."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"Die Paketindexdateien sind beschädigt: Kein Filename:-Feld für Paket %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Größe stimmt nicht überein"
@@ -3288,22 +3313,22 @@ msgstr "Schreiben der neuen Quellliste\n"
msgid "Source list entries for this disc are:\n"
msgstr "Quelllisteneinträge für dieses Medium sind:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Es wurden %i Datensätze geschrieben.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Es wurden %i Datensätze mit %i fehlenden Dateien geschrieben.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Es wurden %i Datensätze mit %i nicht passenden Dateien geschrieben.\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3325,6 +3350,17 @@ msgstr "Authentifizierungs-Datensatz konnte nicht gefunden werden für: %s"
msgid "Hash mismatch for: %s"
msgstr "Hash-Summe stimmt nicht überein für: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Kein Schlüsselring in %s installiert."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3590,3 +3626,6 @@ msgstr "Verbindung vorzeitig beendet"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Interner Fehler, Gruppe »%s« hat kein installierbares Pseudo-Paket"
+
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Release-Datei abgelaufen, %s wird ignoriert (ungültig seit %s)"
diff --git a/po/dz.po b/po/dz.po
index fedf582a2..6b270f6ef 100644
--- a/po/dz.po
+++ b/po/dz.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po.pot\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2006-09-19 09:49+0530\n"
"Last-Translator: Kinley Tshering <gasepkuenden2k3@hotmail.com>\n"
"Language-Team: Dzongkha <pgeyleg@dit.gov.bt>\n"
@@ -161,7 +161,7 @@ msgstr "à½à½¼à½“་རིམ་à½à½²à½‚་à½à¾²à½˜à¼:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s་གི་དོན་ལུ་%s %sགུར་ཕྱོགས་སྒྲིག་འབད་ཡོད་པའི་%s %s\n"
@@ -846,7 +846,7 @@ msgstr "%s ་ལོག་གཞི་བཙུགས་འབད་ནི་འ
msgid "%s is already the newest version.\n"
msgstr "%s ་འདི་ཧེ་མ་ལས་རང་འà½à½¼à½“་རིམ་གསར་ཤོས་ཅིག་ཨིནà¼\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "འདི་འབདà½à¼‹à½‘་%sའདི་གཞི་བཙུགས་འབད་ནི་ཨིནà¼"
@@ -962,8 +962,8 @@ msgstr "à½à¼‹à½¦à¾à½¼à½„་གི་%sB་འདི་བཤུབ་པའི
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "%sB་འདི་ཤུབ་པའི་ཤུལ་ལས་ཀྱི་བར་སྟོང་དེ་དལà½à¼‹à½¦à¾¦à½ºà¼‹à½£à½´à½¦à¼‹à½ à½¼à½„་à¼\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "%s་ནང་བར་སྟོང་"
@@ -1000,7 +1000,7 @@ msgstr "བར་བཤོལ་འབདà¼"
msgid "Do you want to continue [Y/n]? "
msgstr "à½à¾±à½¼à½“་ཀྱི་འཕྲོ་མà½à½´à½‘་ནི་འབད་ནི་ཨིན་ན་[Y/n]?"
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "%s %s་ ལེན་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼\n"
@@ -1009,7 +1009,7 @@ msgstr "%s %s་ ལེན་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–à¾
msgid "Some files failed to download"
msgstr "ཡིག་སྣོད་ལ་ལུ་ཅིག་ཕབ་ལེན་འབད་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "ཕབ་ལེན་à½à½–ས་ལམ་རà¾à¾±à½„མ་གཅིག་ནང་མཇུག་བསྡུà½à¼‹à½¦à¾¦à½ºà¼‹à½¢à½„་ཕབ་ལེན་འབདà¼"
@@ -1047,31 +1047,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "འབྱུང་à½à½´à½„ས་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གྱི་à½à½¼à¼‹à½¡à½²à½‚་%s་དེ་ངོ་བཤུས་འབད་མ་ཚུགསà¼"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "དུས་མà½à½´à½“་བཟོ་བའི་བརྡ་བཀོད་འདི་གིས་སྒྲུབ་རྟགས་ཚུ་མི་འབག་འབདà¼"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1087,16 +1087,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "འོག་གི་བརྡ་དོན་དེ་གིས་དུས་སà¾à½–ས་འདི་མོས་མà½à½´à½“་བཟོ་ནི་ལུ་གྲོགས་རམ་འབད་འོང་:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "ནང་འà½à½¼à½‘་འཛོལ་བ་ དཀའ་ངལ་མོས་མà½à½´à½“་འབད་མི་ཅ་ཆས་ཚུ་མེདཔ་à½à½£à¼‹à½¡à½¼à½‘à¼"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1106,7 +1106,7 @@ msgid_plural ""
msgstr[0] "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:"
msgstr[1] "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1114,19 +1114,19 @@ msgid_plural ""
msgstr[0] "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:"
msgstr[1] "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "ནང་འགོད་འཛོལ་བ་ ཡར་བསà¾à¾±à½ºà½‘་ཀྱི་ཅ་ཆས་ཆ་མཉམ་མེདཔ་à½à½£à¼‹à½¡à½¼à½‘à¼"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "འདི་ཚུ་ནོར་བཅོས་འབད་ནིའི་དོན་ལུ་à½à¾±à½¼à½‘་ཀྱི་'apt-get -f install'དེ་གཡོག་བཀོལ་དགོཔ་འོང་:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1134,7 +1134,7 @@ msgstr ""
"མ་ཚང་བའི་རྟེན་འབྲེལ་ à½à½´à½¦à¼‹à½¦à¾’ྲིལ་མེད་མི་ཚུ་དང་གཅིག་à½à½¢à¼‹ 'apt-get -f install'དེ་འབà½à¼‹à½¢à¾©à½¼à½£à¼‹à½–སà¾à¾±à½ºà½‘པà¼"
"(ཡང་ན་à½à½–ས་ཤེས་ཅིག་གསལ་བཀོད་འབདà¼)"
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1145,80 +1145,80 @@ msgstr ""
"འབད་འབདà½à¼‹à½ à½¼à½„་ནི་མས་ ཡང་ན་ད་ལྟོ་ཡང་གསར་བསà¾à¾²à½´à½“་མ་འབད་བར་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ལ་ལུ་ཅིག་ཡང་ན་ནང་"
"འབྱོར་གྱི་ཕྱི་à½à½¢à¼‹à½¢à¾©à¼‹à½–སà¾à¾²à½‘་བà½à½„་ཡོད་པའི་རྩ་བརྟན་མེད་པའི་བགོ་འགྲེམ་ཚུ་ལག་ལེན་འà½à½–་དོ་ཡོདཔ་འོང་ནི་ཨིན་པསà¼"
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "ཆད་པ་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུà¼"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་à½à½ºà½–ས་ཚུ་གཞི་བཙུགས་འབད་འོང་:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "བསམ་འཆར་བཀོད་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུ:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "འོས་སྦྱོར་འབད་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུ:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "%s་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་འཚོལ་མ་à½à½¼à½–à¼"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "འདི་འབདà½à¼‹à½‘་%sའདི་གཞི་བཙུགས་འབད་ནི་ཨིནà¼"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "ཡར་བསà¾à¾±à½ºà½‘་རྩིས་བà½à½¼à½“་དོ་... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "འབད་ཚར་ཡིà¼"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "ནང་འà½à½¼à½‘་འཛོལ་བ་ དཀའ་ངལ་མོས་མà½à½´à½“་འབད་མི་ཅ་ཆས་ཚུ་མེདཔ་à½à½£à¼‹à½¡à½¼à½‘à¼"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "ཕབ་ལེན་འབད་ནིའི་སྣོད་ཡིག་འདི་ལྡེ་མིག་རà¾à¾±à½–ས་མ་ཚུགས་པསà¼"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "གི་དོན་ལུ་འབྱུང་à½à½´à½„ས་ལེན་ནི་ལུ་ཉུང་མà½à½ à¼‹à½¢à½„་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གཅིག་ལེན་དགོ"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "%s་གི་དོན་ལུ་འབྱུང་à½à½´à½„ས་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཅིག་འཚོལ་མ་འà½à½¼à½–"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1226,124 +1226,145 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "གོམ་འགྱོ་གིས་ཧེ་མ་ལས་རང་'%s'་ཡིག་སྣོད་དེ་ཕབ་ལེན་འབད་ནུག\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr " %s་ནང་à½à¾±à½¼à½‘་ལུ་བར་སྟོང་ཚུ་ལངམ་སྦེ་མིན་འདུག་"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "%sB་ལེན་དགོཔ་འདུག་ འབྱུང་à½à½´à½„ས་ཡིག་མཛོད་ཀྱི་%sBà¼\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "འབྱུང་à½à½´à½„ས་ཡིག་མཛོད་ཚུ་ཀྱི་%sB་ལེན་དགོ་པསསà¼\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "%s་འབྱུང་à½à½´à½„ས་ལེནà¼\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "ཡིག་མཛོད་ལ་ལུ་ཅིག་ལེན་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼"
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "%s་ནང་ཧེ་མ་ལས་སྦུང་ཚན་བཟོ་བཤོལ་ཨིན་མའི་སྦུང་ཚན་བཟོ་བཤོལ་གོམ་འགྱོ་འབད་དོà¼\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "'%s'སྦུང་ཚན་བཟོ་བཤོལ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "'dpkg-dev'་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་དེ་གཞི་བཙུགས་འབད་ཡོད་པ་ཅིན་ཨེབ་གà½à½„་འབདà¼\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "'%s'་བཟོ་བརྩིགས་བརྡ་བཀོད་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "ཆ་ལག་ལས་སྦྱོར་དེ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ནུག"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "builddeps ཞིབ་དཔྱད་འབད་ནིའི་དོན་ལུ་ཉུང་མà½à½ à¼‹à½¢à½„་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གཅིག་གསལ་བཀོད་འབད་དགོ"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "%s་གི་དོན་ལུ་བཟོ་བརྩིགས་-རྟེན་འབྲེལ་བརྡ་དོན་དེ་ལེན་མ་ཚུགསà¼"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s ལུ་བཟོ་བརྩིགས་རྟེན་འབྲེལ་མིན་འདུག\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "%sà½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་འà½à½¼à½–་མ་ཚུགསཔ་ལས་བརྟེན་ %sགི་དོན་ལུ་%s རྟེན་འབྲེལ་དེ་ངལ་རང་མ་ཚུགས་པསà¼"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "%sà½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་འà½à½¼à½–་མ་ཚུགསཔ་ལས་བརྟེན་ %sགི་དོན་ལུ་%s རྟེན་འབྲེལ་དེ་ངལ་རང་མ་ཚུགས་པསà¼"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"%s:གི་དོན་ལུ་%s་རྟེན་འབྲེལ་དེ་གི་རེ་བ་སà¾à½¼à½„་ནི་འདི་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ཨིན་ གཞི་བཙུགས་འབད་ཡོད་པའི་à½à½´à½˜à¼‹"
+"སྒྲིལ་%s་དེ་གནམ་མེད་ས་མེད་གསརཔ་ཨིན་པསà¼"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s གི་དོན་ལུ་%s་རྟེན་འབྲེལ་འདི་གི་རེ་བ་སà¾à½¼à½„་མི་ཚུགས་ནུག་ག་ཅི་འབད་ཟེར་བ་ཅིན་à½à½´à½˜à¼‹à½¦à¾’རིལ་%s་གི་འà½à½¼à½“་རིམ་"
"ཚུ་འà½à½¼à½–་མ་ཚུགསཔ་ལས་བརྟེན་འà½à½¼à½“་རིམ་དགོས་མà½à½¼à¼‹à½šà½´à¼‹à½‚ི་རེ་བ་དོ་སà¾à½¼à½„་མ་ཚུགས་པསà¼"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr ""
-"%s:གི་དོན་ལུ་%s་རྟེན་འབྲེལ་དེ་གི་རེ་བ་སà¾à½¼à½„་ནི་འདི་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ཨིན་ གཞི་བཙུགས་འབད་ཡོད་པའི་à½à½´à½˜à¼‹"
-"སྒྲིལ་%s་དེ་གནམ་མེད་ས་མེད་གསརཔ་ཨིན་པསà¼"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "%sà½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་འà½à½¼à½–་མ་ཚུགསཔ་ལས་བརྟེན་ %sགི་དོན་ལུ་%s རྟེན་འབྲེལ་དེ་ངལ་རང་མ་ཚུགས་པསà¼"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "%s: %s་གི་དོན་ལུ་་%s་རྟེན་འབྲེལ་འདི་ངལ་རངས་འབད་ནི་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ནུག"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr " %s་གི་དོན་ལུ་བཟོ་བརྩིགས་-རྟེན་འབྲེལ་འདི་ངལ་རངས་མ་ཚུགས་པསà¼"
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "བཟོ་བརྩིགས་རྟེན་འབྲེལ་འདི་ལས་སྦྱོར་འབད་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ཨིནà¼"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "%s (%s)་ལུ་མà½à½´à½‘་དོà¼"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "རྒྱབ་སà¾à¾±à½¼à½¢à¼‹à½ à½–ད་ཡོད་པའི་ཚད་གཞི་ཚུ:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1432,7 +1453,7 @@ msgstr ""
"ཤོག་ལེབ་ཚུ་ལུ་བལྟà¼\n"
" འ་ནི་ ཨེ་ཊི་པི་འདི་ལུ་ཡང་དག་ ཀའུ་ ནུས་ཤུགས་ཚུ་ཡོདà¼\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1746,8 +1767,8 @@ msgstr "à½à½´à½˜à¼‹à½¦à¾’ྲིལ་%s་ནང་ལུ་་ཡིག་སà
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1779,7 +1800,7 @@ msgstr "info ་དང་ temp་སྣོད་à½à½¼à¼‹à½šà½´à¼‹à½¡à½²à½‚་à½
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "à½à½´à½˜à¼‹à½¦à¾’ྲིལ་à½à½¼à¼‹à½¡à½²à½‚་ཚུ་ལྷག་དོà¼"
@@ -2147,38 +2168,32 @@ msgstr "'%s:%s' (%i)་མོས་མà½à½´à½“་འབདà½à¼‹à½‘་ངན་
msgid "Unable to connect to %s:%s:"
msgstr "%s %s:ལུ་མà½à½´à½‘་མ་ཚུགསà¼"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "གཞི་བཙུགས་བར་བཤོལ་འབད་དོà¼"
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"ནང་འà½à½¼à½‘་འཛོལ་བ: མིང་རྟགས་འདི་ལེགས་ཤོམ་ཅིག་འདུག་ འདི་འབདà½à¼‹à½‘་མཛུབ་རྗེས་ལྡེ་མིག་དེ་གà½à½“་འབེབས་བཟོ་"
"མ་ཚུགས?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "ཉུང་མà½à½ à¼‹à½¢à½„་ནུས་མེད་ཀྱི་མིང་རྟགས་ཅིག་གདོང་à½à½´à½‚་བྱུང་སྟེ་ཡོདཔ་ཨིནà¼"
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"མིང་རྟགས་བདེན་སྦྱོར་འབད་ནི་ལུ་'%s'འདི་ལག་ལེན་འà½à½–་མ་ཚུགས༠(gpgv་དེ་à½à½žà½²à¼‹à½–ཙུགས་འབད་ཡོདཔ་ཨིན་ནà¼?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "gpgv་ལག་ལེན་འà½à½–་ནི་ལུ་མ་ཤེས་པའི་འཛོལ་བ་à¼"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "འོག་གི་མིང་རྟགས་ཚུ་ནུས་མེད་ཨིན་པསà¼:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2335,57 +2350,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "སེལ་འà½à½´à¼‹%s ་མ་འà½à½¼à½–à¼"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "ངོ་མ་ཤེས་པའི་སྡུད་ཚིག་གི་དབྱེ་བ:'%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "རིམ་སྒྲིག་ཡིག་སྣོད་%s་འདི་à½à¼‹à½•à¾±à½ºà¼‹à½‘ོà¼"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "་ཚིག་སྦྱོར་འཛོལ་བ་%s:%u: སྡེབ་ཚན་གྱིས་མིང་མེད་མི་དང་གཅིག་à½à½¢à¼‹à½ à½‚ོ་བཙུགསཔ་ཨིན"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:བཟོ་ཉེས་འགྱུར་བའི་ངོ་རྟགསà¼"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:གནས་གོང་གི་ཤུལ་ལས་མà½à½¼à¼‹à½˜à½ºà½‘་à½à½ºà½–སà¼"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:བཀོད་རྒྱ་ཚུ་ཆེ་རིམ་ནང་རà¾à¾±à½„མ་ཅིག་བྱིན་ཚུགསà¼"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:འདུ་འཛོམས་འབད་འབདà½à¼‹à½£à½ºà¼‹à½¤à½±à¼‹à½‚ྲངས་སུ་བཙུགསཔ་ཨིནà¼"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u: ནཱ་ལས་རང་འགོ་བཙུགས་གྲངས་སུ་བཙུགས་à½à½ºà¼‹à½¡à½¼à½‘à¼"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u: རྒྱབ་སà¾à¾±à½¼à½¢à¼‹à½˜à¼‹à½ à½–ད་བར་ཡོད་པའི་'%s'བཀོད་རྒྱà¼"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:བཀོད་རྒྱ་ཚུ་ཆེ་རིམ་ནང་རà¾à¾±à½„མ་ཅིག་བྱིན་ཚུགསà¼"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u: ཡིག་སྣོད་ཀྱི་མཇུག་ལུ་མà½à½¼à¼‹à½˜à½ºà½‘་à½à½ºà½–སà¼"
@@ -2529,7 +2544,7 @@ msgstr "ཡན་ལག་ལས་སྦྱོར་%s་གིས་འཛོà
msgid "Sub-process %s exited unexpectedly"
msgstr "ཡན་ལག་ལས་སྦྱོར་་%s་གིས་རེ་བ་མེད་པར་ཕྱིར་à½à½¼à½“་ཡོདཔ་ཨིནà¼"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "%s་ཡིག་སྣོད་འདི་à½à¼‹à½•à¾±à½ºà¼‹à½˜à¼‹à½šà½´à½‚སà¼"
@@ -2757,14 +2772,14 @@ msgstr "བཟོ་ཉེས་འགྱུར་བའི་གྲལ་à½à½²
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "དབྱེ་བ་'%s'་འདི་གྲལ་à½à½²à½‚་%u་གུར་ལུ་ཡོདཔ་འབྱུང་à½à½´à½„ས་à½à½¼à¼‹à½¡à½²à½‚་%s་གི་ནང་ན་མ་ཤེས་པསà¼"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2776,7 +2791,7 @@ msgstr ""
"འདི་འབདà½à¼‹à½‘་à½à¾±à½¼à½‘་ཀྱི་à½à½‘་རི་འབའ་རི་འབད་དགོཔ་ཨིན་པ་ཅིན་ APT::Force-LoopBreak གདམ་à½à¼‹à½ à½‘ི་ཤུགས་"
"ལྡན་བཟོà¼"
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2808,7 +2823,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "དཀའ་ངལ་འདི་ནོར་བཅོས་འབད་མ་ཚུགས་ à½à¾±à½¼à½‘་ཀྱི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཆད་པ་ཚུ་འཆང་འདི་འདུག"
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2859,12 +2874,12 @@ msgstr "à½à½–ས་ལམ་ %s འདི་ངེས་བདེན་སྦà½
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "à½à¼‹à½¡à½²à½‚་བཀོད་ཡོད་པའི་ ཌིསི་འདི་བཙུགས་གནང་༠'%s'འདྲེན་འཕྲུལ་ནང་'%s' དང་ལོག་ལྡེ་འདི་ཨེབà¼à¼‹"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "སྦུང་ཚན་བཟོ་ནིའི་རིམ་ལུགས་ '%s' འདི་ལུ་རྒྱབ་སà¾à¾±à½¼à½¢à¼‹à½˜à¼‹à½ à½–ད་བསà¼"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "འོས་འབབ་དང་ལྡན་པའི་སྦུང་ཚན་རིམ་ལུགས་ཀྱི་དབྱེ་བ་ཅིག་གà½à½“་འབེབས་བཟོ་མི་ཚུགས་པསà¼"
@@ -2890,17 +2905,24 @@ msgstr "འ་ནི་དཀའ་ངལ་འདི་ཚུ་སེལ་ན
msgid "The list of sources could not be read."
msgstr "འབྱུང་à½à½´à½„ས་ཚུ་ཀྱི་à½à½¼à¼‹à½¡à½²à½‚་དེ་ལྷག་མི་ཚུགས་པསà¼"
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "དགའ་གདམ་ཡིག་སྣོད་ནང་ལུ་ནུས་མེད་ཀྱི་དྲན་à½à½¼à¼‹ à½à½´à½˜à¼‹à½¦à¾’ྲིལ་མགོ་ཡིག་མིན་འདུག"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "ངོ་རྟགས་ཨང་གི་དབྱེ་བ་ %s འདི་ཧ་གོ་མ་ཚུགསà¼"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "གོ་རྟགས་ཨང་གི་དོན་ལུ་ གཙོ་རིམ་(ཡང་ན་ ཀླད་ཀོར་)ཚུ་གསལ་བཀོད་མ་འབད་བསà¼"
@@ -2990,7 +3012,7 @@ msgstr "འབྱུང་à½à½´à½„ས་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གྱི
msgid "Collecting File Provides"
msgstr "ཡིག་སྣོད་བྱིན་མི་ཚུ་བསྡུ་ལེན་འབད་དོà¼"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "IO འཛོལ་བ་འབྱུང་à½à½´à½„ས་འདྲ་མཛོད་སྲུང་བཞག་འབད་དོà¼"
@@ -3003,8 +3025,8 @@ msgstr "%s (%s -> %s)བསà¾à¾±à½¢à¼‹à½˜à½²à½„་བà½à½‚ས་ནི་འà½
msgid "MD5Sum mismatch"
msgstr "ཨེམ་ཌི་༥་ à½à¾±à½¼à½“་བསྡོམས་མ་མà½à½´à½“་པà¼"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
#, fuzzy
msgid "Hash Sum mismatch"
msgstr "ཨེམ་ཌི་༥་ à½à¾±à½¼à½“་བསྡོམས་མ་མà½à½´à½“་པà¼"
@@ -3025,20 +3047,19 @@ msgstr "%s (༡་)་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཡིག་སྣོད་à
msgid "There is no public key available for the following key IDs:\n"
msgstr "འོག་གི་ ཨའི་ཌི་་ ལྡེ་མིག་ཚུ་གི་དོན་ལུ་མི་དམང་གི་ལྡེ་མིག་འདི་འà½à½¼à½–་མི་ཚུགས་པས:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3046,12 +3067,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3060,7 +3081,7 @@ msgstr ""
" %s་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གི་དོན་ལུ་ང་་གི་ཡིག་སྣོད་ཅིག་ག་ཡོད་འཚོལ་མི་འà½à½¼à½–་པས༠འདི་འབདà½à¼‹à½£à½¦à¼‹à½à¾±à½¼à½‘་ཀྱི་ལག་à½à½¼à½‚་ལས་ "
"འ་ནི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་གི་དཀའ་ངལ་སེལ་དགོཔ་འདུག (arch འདི་བྱིག་སོངམ་ལས་བརྟེནà¼)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3069,14 +3090,14 @@ msgstr ""
" %s་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གི་དོན་ལུ་ང་་གི་ཡིག་སྣོད་ཅིག་ག་ཡོད་འཚོལ་མི་འà½à½¼à½–་པས༠འདི་འབདà½à¼‹à½£à½¦à¼‹à½à¾±à½¼à½‘་ཀྱི་ལག་à½à½¼à½‚་ལས་ "
"འ་ནི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་གི་དཀའ་ངལ་སེལ་དགོཔ་འདུག "
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ ཟུར་à½à½¼à¼‹à½¡à½²à½‚་སྣོད་ཚུ་ངན་ཅན་འགྱོ་ནུག ཡིག་སྣོད་ཀྱི་མིང་མིན་འདུག: %s་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གྱི་དོན་ལུ་ས་སྒོà¼"
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "ཚད་མ་མà½à½´à½“à¼"
@@ -3197,22 +3218,22 @@ msgstr "འབྱུང་à½à½´à½„ས་ཀྱི་à½à½¼à¼‹à½¡à½²à½‚་གས
msgid "Source list entries for this disc are:\n"
msgstr "འ་ནི་ ཌིསིཀ་གི་དོན་ལུ་ འབྱུང་à½à½´à½„ས་ཧྲིལ་བུ་ཚུ་:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i་དྲན་མà½à½¼à¼‹à½‘ེ་ཚུ་བྲིས་ཡོདà¼\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i བྱིག་འགྱོ་ཡོད་པའི་ཡིག་སྣོད་ཚུ་དང་གཅིག་à½à½¢à¼‹ %i དྲན་à½à½¼à¼‹à½ à½‘ི་ཚུ་བྲིས་ཡོདà¼\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i་མà½à½´à½“་སྒྲིག་མེདཔ་པའི་ཡིག་སྣོད་ཚུ་དང་གཅིག་à½à½¢à¼‹ %i་དྲན་à½à½¼à¼‹à½šà½´à¼‹à½–ྲིས་བཞག་ཡོདཔ་ཨིནà¼\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3234,6 +3255,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "ཨེམ་ཌི་༥་ à½à¾±à½¼à½“་བསྡོམས་མ་མà½à½´à½“་པà¼"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "གཞི་བཙུགས་བར་བཤོལ་འབད་དོà¼"
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/el.po b/po/el.po
index 4db153d9c..8bf8aee22 100644
--- a/po/el.po
+++ b/po/el.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po_el\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-08-26 18:25+0300\n"
"Last-Translator: quad-nrg.net <yodesy@quad-nrg.net>\n"
"Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n"
@@ -167,7 +167,7 @@ msgstr " Πίνακας Έκδοσης:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s για %s είναι μεταγλωττισμένο σε %s %s\n"
@@ -855,7 +855,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr "το %s είναι ήδη η τελευταία έκδοση.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "το %s έχει εγκατασταθεί με το χέÏι\n"
@@ -973,8 +973,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Μετά από αυτή τη λειτουÏγία, θα ελευθεÏωθοÏν %sB χώÏου από το δίσκο.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Δεν μπόÏεσα να Ï€ÏοσδιοÏίσω τον ελεÏθεÏο χώÏο στο %s"
@@ -1011,7 +1011,7 @@ msgstr "Εγκατάλειψη."
msgid "Do you want to continue [Y/n]? "
msgstr "Θέλετε να συνεχίσετε [Î/ο]; "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Αποτυχία ανάκτησης του %s %s\n"
@@ -1020,7 +1020,7 @@ msgstr "Αποτυχία ανάκτησης του %s %s\n"
msgid "Some files failed to download"
msgstr "Για μεÏικά αÏχεία απέτυχε η μεταφόÏτωση"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "ΟλοκληÏώθηκε η μεταφόÏτωση μόνο"
@@ -1059,32 +1059,32 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "ΑδÏνατη η εÏÏεση της κατάστασης της λίστας πηγαίων πακέτων %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Η εντολή update δεν παίÏνει οÏίσματα"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Δεν επιτÏέπεται οποιαδήποτε διαγÏαφή· αδυναμία εκκίνησης του AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1102,15 +1102,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Οι ακόλουθες πληÏοφοÏίες ίσως βοηθήσουν στην επίλυση του Ï€Ïοβλήματος:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "ΕσωτεÏικό Σφάλμα, το AutoRemover δημιοÏÏγησε κάποιο Ï€Ïόβλημα"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1122,7 +1122,7 @@ msgstr[0] ""
msgstr[1] ""
"Τα ακόλουθα πακέτα εγκαταστάθηκαν αυτόματα και δεν χÏειάζονται πλέον:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1132,19 +1132,19 @@ msgstr[0] ""
msgstr[1] ""
"Τα ακόλουθα πακέτα εγκαταστάθηκαν αυτόματα και δεν χÏειάζονται πλέον:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "ΧÏησιμοποιήστε 'apt-get autoremove' για να τα διαγÏάψετε."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "ΕσωτεÏικό Σφάλμα, η διαδικασία αναβάθμισης χάλασε"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Aν Ï„Ïέξετε 'apt-get -f install' ίσως να διοÏθώσετε αυτά τα Ï€Ïοβλήματα:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1152,7 +1152,7 @@ msgstr ""
"Ανεπίλυτες εξαÏτήσεις. Δοκιμάστε 'apt-get -f install' χωÏίς να οÏίσετε "
"πακέτο (ή καθοÏίστε μια λÏση)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1164,84 +1164,84 @@ msgstr ""
"διανομή, ότι μεÏικά από τα πακέτα δεν έχουν ακόμα δημιουÏγηθεί ή έχουν\n"
"μετακινηθεί από τα εισεÏχόμενα."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Χαλασμένα πακέτα"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Τα ακόλουθα επιπλέον πακέτα θα εγκατασταθοÏν:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "ΠÏοτεινόμενα πακέτα:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Συνιστώμενα πακέτα:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "ΑδÏνατη η εÏÏεση του πακέτου %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "το %s έχει εγκατασταθεί με το χέÏι\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Υπολογισμός της αναβάθμισης... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Απέτυχε"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Ετοιμο"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr ""
"ΕσωτεÏικό Σφάλμα, η Ï€Ïοσπάθεια επίλυσης του Ï€Ïοβλήματος \"έσπασε\" κάποιο "
"υλικό"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "ΑδÏνατο το κλείδωμα του καταλόγου μεταφόÏτωσης"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"Θα Ï€Ïέπει να καθοÏίσετε τουλάχιστον ένα πακέτο για να μεταφοÏτώσετε τον "
"κωδικάτου"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Αδυναμία ÎµÎ½Ï„Î¿Ï€Î¹ÏƒÎ¼Î¿Ï Ï„Î¿Ï… κώδικά του πακέτου %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1249,79 +1249,94 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "ΠαÏάκαμψη του ήδη μεταφοÏτωμένου αÏχείου `%s`\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Δεν διαθέτετε αÏκετό ελεÏθεÏο χώÏο στο %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "ΧÏειάζεται να μεταφοÏτωθοÏν %sB/%sB πηγαίου κώδικα.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "ΧÏειάζεται να μεταφοÏτωθοÏν %sB πηγαίου κώδικα.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "ΜεταφόÏτωση Κωδικα %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Αποτυχία μεταφόÏτωσης μεÏικών αÏχειοθηκών."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "ΠαÏάκαμψη της αποσυμπίεσης ήδη μεταφοÏτωμένου κώδικα στο %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Απέτυχε η εντολή αποσυμπίεσης %s\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Ελέγξτε αν είναι εγκαταστημένο το πακέτο 'dpkg-dev'.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Απέτυχε η εντολή χτισίματος %s.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Η απογονική διεÏγασία απέτυχε"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Θα Ï€Ïέπει να καθοÏίσετε τουλάχιστον ένα πακέτο για έλεγχο των εξαÏτήσεων του"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "ΑδÏνατη η εÏÏεση πληÏοφοÏιών χτισίματος για το %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "το %s δεν έχει εξαÏτήσεις χτισίματος.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"%s εξαÏτήσεις για το %s δεν ικανοποιοÏνται επειδή το πακέτο %s δεν βÏέθηκε"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1329,46 +1344,54 @@ msgid ""
msgstr ""
"%s εξαÏτήσεις για το %s δεν ικανοποιοÏνται επειδή το πακέτο %s δεν βÏέθηκε"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Αποτυχία ικανοποίησης %s εξαÏτήσεων για το %s: Το εγκατεστημένο πακέτο %s "
+"είναι νεώτεÏο"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s εξαÏτήσεις για το %s δεν ικανοποιοÏνται επειδή δεν υπάÏχουν διαθέσιμες "
"εκδόσεις του πακέτου %s που να ικανοποιοÏν τις απαιτήσεις έκδοσης"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Αποτυχία ικανοποίησης %s εξαÏτήσεων για το %s: Το εγκατεστημένο πακέτο %s "
-"είναι νεώτεÏο"
+"%s εξαÏτήσεις για το %s δεν ικανοποιοÏνται επειδή το πακέτο %s δεν βÏέθηκε"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Αποτυχία ικανοποίησης %s εξάÏτησης για το %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Οι εξαÏτήσεις χτισίματος για το %s δεν ικανοποιοÏνται."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Αποτυχία επεξεÏγασίας εξαÏτήσεων χτισίματος"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "ΣÏνδεση στο %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "ΥποστηÏιζόμενοι Οδηγοί:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1453,7 +1476,7 @@ msgstr ""
"για πεÏισσότεÏες πληÏοφοÏίες και επιλογές.\n"
" This APT has Super Cow Powers.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1766,8 +1789,8 @@ msgstr "Το αÏχείο %s/%s αντικαθιστά αυτό στο πακέÏ
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1799,7 +1822,7 @@ msgstr "Οι φάκελοι info και temp Ï€Ïέπει να βÏίσκοντÎ
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Ανάγνωση Λιστών Πακέτων"
@@ -2168,39 +2191,33 @@ msgstr "Κάτι παÏάξενο συνέβη κατά την εÏÏεση το
msgid "Unable to connect to %s:%s:"
msgstr "ΑδÏνατη η σÏνδεση στο %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Εγκατάλειψη της εγκατάστασης."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"ΕσωτεÏικό σφάλμα: Η υπογÏαφή είναι καλή, αλλά αδυναμία Ï€ÏοσδιοÏÎ¹ÏƒÎ¼Î¿Ï Ï„Î¿Ï… "
"αποτυπώματος?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Î’Ïέθηκε τουλάχιστον μια μη έγκυÏη υπογÏαφή."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Αδυναμία εκτέλεσης του '%s' για την επαλήθευση της υπογÏαφής (είναι "
"εγκατεστημένο το gpgv;)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Άγνωστο σφάλμα κατά την εκτέλεση του gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Οι παÏακάτω υπογÏαφές ήταν μη έγκυÏες:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2359,59 +2376,59 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Η επιλογή %s δε βÏέθηκε"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Μη αναγνωÏισμένος Ï„Ïπος σÏντμησης: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Άνοιγμα του αÏχείου Ïυθμίσεων %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Συντακτικό σφάλμα %s:%u: Το block αÏχίζει χωÏίς όνομα."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Συντακτικό σφάλμα %s:%u: Λάθος μοÏφή Ετικέτας (Tag)"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Συντακτικό σφάλμα %s:%u: ΆχÏηστοι χαÏακτήÏες μετά την τιμή"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Συντακτικό σφάλμα %s:%u: Οι οδηγίες βÏίσκονται μόνο στο ανώτατο επίπεδο"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Συντακτικό σφάλμα %s:%u: ΥπεÏβολικός αÏιθμός συνδυασμένων includes"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Συντακτικό σφάλμα %s:%u: ΣυμπεÏιλαμβάνεται από εδώ"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Συντακτικό σφάλμα %s:%u: Μη υποστηÏιζόμενη εντολή '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Συντακτικό σφάλμα %s:%u: Οι οδηγίες βÏίσκονται μόνο στο ανώτατο επίπεδο"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Συντακτικό σφάλμα %s:%u: ΆχÏηστοι χαÏακτήÏες στο τέλος του αÏχείου"
@@ -2558,7 +2575,7 @@ msgstr "Η υποδιεÏγασία %s επέστÏεψε ένα κωδικός
msgid "Sub-process %s exited unexpectedly"
msgstr "Η υποδιεÏγασία %s εγκατέλειψε απÏόσμενα"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "ΑδÏνατο το άνοιγμα του αÏχείου %s"
@@ -2785,14 +2802,14 @@ msgstr "Λάθος μοÏφή της γÏαμμής %u στη λίστα πηγÏ
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Ο Ï„Ïπος '%s' στη γÏαμμή %u στη λίστα πηγών %s είναι άγνωστος "
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2804,7 +2821,7 @@ msgstr ""
"είναι καλό, αλλά εάν Ï€Ïαγματικά θέλετε να συνεχίσετε ενεÏγοποιήστε την "
"επιλογή APT::Force-LoopBreak option."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2836,7 +2853,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "ΑδÏνατη η διόÏθωση Ï€Ïοβλημάτων, έχετε κÏατοÏμενα ελαττωματικά πακέτα."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2889,12 +2906,12 @@ msgstr ""
"ΠαÏακαλώ εισάγετε το δίσκο με ετικέτα '%s' στη συσκευή '%s' και πατήστε "
"enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Το σÏστημα συσκευασίας '%s' δεν υποστηÏίζεται"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "ΑδÏνατος ο καθοÏισμός ενός κατάλληλου Ï„Ïπου συστήματος πακέτων"
@@ -2921,17 +2938,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "ΑδÏνατη η ανάγνωση της λίστας πηγών."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Μη έγκυÏη εγγÏαφή στο αÏχείο Ï€Ïοτιμήσεων, καμία επικεφαλίδα Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "ΑδÏνατη η κατανόηση του Ï„Ïπου καθήλωσης %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr ""
"Δεν έχει οÏιστεί Ï€ÏοτεÏαιότητα (ή έχει οÏιστεί μηδενική) για την καθήλωση"
@@ -3025,7 +3049,7 @@ msgstr "ΑδÏνατη η εÏÏεση της κατάστασης της λίσ
msgid "Collecting File Provides"
msgstr "Συλλογή ΠαÏοχών ΑÏχείου"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Σφάλμα IO κατά την αποθήκευση της cache πηγών"
@@ -3038,8 +3062,8 @@ msgstr "απέτυχε η μετονομασία, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Ανόμοιο MD5Sum"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Ανόμοιο MD5Sum"
@@ -3059,20 +3083,19 @@ msgstr "ΑδÏνατη η ανάλυση του αÏχείου πακέτου %s
msgid "There is no public key available for the following key IDs:\n"
msgstr "Δεν υπάÏχει διαθέσιμο δημόσιο κλειδί για τα ακολουθα κλειδιά:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3080,12 +3103,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3094,7 +3117,7 @@ msgstr ""
"ΑδÏνατος ο εντοπισμός ενός αÏχείου για το πακέτο %s. Αυτό ίσως σημαίνει ότι "
"χÏειάζεται να διοÏθώσετε χειÏοκίνητα το πακέτο. (λόγω χαμένου αÏχείου)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3103,7 +3126,7 @@ msgstr ""
"ΑδÏνατος ο εντοπισμός ενός αÏχείου για το πακέτο %s. Αυτό ίσως σημαίνει ότι "
"χÏειάζεται να διοÏθώσετε χειÏοκίνητα το πακέτο."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3111,7 +3134,7 @@ msgstr ""
"ΚατεστÏαμμένα αÏχεία ευÏετηÏίου πακέτων. Δεν υπάÏχει πεδίο Filename: στο "
"πακέτο %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Ανόμοιο μέγεθος"
@@ -3233,22 +3256,22 @@ msgstr "EγγÏαφή νέας λίστας πηγών\n"
msgid "Source list entries for this disc are:\n"
msgstr "Οι κατάλογοι με τις πηγές Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… δίσκου είναι: \n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Εγιναν %i εγγÏαφές.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Εγιναν %i εγγÏαφές με %i απώντα αÏχεία.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Εγιναν %i εγγÏαφές με %i ασÏμβατα αÏχεία.\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Εγιναν %i εγγÏαφές με %i απώντα αÏχεία και %i ασÏμβατα αÏχεία\n"
@@ -3268,6 +3291,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Ανόμοιο MD5Sum"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Εγκατάλειψη της εγκατάστασης."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/es.po b/po/es.po
index 992ee321c..f7d900d6b 100644
--- a/po/es.po
+++ b/po/es.po
@@ -33,7 +33,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2011-01-24 11:47+0100\n"
"Last-Translator: Javier Fernández-Sanguino Peña <jfs@debian.org>\n"
"Language-Team: Debian Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -211,7 +211,7 @@ msgstr " Tabla de versión:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s para %s compilado en %s %s\n"
@@ -898,7 +898,7 @@ msgstr "No es posible reinstalar el paquete %s, no se puede descargar.\n"
msgid "%s is already the newest version.\n"
msgstr "%s ya está en su versión más reciente.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "fijado %s como instalado manualmente.\n"
@@ -1015,8 +1015,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Se liberarán %sB después de esta operación.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "No pude determinar el espacio libre en %s"
@@ -1053,7 +1053,7 @@ msgstr "Abortado."
msgid "Do you want to continue [Y/n]? "
msgstr "¿Desea continuar [S/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Imposible obtener %s %s\n"
@@ -1062,7 +1062,7 @@ msgstr "Imposible obtener %s %s\n"
msgid "Some files failed to download"
msgstr "No se pudieron descargar algunos archivos"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Descarga completa y en modo de sólo descarga"
@@ -1104,32 +1104,32 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Nota: Dpkg realiza esto de forma automática y a propósito."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignorar la distribución objetivo no disponible «%s» del paquete «%s»"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Escogiendo «%s» como paquete fuente en lugar de «%s»\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignorar la versión no disponible «%s» del paquete «%s»"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "El comando de actualización no toma argumentos"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Se supone que no vamos a eliminar cosas, no se pudo iniciar «AutoRemover»"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1147,15 +1147,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "La siguiente información puede ayudar a resolver la situación:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Error interno, «AutoRemover» rompió cosas"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1168,7 +1168,7 @@ msgstr[1] ""
"Los paquetes indicados a continuación se instalaron de forma automática y ya "
"no son necesarios."
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1177,19 +1177,19 @@ msgstr[0] "Se instaló de forma automática %lu paquete y ya no es necesario.\n"
msgstr[1] ""
"Se instalaron de forma automática %lu paquetes y ya no son necesarios.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Utilice «apt-get autoremove» para eliminarlos."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Error Interno, AllUpgrade rompió cosas"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Tal vez quiera ejecutar «apt-get -f install» para corregirlo:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1197,7 +1197,7 @@ msgstr ""
"Dependencias incumplidas. Intente «apt-get -f install» sin paquetes (o "
"especifique una solución)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1209,74 +1209,74 @@ msgstr ""
"inestable, que algunos paquetes necesarios no han sido creados o han\n"
"sido movidos fuera de Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Paquetes rotos"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Se instalarán los siguientes paquetes extras:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Paquetes sugeridos:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Paquetes recomendados:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "No se pudo encontrar el paquete %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "fijado %s como instalado automáticamente.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Calculando la actualización... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Falló"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Listo"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr ""
"Error interno, el sistema de solución de problemas rompió algunas cosas"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "No se puede bloquear el directorio de descarga"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Debe especificar al menos un paquete para obtener su código fuente"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "No se pudo encontrar un paquete de fuentes para %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1286,7 +1286,7 @@ msgstr ""
"versiones «%s» en:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1298,80 +1298,96 @@ msgstr ""
"para obtener las últimas actualizaciones (posiblemente no publicadas aún) "
"del paquete.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Omitiendo el fichero ya descargado «%s»\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "No tiene suficiente espacio libre en %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Necesito descargar %sB/%sB de archivos fuente.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Necesito descargar %sB de archivos fuente.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Fuente obtenida %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "No se pudieron obtener algunos archivos."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Ignorando desempaquetamiento de paquetes ya desempaquetados en %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Falló la orden de desempaquetamiento «%s».\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Compruebe que el paquete «dpkg-dev» esté instalado.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Falló la orden de construcción «%s».\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Falló el proceso hijo"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Debe especificar al menos un paquete para verificar sus dependencias de "
"construcción"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "No se pudo obtener información de dependencias de construcción para %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s no tiene dependencias de construcción.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"La dependencia %s en %s no puede satisfacerse porque no se puede encontrar "
+"el paquete %s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1380,46 +1396,55 @@ msgstr ""
"La dependencia %s en %s no puede satisfacerse porque no se puede encontrar "
"el paquete %s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"No se pudo satisfacer la dependencia %s para %s: El paquete instalado %s es "
+"demasiado nuevo"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"La dependencia %s en %s no puede satisfacerse porque ninguna versión "
"disponible del paquete %s satisface los requisitos de versión"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"No se pudo satisfacer la dependencia %s para %s: El paquete instalado %s es "
-"demasiado nuevo"
+"La dependencia %s en %s no puede satisfacerse porque no se puede encontrar "
+"el paquete %s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "No se pudo satisfacer la dependencia %s para %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "No se pudieron satisfacer las dependencias de construcción de %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "No se pudieron procesar las dependencias de construcción"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Conectando a %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Módulos soportados:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1510,7 +1535,7 @@ msgstr ""
"para más información y opciones.\n"
" Este APT tiene poderes de Super Vaca.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1828,8 +1853,8 @@ msgstr "El archivo %s/%s sobreescribe al que está en el paquete %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1862,7 +1887,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Leyendo lista de paquetes"
@@ -2230,37 +2255,31 @@ msgstr "Algo raro pasó al resolver «%s:%s» (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "No se pudo conectar a %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "No se instaló ningún anillo de claves %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Error interno: Firma correcta, ¡¿pero no se pudo determinar su huella "
"digital?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Se encontró al menos una firma inválida."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"No se pudo ejecutar «gpgv» para verificar la firma (¿está instalado gpgv?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Error desconocido ejecutando gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Las siguientes firms fueron inválidas:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2421,61 +2440,61 @@ msgstr "%liseg."
msgid "Selection %s not found"
msgstr "Selección %s no encontrada"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Tipo de abreviación no reconocida: «%c»"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Abriendo fichero de configuración %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Error de sintaxis %s:%u: No hay un nombre al comienzo del bloque."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Error de sintaxis %s:%u: Marca mal formada"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Error de sintaxis %s:%u: Basura extra después del valor"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Error de sintaxis %s:%u: Las directivas sólo se pueden poner en el primer "
"nivel"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Error de sintaxis %s:%u: Demasiadas inclusiones anidadas"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Error de sintaxis %s:%u: Incluido desde aquí"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Error de sintaxis %s:%u: Directiva «%s» no soportada"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Error de sintaxis %s:%u: la directiva «clear» tiene que incluir un árbol de "
"opciones como argumento"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Error de sintaxis %s:%u: Basura extra al final del archivo"
@@ -2620,7 +2639,7 @@ msgstr "El subproceso %s devolvió un código de error (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "El subproceso %s terminó de forma inesperada"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "No pude abrir el fichero %s"
@@ -2853,7 +2872,7 @@ msgstr "Línea %u mal formada en la lista de fuentes %s (tipo)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Tipo «%s» desconocido en la línea %u de lista de fuentes %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2863,7 +2882,7 @@ msgstr ""
"de manual con «man 5 apt.conf» bajo «APT::Immediate-Configure» para más "
"información. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2875,7 +2894,7 @@ msgstr ""
"generalmente es malo, pero si realmente quiere hacerlo, active la opción |"
"APT::Force-LoopBreak»."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2911,7 +2930,7 @@ msgid "Unable to correct problems, you have held broken packages."
msgstr ""
"No se pudieron corregir los problemas, usted ha retenido paquetes rotos."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2962,12 +2981,12 @@ msgstr "El método %s no se inició correctamente"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Por favor, inserte el disco «%s» en la unidad «%s» y pulse Intro."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "No está soportado el sistema de paquetes «%s»"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "No se pudo determinar un tipo de sistema de paquetes adecuado"
@@ -2994,18 +3013,25 @@ msgstr "Tal vez quiera ejecutar «apt-get update» para corregir estos problemas
msgid "The list of sources could not be read."
msgstr "No se pudieron leer las listas de fuentes."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"Registro inválido en el archivo de preferencias %s, no hay cabecera «Package»"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "No se entiende el pin tipo %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "No hay prioridad especificada para pin (o es cero)"
@@ -3099,7 +3125,7 @@ msgstr "No se puede leer la lista de paquetes fuente %s"
msgid "Collecting File Provides"
msgstr "Recogiendo archivos que proveen"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Error de E/S guardando caché fuente"
@@ -3112,8 +3138,8 @@ msgstr "falló el cambio de nombre, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "La suma MD5 difiere"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "La suma hash difiere"
@@ -3135,21 +3161,19 @@ msgstr ""
"No existe ninguna clave pública disponible para los siguientes "
"identificadores de clave:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-"El archivo «Release» ha expirado, ignorando %s (inválido desde hace %s)"
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Distribución conflictiva: %s (se esperaba %s, pero se obtuvo %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3160,12 +3184,12 @@ msgstr ""
"GPG es: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Error de GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3175,7 +3199,7 @@ msgstr ""
"que necesita arreglar manualmente este paquete (debido a que falta una "
"arquitectura)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3184,7 +3208,7 @@ msgstr ""
"No se pudo localizar un archivo para el paquete %s. Esto puede significar "
"que necesita arreglar manualmente este paquete."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3192,7 +3216,7 @@ msgstr ""
"Los archivos de índice de paquetes están dañados. No existe un campo "
"«Filename:» para el paquete %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "El tamaño difiere"
@@ -3316,22 +3340,22 @@ msgstr "Escribiendo nueva lista de fuente\n"
msgid "Source list entries for this disc are:\n"
msgstr "Las entradas de la lista de fuentes para este disco son:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i registros escritos.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i registros escritos con %i fichero de menos.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i registros escritos con %i fichero mal emparejado\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3352,6 +3376,17 @@ msgstr "No se pudo encontrar un registro de autenticación para: %s"
msgid "Hash mismatch for: %s"
msgstr "La suma hash difiere para: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "No se instaló ningún anillo de claves %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3618,6 +3653,10 @@ msgstr "La conexión se cerró prematuramente"
#~ msgstr ""
#~ "Error interno, el grupo «%s» no tiene ningún pseudo-paquete instalable"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr ""
+#~ "El archivo «Release» ha expirado, ignorando %s (inválido desde hace %s)"
+
#~ msgid "You must give exactly one pattern"
#~ msgstr "Debe dar exactamente un patrón"
diff --git a/po/eu.po b/po/eu.po
index 5d136cd9d..939a0b062 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po_eu\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2009-05-17 00:41+0200\n"
"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
"Language-Team: Euskara <debian-l10n-basque@lists.debian.org>\n"
@@ -159,7 +159,7 @@ msgstr " Bertsio taula:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s %s-rentzat %s %s-ean konpilatua\n"
@@ -833,7 +833,7 @@ msgstr "%s berriro instalatzea ez da posible; ezin da deskargatu.\n"
msgid "%s is already the newest version.\n"
msgstr "%s bertsiorik berriena da jada.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s eskuz instalatua bezala ezarri.\n"
@@ -947,8 +947,8 @@ msgstr "Ekintza honen ondoren, %sB gehiago erabiliko dira diskoan.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Ekintza honen ondoren, %sB libratuko dira diskoan.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Ezin da %s(e)n duzun leku librea atzeman."
@@ -985,7 +985,7 @@ msgstr "Abortatu."
msgid "Do you want to continue [Y/n]? "
msgstr "Aurrera jarraitu nahi al duzu [B/e]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Ezin da lortu %s %s\n"
@@ -994,7 +994,7 @@ msgstr "Ezin da lortu %s %s\n"
msgid "Some files failed to download"
msgstr "Fitxategi batzuk ezin izan dira deskargatu"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Deskarga amaituta eta deskarga soileko moduan"
@@ -1032,31 +1032,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Ezin da atzitu %s iturburu paketeen zerrenda"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Eguneratzeko komandoak ez du argumenturik hartzen"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Suposatu ez dugun zerbait ezabatuko da, ezin da AutoRemover abiarazi"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1074,15 +1074,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Informazio honek arazoa konpontzen lagun dezake:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Barne Errorea, AutoRemover-ek zerbait apurtu du"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1096,7 +1096,7 @@ msgstr[1] ""
"Ondorengo pakete automatikoki instalatuak izan ziren eta ez dira luzaroago "
"behar."
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1108,19 +1108,19 @@ msgstr[1] ""
"Ondorengo pakete automatikoki instalatuak izan ziren eta ez dira luzaroago "
"behar."
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "'apt-get autoremove' erabili ezabatzeko."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Barne Errorea, AllUpgade-k zerbait apurtu du"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Beharbada 'apt-get -f install' exekutatu nahiko duzu hauek zuzentzeko:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1128,7 +1128,7 @@ msgstr ""
"Bete gabeko mendekotasunak. Probatu 'apt-get -f install' paketerik gabe (edo "
"zehaztu konponbide bat)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1140,80 +1140,80 @@ msgstr ""
"beharrezko pakete batzuk ez ziren sortuko oraindik, edo \n"
"Sarrerakoetan (Incoming) egoten jarraituko dute."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Hautsitako paketeak"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Ondorengo pakete gehigarriak instalatuko dira:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Iradokitako paketeak:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Gomendatutako paketeak:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Ezin izan da %s paketea aurkitu"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s eskuz instalatua bezala ezarri.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Berriketak kalkulatzen... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Huts egin du"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Eginda"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Barne Errorea, arazo konpontzaileak zerbait apurtu du"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Ezin da deskarga direktorioa blokeatu"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Gutxienez pakete bat zehaztu behar duzu iturburua lortzeko"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Ezin da iturburu paketerik aurkitu %s(r)entzat"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1221,80 +1221,95 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Dagoeneko deskargaturiko '%s' fitxategia saltatzen\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Ez daukazu nahikoa leku libre %s(e)n."
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Iturburu artxiboetako %sB/%sB eskuratu behar dira.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Iturburu artxiboetako %sB eskuratu behar dira.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Eskuratu %s iturburua\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Huts egin du zenbat artxibo lortzean."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
"%s(e)n dagoeneko deskonprimitutako iturburua deskonprimitzea saltatzen\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Deskonprimitzeko '%s' komandoak huts egin du.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Egiaztatu 'dpkg-dev' paketea instalaturik dagoen.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Eraikitzeko '%s' komandoak huts egin du.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Prozesu umeak huts egin du"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Gutxienez pakete bat zehaztu behar duzu eraikitze mendekotasunak egiaztatzeko"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Ezin izan da %s(r)en eraikitze mendekotasunen informazioa eskuratu"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s: ez du eraikitze mendekotasunik.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"%2$s(r)en %1$s mendekotasuna ezin da bete, %3$s paketea ezin delako aurkitu"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1302,46 +1317,54 @@ msgid ""
msgstr ""
"%2$s(r)en %1$s mendekotasuna ezin da bete, %3$s paketea ezin delako aurkitu"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Huts egin du %2$s(r)en %1$s mendekotasuna betetzean: instalatutako %3$s "
+"paketea berriegia da"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%2$s(r)en %1$s mendekotasuna ezin da bete, ez baitago bertsio-eskakizunak "
"betetzen dituen %3$s paketearen bertsio erabilgarririk"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Huts egin du %2$s(r)en %1$s mendekotasuna betetzean: instalatutako %3$s "
-"paketea berriegia da"
+"%2$s(r)en %1$s mendekotasuna ezin da bete, %3$s paketea ezin delako aurkitu"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Huts egin du %2$s(r)en %1$s mendekotasuna betetzean: %3$s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "%s(r)en eraikitze mendekotasunak ezin izan dira bete."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Huts egin du eraikitze mendekotasunak prozesatzean"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Konektatzen -> %s.(%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Onartutako Moduluak:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1428,7 +1451,7 @@ msgstr ""
"sources.list(5) eta apt.conf(5) orrialdeak eskuliburuan.\n"
" APT honek Super Behiaren Ahalmenak ditu.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1738,8 +1761,8 @@ msgstr "%s/%s fitxategiak %s paketekoa gainidazten du"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1771,7 +1794,7 @@ msgstr "info eta temp direktorioek fitxategi sistema berean egon behar dute"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Pakete Zerrenda irakurtzen"
@@ -2145,35 +2168,29 @@ msgstr "Zerbait arraroa pasatu da '%s:%s' (%i) ebaztean"
msgid "Unable to connect to %s:%s:"
msgstr "Ezin da konektatu -> %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Abortatu instalazioa."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "Barne errorea: Sinadura zuzena, baina ezin da egiaztapen marka zehaztu"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Beintza sinadura baliogabe bat aurkitu da."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "Ezin da %s abiarazi sinadura egiaztatzeko (gpgv instalaturik al dago?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Errore ezezaguna gpgv exekutatzean"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Ondorengo sinadurak baliogabeak dira:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2332,57 +2349,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "%s hautapena ez da aurkitu"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Mota ezezaguneko laburtzapena: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "%s konfigurazio fitxategia irekitzen"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Sintaxi errorea, %s:%u: Blokearen hasieran ez dago izenik."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Sintaxi errorea %s:%u: Gaizki eratutako"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Sintaxi errorea, %s:%u: Zabor gehigarria balioaren ondoren"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Sintaxi errorea, %s:%u: Direktibak goi-mailan bakarrik egin daitezke"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Sintaxi errorea, %s:%u: habiaratutako elementu gehiegi"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Sintaxi errorea, %s:%u: hemendik barne hartuta"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Sintaxi errorea, %s:%u: onartu gabeko '%s' direktiba"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "Sintaxi errorea, %s:%u: Direktibak goi-mailan bakarrik egin daitezke"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Sintaxi errorea, %s:%u: Zabor gehigarria fitxategi amaieran"
@@ -2529,7 +2546,7 @@ msgstr "%s azpiprozesuak errore kode bat itzuli du (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "%s azpiprozesua ustekabean amaitu da"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "%s fitxategia ezin izan da ireki"
@@ -2756,14 +2773,14 @@ msgstr "Gaizki osatutako %u lerroa %s Iturburu zerrendan (type)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "'%s' mota ez da ezagutzen %u lerroan %s Iturburu zerrendan"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2775,7 +2792,7 @@ msgstr ""
"izaten da, baina hala ere egin nahi baduzu, aktibatu APT::Force-LoopBreak "
"aukera."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2806,7 +2823,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Ezin dira arazoak konpondu; hautsitako paketeak atxiki dituzu."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2857,12 +2874,12 @@ msgstr "%s metodoa ez da behar bezala abiarazi"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Mesedez sa ''%s' izeneko diska '%s' gailuan eta enter sakatu"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "'%s' pakete sistema ez da onartzen"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Ezin da pakete sistemaren mota egokirik zehaztu"
@@ -2887,17 +2904,24 @@ msgstr "Beharbada 'apt-get update' exekutatu nahiko duzu arazoak konpontzeko"
msgid "The list of sources could not be read."
msgstr "Ezin izan da Iturburu zerrenda irakurri."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Erregistro baliogabea hobespenen fitxategian, pakete goibururik ez"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Ez da ulertu %s orratz-mota (pin)"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Ez da lehentasunik zehaztu orratzarentzat (pin) (edo zero da)"
@@ -2986,7 +3010,7 @@ msgstr "Ezin da atzitu %s iturburu paketeen zerrenda"
msgid "Collecting File Provides"
msgstr "Fitxategiaren erreferentziak biltzen"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "S/I errorea iturburu katxea gordetzean"
@@ -2999,8 +3023,8 @@ msgstr "huts egin du izen-aldaketak, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5Sum ez dator bat"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Egiaztapena ez dator bat"
@@ -3020,20 +3044,19 @@ msgstr "Ezin da %s pakete fitxategia analizatu (1)"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Ez dago gako publiko erabilgarririk hurrengo gako ID hauentzat:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3041,12 +3064,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3055,7 +3078,7 @@ msgstr ""
"Ezin izan dut %s paketeko fitxategi bat lokalizatu. Beharbada eskuz konpondu "
"beharko duzu paketea. (arkitektura falta delako)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3064,7 +3087,7 @@ msgstr ""
"Ezin izan dut %s paketeko fitxategi bat lokalizatu. Beharbada eskuz konpondu "
"beharko duzu paketea."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3072,7 +3095,7 @@ msgstr ""
"Paketearen indize fitxategiak hondatuta daude. 'Filename:' eremurik ez %s "
"paketearentzat."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Tamaina ez dator bat"
@@ -3194,22 +3217,22 @@ msgstr "Jatorri zerrenda berria idazten\n"
msgid "Source list entries for this disc are:\n"
msgstr "Diskoarentzako jatorri sarrerak:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i erregistro grabaturik.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i erregistro eta %i galdutako fitxategi grabaturik.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i erregistro eta %i okerreko fitxategi grabaturik\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3230,6 +3253,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Egiaztapena ez dator bat"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Abortatu instalazioa."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/fi.po b/po/fi.po
index a65d0f3ac..617cc6182 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.26\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-12-11 14:52+0200\n"
"Last-Translator: Tapio Lehtonen <tale@debian.org>\n"
"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
@@ -157,7 +157,7 @@ msgstr " Versiotaulukko:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s laitealustalle %s käännöksen päiväys %s %s\n"
@@ -834,7 +834,7 @@ msgstr "Paketin %s uudelleenasennus ei ole mahdollista, sitä ei voi noutaa.\n"
msgid "%s is already the newest version.\n"
msgstr "%s on jo uusin versio.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n"
@@ -947,8 +947,8 @@ msgstr "Toiminnon jälkeen käytetään %s t lisää levytilaa.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Toiminnon jälkeen vapautuu %s t levytilaa.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Kansion %s vapaan tilan määrä ei selvinnyt"
@@ -986,7 +986,7 @@ msgstr "Keskeytä."
msgid "Do you want to continue [Y/n]? "
msgstr "Haluatko jatkaa [K/e]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Tiedoston %s nouto ei onnistunut %s\n"
@@ -995,7 +995,7 @@ msgstr "Tiedoston %s nouto ei onnistunut %s\n"
msgid "Some files failed to download"
msgstr "Joidenkin tiedostojen nouto ei onnistunut"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Nouto on valmis ja määrätty vain nouto"
@@ -1033,32 +1033,32 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "stat ei toiminut lähdepakettiluettelolle %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Komento update ei käytä parametreja"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"On tarkoitus olla poistamatta mitään, joten AutoRemover:ia ei voi käynnistää"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1076,15 +1076,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Seuraavista tiedoista voi olla hyötyä selvitettäessä tilannetta:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Sisäinen virhe, AutoRemover rikkoi jotain"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1098,7 +1098,7 @@ msgstr[1] ""
"Seuraavat paketit asennettiin automaattisesti, eivätkä ne ole enää "
"vaadittuja:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1110,19 +1110,19 @@ msgstr[1] ""
"Seuraavat paketit asennettiin automaattisesti, eivätkä ne ole enää "
"vaadittuja:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Poista ne komennolla \"apt-get autoremove\"."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Sisäinen virhe, AllUpgrade rikkoi jotain"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Saatat haluta suorittaa \"apt-get -f install\" korjaamaan nämä:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1130,7 +1130,7 @@ msgstr ""
"Kaikkia riippuvuuksia ei ole tyydytetty. Kokeile \"apt-get -f install\" "
"ilmanpaketteja (tai ratkaise itse)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1141,80 +1141,80 @@ msgstr ""
"jos käytetään epävakaata jakelua, joitain vaadittuja paketteja ei ole\n"
"vielä luotu tai siirretty Incoming-kansiosta."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Rikkinäiset paketit"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Seuraavat ylimääräiset paketit on merkitty asennettaviksi:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Ehdotetut paketit:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Suositellut paketit:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Pakettia %s ei löytynyt"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Käsitellään päivitystä ... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Ei onnistunut"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Valmis"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Sisäinen virhe, resolver rikkoi jotain"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Noutokansiota ei saatu lukittua"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "On annettava ainakin yksi paketti jonka lähdekoodi noudetaan"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Paketin %s lähdekoodipakettia ei löytynyt"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1222,79 +1222,94 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Ohitetaan jo noudettu tiedosto \"%s\"\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Kansiossa %s ei ole riittävästi vapaata tilaa"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "On noudettava %st/%st lähdekoodiarkistoja.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "On noudettava %st lähdekoodiarkistoja.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Nouda lähdekoodi %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Joidenkin arkistojen noutaminen ei onnistunut."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Ohitetaan purku jo puretun lähdekoodin %s kohdalla\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Purkukomento \"%s\" ei onnistunut.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Tarkista onko paketti \"dpkg-dev\" asennettu.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Paketointikomento \"%s\" ei onnistunut.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Lapsiprosessi kaatui"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"On annettava ainakin yksi paketti jonka paketointiriippuvuudet tarkistetaan"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Paketille %s ei ole saatavilla riippuvuustietoja"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "Paketille %s ei ole määritetty paketointiriippuvuuksia.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"riippuvuutta %s paketille %s ei voi tyydyttää koska pakettia %s ei löydy"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1302,46 +1317,54 @@ msgid ""
msgstr ""
"riippuvuutta %s paketille %s ei voi tyydyttää koska pakettia %s ei löydy"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Riippuvutta %s paketille %s ei voi tyydyttää: Asennettu paketti %s on liian "
+"uusi"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s riippuvuutta paketille %s ei voi tyydyttää koska mikään paketin %s versio "
"ei vastaa versioriippuvuuksia"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Riippuvutta %s paketille %s ei voi tyydyttää: Asennettu paketti %s on liian "
-"uusi"
+"riippuvuutta %s paketille %s ei voi tyydyttää koska pakettia %s ei löydy"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Riippuvuutta %s paketille %s ei voi tyydyttää: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Paketointiriippuvuuksia paketille %s ei voi tyydyttää."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Paketointiriippuvuuksien käsittely ei onnistunut"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Avataan yhteys %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Tuetut moduulit:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1427,7 +1450,7 @@ msgstr ""
"lisätietoja ja lisää valitsimia.\n"
" This APT has Super Cow Powers.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1738,8 +1761,8 @@ msgstr "Tiedosto %s/%s kirjoitetaan paketista %s tulleen päälle"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1771,7 +1794,7 @@ msgstr "Kansioiden info ja temp pitää olla samassa tiedostojärjestelmässä"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Luetaan pakettiluetteloita"
@@ -2141,37 +2164,31 @@ msgstr "Jotain kenkkua tapahtui selvitettäessä \"%s: %s\" (%i)"
msgid "Unable to connect to %s:%s:"
msgstr "Ei ole mahdollista muodostaa yhteyttä %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Asennus keskeytetään."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Sisäinen virhe: Allekirjoitus kelpaa, mutta avaimen sormenjälki tuntematon?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "LÖytyi ainakin yksi kelvoton allekirjoitus."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Ei käynnistynyt \"%s\" allekirjoitusta tarkistamaan (onko gpgv asennettu?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Tapahtui tuntematon virhe suoritettaessa gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Seuraavat allekirjoitukset eivät olleet kelvollisia:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2328,57 +2345,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Valintaa %s ei löydy"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Tuntematon tyypin lyhenne: \"%c\""
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Avataan asetustiedosto %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaksivirhe %s: %u: Lohko alkaa ilman nimeä."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaksivirhe %s: %u: väärän muotoinen nimikenttä"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaksivirhe %s: %u: Arvon jälkeen ylimääräistä roskaa"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Syntaksivirhe %s: %u: Direktiivejä voi olla vain ylimmällä tasolla"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaksivirhe %s: %u: Liian monta sisäkkäistä includea"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaksivirhe %s: %u: Sisällytetty tästä"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaksivirhe %s: %u: Tätä direktiiviä ei tueta \"%s\""
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "Syntaksivirhe %s: %u: Direktiivejä voi olla vain ylimmällä tasolla"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaksivirhe %s: %u: Ylimääräistä roskaa tiedoston lopussa"
@@ -2521,7 +2538,7 @@ msgstr "Aliprosessi %s palautti virhekoodin (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Aliprosessi %s lopetti odottamatta"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Tiedostoa %s ei voitu avata"
@@ -2748,14 +2765,14 @@ msgstr "Rivi %u on väärän muotoinen lähdeluettelossa %s (tyyppi)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Tyyppi \"%s\" on tuntematon rivillä %u lähdeluettelossa %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2766,7 +2783,7 @@ msgstr ""
"%s Conflicts/Pre-Depends -kehämäärittelyn takia. Tämä on usein pahasta, "
"mutta jos varmasti haluat tehdä niin, käytä APT::Force-LoopBreak -valitsinta."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2796,7 +2813,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Pulmia ei voi korjata, rikkinäisiä paketteja on pysytetty."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2847,12 +2864,12 @@ msgstr "Menetelmä %s ei käynnistynyt oikein"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Pistä levy nimeltään: \"%s\" asemaan \"%s\" ja paina Enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Paketointijärjestelmä \"%s\" ei ole tuettu"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Sopivaa paketointijärjestelmän tyyppiä ei saa selvitettyä"
@@ -2878,17 +2895,24 @@ msgstr "Voit haluta suorittaa apt-get update näiden pulmien korjaamiseksi"
msgid "The list of sources could not be read."
msgstr "Lähteiden luetteloa ei pystynyt lukemaan."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Asetustiedostossa on virheellinen tietue, Package-otsikko puuttuu"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Tunnistetyyppi %s on tuntematon"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Tärkeysjärjestystä ei määritetty tunnisteelle (tai se on nolla)"
@@ -2978,7 +3002,7 @@ msgstr "stat ei toiminut lähdepakettiluettelolle %s"
msgid "Collecting File Provides"
msgstr "Kootaan tiedostojen tarjoamistietoja"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Syöttö/Tulostus -virhe tallennettaessa pakettivarastoa"
@@ -2991,8 +3015,8 @@ msgstr "nimen vaihto ei onnistunut, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5Sum ei täsmää"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hash Sum täsmää"
@@ -3012,20 +3036,19 @@ msgstr "Pakettitiedostoa %s (1) ei voi jäsentää"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Julkisia avaimia ei ole saatavilla, avainten ID:t ovat:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3033,12 +3056,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3047,7 +3070,7 @@ msgstr ""
"En löytänyt pakettia %s vastaavaa tiedostoa. Voit ehkä joutua korjaamaan "
"tämän paketin itse (puuttuvan arkkitehtuurin vuoksi)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3056,7 +3079,7 @@ msgstr ""
"Pakettia %s vastaavaa tiedostoa ei löytynyt. Voit ehkä joutua korjaamaan "
"tämän paketin itse."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3064,7 +3087,7 @@ msgstr ""
"Pakettihakemistotiedostot ovat turmeltuneet. Paketille %s ei ole Filename-"
"kenttää."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Koko ei täsmää"
@@ -3186,22 +3209,22 @@ msgstr "Kirjoitetaan uusi lähdeluettelo\n"
msgid "Source list entries for this disc are:\n"
msgstr "Tämän levyn lähdekoodipakettien luettelon tietueita ovat:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Kirjoitettiin %i tietuetta.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Kirjoitettiin %i tietuetta joissa oli %i puuttuvaa tiedostoa.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Kirjoitettiin %i tietuetta joissa oli %i paritonta tiedostoa\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3223,6 +3246,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Hash Sum täsmää"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Asennus keskeytetään."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/fr.po b/po/fr.po
index 91f06e2a7..1e0f872c2 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fr\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2011-02-16 07:44+0100\n"
"Last-Translator: Christian Perrier <bubulle@debian.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -156,7 +156,7 @@ msgstr " Table de version :"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s pour %s compilé sur %s %s\n"
@@ -845,7 +845,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr "%s est déjà la plus récente version disponible.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s passé en « installé manuellement ».\n"
@@ -961,8 +961,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Après cette opération, %so d'espace disque seront libérés.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Impossible de déterminer l'espace disponible sur %s"
@@ -1003,7 +1003,7 @@ msgstr "Annulation."
msgid "Do you want to continue [Y/n]? "
msgstr "Souhaitez-vous continuer [O/n] ? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Impossible de récupérer %s %s\n"
@@ -1012,7 +1012,7 @@ msgstr "Impossible de récupérer %s %s\n"
msgid "Some files failed to download"
msgstr "Certains fichiers n'ont pu être téléchargés."
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Téléchargement achevé et dans le mode téléchargement uniquement"
@@ -1056,34 +1056,34 @@ msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
"Note : cette opération volontaire (effectuée par dpkg) est automatique."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
"La distribution cible « %s » indisponible pour le paquet « %s » est ignorée"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Choix de « %s » comme paquet source à la place de « %s »\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "La version « %s » indisponible du paquet « %s » est ignorée"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "La commande de mise à jour ne prend pas d'argument"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Aucune suppression n'est sensée se produire : impossible de lancer "
"« Autoremover »"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1102,16 +1102,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "L'information suivante devrait vous aider à résoudre la situation : "
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr ""
"Erreur interne, l'outil de suppression automatique a cassé quelque chose."
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1123,7 +1123,7 @@ msgstr[1] ""
"Les paquets suivants ont été installés automatiquement et ne sont plus "
"nécessaires :"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1133,20 +1133,20 @@ msgstr[0] ""
msgstr[1] ""
"%lu paquets ont été installés automatiquement et ne sont plus nécessaires.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Veuillez utiliser « apt-get autoremove » pour les supprimer."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Erreur interne, AllUpgrade a cassé le boulot !"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"Vous pouvez lancer « apt-get -f install » pour corriger ces problèmes :"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1154,7 +1154,7 @@ msgstr ""
"Dépendances non satisfaites. Essayez « apt-get -f install » sans paquet\n"
"(ou indiquez une solution)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1166,75 +1166,75 @@ msgstr ""
"la distribution unstable, que certains paquets n'ont pas encore\n"
"été créés ou ne sont pas sortis d'Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Paquets défectueux"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Les paquets supplémentaires suivants seront installés : "
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Paquets suggérés :"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Paquets recommandés :"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Impossible de trouver le paquet %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s passé en « installé automatiquement ».\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Calcul de la mise à jour... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Échec"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Fait"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr ""
"Erreur interne, la tentative de résolution du problème a cassé certaines "
"parties"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Impossible de verrouiller le répertoire de téléchargement"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr "Téléchargement de %s %s"
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Vous devez spécifier au moins un paquet source"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Impossible de trouver une source de paquet pour %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1244,7 +1244,7 @@ msgstr ""
"suivi de versions « %s » à l'adresse :\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1256,80 +1256,96 @@ msgstr ""
"pour récupérer les dernières mises à jour (éventuellement non encore "
"publiées) du paquet.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Saut du téléchargement du fichier « %s », déjà téléchargé\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Pas assez d'espace disponible sur %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Nécessité de prendre %so/%so dans les sources.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Nécessité de prendre %so dans les sources.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Récupération des sources %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Échec lors de la récupération de quelques archives."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Saut du décompactage des paquets sources déjà décompactés dans %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "La commande de décompactage « %s » a échoué.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Veuillez vérifier si le paquet dpkg-dev est installé.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "La commande de construction « %s » a échoué.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Échec du processus fils"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Il faut spécifier au moins un paquet pour vérifier les dépendances de "
"construction"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Impossible d'obtenir les dépendances de construction pour %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s n'a pas de dépendance de construction.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"La dépendance %s vis-à-vis de %s ne peut être satisfaite car le paquet %s ne "
+"peut être trouvé"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1338,47 +1354,56 @@ msgstr ""
"La dépendance %s vis-à-vis de %s ne peut être satisfaite car le paquet %s ne "
"peut être trouvé"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Impossible de satisfaire la dépendance %s pour %s : le paquet installé %s "
+"est trop récent"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"La dépendance %s vis-à-vis de %s ne peut être satisfaite car aucune version "
"du paquet %s ne peut satisfaire à la version requise"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Impossible de satisfaire la dépendance %s pour %s : le paquet installé %s "
-"est trop récent"
+"La dépendance %s vis-à-vis de %s ne peut être satisfaite car le paquet %s ne "
+"peut être trouvé"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Impossible de satisfaire les dépendances %s pour %s : %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
"Les dépendances de compilation pour %s ne peuvent pas être satisfaites."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Impossible d'activer les dépendances de construction"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, c-format
msgid "Changelog for %s (%s)"
msgstr "Journal des modifications pour %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Modules reconnus :"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1471,7 +1496,7 @@ msgstr ""
"apt.conf(5) pour plus d'informations et d'options.\n"
" Cet APT a les « Super Cow Powers »\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1789,8 +1814,8 @@ msgstr "Le fichier %s/%s écrase celui inclus dans le paquet %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1824,7 +1849,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Lecture des listes de paquets"
@@ -2200,38 +2225,32 @@ msgstr ""
msgid "Unable to connect to %s:%s:"
msgstr "Impossible de se connecter à %s:%s :"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Pas de porte-clés installé dans %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Erreur interne : signature correcte, mais il est impossible de déterminer "
"l'empreinte de la clé."
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Au moins une signature non valable a été rencontrée."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Impossible d'exécuter « gpgv » pour contrôler la signature (veuillez "
"vérifier si gpgv est installé)."
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Erreur inconnue à l'exécution de gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Les signatures suivantes ne sont pas valables :\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2393,61 +2412,61 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "La sélection %s n'a pu être trouvée"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Type d'abréviation non reconnue : « %c »"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Ouverture du fichier de configuration %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Erreur syntaxique %s:%u : le bloc commence sans aucun nom."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Erreur syntaxique %s:%u : balise mal formée"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Erreur syntaxique %s:%u : valeur suivie de choses illicites"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Erreur syntaxique %s:%u : ces directives ne peuvent être appliquées qu'au "
"niveau le plus haut"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Erreur syntaxique %s:%u: trop de niveaux d'imbrication d'includes"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Erreur syntaxique %s:%u : inclus à partir d'ici"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Erreur syntaxique %s:%u : directive « %s » non tolérée"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Erreur de syntaxe %s:%u : la directive « clear » a besoin d'un arbre "
"d'options comme paramètre"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Erreur syntaxique %s:%u : valeur aberrante à la fin du fichier"
@@ -2598,7 +2617,7 @@ msgstr "Le sous-processus %s a renvoyé un code d'erreur (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Le sous-processus %s s'est arrêté prématurément"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Impossible d'ouvrir le fichier %s"
@@ -2836,7 +2855,7 @@ msgid "Type '%s' is not known on line %u in source list %s"
msgstr ""
"Le type « %s » est inconnu sur la ligne %u dans la liste des sources %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2846,7 +2865,7 @@ msgstr ""
"consulter la page de manuel apt.conf(5) et notamment la section à propos de "
"APT::Immediate-Configure, pour plus d'informations. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2858,7 +2877,7 @@ msgstr ""
"Depends. C'est souvent une mauvaise chose, mais si vous souhaitez réellement "
"le faire, activez l'option APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2895,7 +2914,7 @@ msgstr ""
"Impossible de corriger les problèmes, des paquets défectueux sont en mode "
"« garder en l'état »."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
"used instead."
@@ -2947,12 +2966,12 @@ msgstr ""
"Veuillez insérer le disque « %s » dans le lecteur « %s » et appuyez sur la "
"touche Entrée."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Le système de paquet « %s » n'est pas supporté"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Impossible de déterminer un type du système de paquets adéquat"
@@ -2980,19 +2999,26 @@ msgstr "Vous pouvez lancer « apt-get update » pour corriger ces problèmes."
msgid "The list of sources could not be read."
msgstr "La liste des sources ne peut être lue."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"Enregistrement non valable dans le fichier de préférences %s, aucune entrée "
"« Package »."
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Étiquette %s inconnue"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Aucune priorité (ou zéro) n'a été spécifiée pour l'étiquette"
@@ -3091,7 +3117,7 @@ msgstr "Impossible de localiser la liste des paquets sources %s"
msgid "Collecting File Provides"
msgstr "Assemblage des fichiers listés dans les champs Provides"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr ""
"Erreur d'entrée/sortie lors de la sauvegarde du fichier de cache des sources"
@@ -3105,8 +3131,8 @@ msgstr "impossible de changer le nom, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Somme de contrôle MD5 incohérente"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Somme de contrôle de hachage incohérente"
@@ -3130,20 +3156,19 @@ msgid "There is no public key available for the following key IDs:\n"
msgstr ""
"Aucune clé publique n'est disponible pour la/les clé(s) suivante(s) :\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Le fichier Release a expiré, %s ignoré (non valable depuis %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Distribution en conflit : %s (%s attendu, mais %s obtenu)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3154,12 +3179,12 @@ msgstr ""
"GPG : %s : %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Erreur de GPG : %s : %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3168,7 +3193,7 @@ msgstr ""
"Impossible de localiser un fichier du paquet %s. Cela signifie que vous "
"devrez corriger ce paquet vous-même (absence d'architecture)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3177,7 +3202,7 @@ msgstr ""
"Impossible de localiser un fichier du paquet %s. Cela signifie que vous "
"devrez corriger ce paquet vous-même."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3185,7 +3210,7 @@ msgstr ""
"Les fichiers d'index des paquets sont corrompus. Aucun champ « Filename: » "
"pour le paquet %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Taille incohérente"
@@ -3309,22 +3334,22 @@ msgstr "Écriture de la nouvelle liste de sources\n"
msgid "Source list entries for this disc are:\n"
msgstr "Les entrées de listes de sources pour ce disque sont :\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i enregistrements écrits.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i enregistrements écrits avec %i fichiers manquants.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i enregistrements écrits avec %i fichiers qui ne correspondent pas\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3346,6 +3371,17 @@ msgstr "Impossible de trouver l'enregistrement d'authentification pour %s"
msgid "Hash mismatch for: %s"
msgstr "Somme de contrôle de hachage incohérente pour %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Pas de porte-clés installé dans %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3612,6 +3648,9 @@ msgstr "Connexion fermée prématurément"
#~ msgstr ""
#~ "Erreur interne : le groupe « %s » n'a pas de pseudo-paquet installable"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Le fichier Release a expiré, %s ignoré (non valable depuis %s)"
+
#~ msgid "E: Too many keyrings should be passed to gpgv. Exiting."
#~ msgstr "E: trop de porte-clés devraient être passés à gpgv. Abandon."
diff --git a/po/gl.po b/po/gl.po
index b548ed0c8..a4548740e 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po_gl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2011-05-12 15:28+0100\n"
"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
"Language-Team: galician <proxecto@trasno.net>\n"
@@ -161,7 +161,7 @@ msgstr " Táboa de versións:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s para %s compilado en %s %s\n"
@@ -839,7 +839,7 @@ msgstr "A reinstalación de %s non é posíbel, non se pode descargar.\n"
msgid "%s is already the newest version.\n"
msgstr "%s xa é a versión máis recente.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s cambiado a instalado manualmente.\n"
@@ -955,8 +955,8 @@ msgstr "Despois desta operación ocuparanse %sB de disco adicionais.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Despois desta operación liberaranse %sB de espazo de disco.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Non foi posíbel determinar o espazo libre en %s"
@@ -993,7 +993,7 @@ msgstr "Interromper."
msgid "Do you want to continue [Y/n]? "
msgstr "Quere continuar [S/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Non foi posíbel obter %s %s\n"
@@ -1002,7 +1002,7 @@ msgstr "Non foi posíbel obter %s %s\n"
msgid "Some files failed to download"
msgstr "Non foi posíbel descargar algúns ficheiros"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Completouse a descarga no modo de só descargas"
@@ -1045,33 +1045,33 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Nota: Isto será feito automaticamente por dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignorase a versión de destino «%s» non dispoñíbel do paquete «%s»"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Tome «%s» como paquete fonte no canto de «%s»\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignorar a versión non dispoñíbel «%s» do paquete «%s»"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "A orde «update» non toma argumentos"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Non se agarda que eliminemos cousas, non se pode iniciar o Retirado "
"automático"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1089,15 +1089,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "A seguinte información pode axudar a solucionar a situación:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Produciuse un erro interno, o Retirado automático estragou cousas"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1109,7 +1109,7 @@ msgstr[1] ""
"Os seguintes paquetes foron instalados automaticamente e xa non son "
"necesarios:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1118,19 +1118,19 @@ msgstr[0] "%lu paquete foi instalado automaticamente e xa non é necesario.\n"
msgstr[1] ""
"%lu paquetes foron instalados automaticamente e xa non son necesarios.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Empregue «apt-get autoremove» para eliminalos."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Produciuse un erro interno, AllUpgrade estragou cousas"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Pode querer executar «apt-get -f install» para corrixir isto:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1138,7 +1138,7 @@ msgstr ""
"Dependencias incumpridas. Probe «apt-get -f install» sen paquetes (ou "
"especifique unha solución)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1151,73 +1151,73 @@ msgstr ""
"algúns paquetes solicitados aínda non se creasen ou que se movesen da "
"entrada."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Paquetes estragados"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Instalaranse os seguintes paquetes extra:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Paquetes suxeridos:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Paquetes recomendados:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Non foi posíbel atopar o paquete %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s está estabelecido para a súa instalación automática.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Calculando a anovación... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Fallou"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Feito"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Produciuse un erro interno, o solucionador interno estragou cousas"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Non é posíbel bloquear o directorio de descargas"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr "Descargando %s %s"
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Ten que especificar polo menos un paquete para obter o código fonte"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Non sé posíbel atopar un paquete fonte para %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1226,7 +1226,7 @@ msgstr ""
"AVISO: o paquete «%s» mantense no sistema de control de versións «%s» en:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1238,80 +1238,96 @@ msgstr ""
"para obter as últimas actualizacións (posibelmente non publicadas) do "
"paquete.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Omítese o ficheiro xa descargado «%s»\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Non hai espazo libre abondo en %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Ten que recibir %sB/%sB de arquivos de fonte.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Ten que recibir %sB de arquivos de fonte.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Obter fonte %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Non se puideron obter algúns arquivos."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Omítese o desempaquetado do código fonte xa desempaquetado en %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Fallou a orde de desempaquetado «%s».\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Comprobe que o paquete «dpkg-dev» estea instalado.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Fallou a orde de construción de «%s».\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "O proceso fillo fallou"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Ten que especificar polo menos un paquete para comprobarlle as dependencias "
"de compilación"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Non é posíbel obter a información de dependencias de compilación de %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s non ten dependencias de compilación.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"A dependencia «%s» de %s non se pode satisfacer porque non se pode atopar o "
+"paquete %s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1320,46 +1336,55 @@ msgstr ""
"A dependencia «%s» de %s non se pode satisfacer porque non se pode atopar o "
"paquete %s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Non foi posíbel satisfacer a dependencia «%s» de %s: O paquete instalado %s "
+"é novo de máis"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"A dependencia «%s» de %s non se pode satisfacer porque ningunha versión "
"dispoñíbel do paquete %s satisfai os requirimentos de versión"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Non foi posíbel satisfacer a dependencia «%s» de %s: O paquete instalado %s "
-"é novo de máis"
+"A dependencia «%s» de %s non se pode satisfacer porque non se pode atopar o "
+"paquete %s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Non foi posíbel satisfacer a dependencia «%s» de %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Non se puideron satisfacer as dependencias de construción de %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Non se puideron procesar as dependencias de construción"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, c-format
msgid "Changelog for %s (%s)"
msgstr "Rexistro de cambios de %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Módulos admitidos:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1452,7 +1477,7 @@ msgstr ""
"para obter mais información e opcións\n"
" Este APT ten poderes da Super Vaca.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1767,8 +1792,8 @@ msgstr "O ficheiro %s/%s sobrescribe o do paquete %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1801,7 +1826,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Lendo as listas de paquetes"
@@ -2170,38 +2195,32 @@ msgstr "Aconteceu algo malo, buscando «%s:%s» (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Non é posíbel conectar %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Non ha ningún chaveiro instalado en %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Erro interno: Sinatura correcta, pero non foi posíbel determinar a pegada "
"dixital da chave"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Atopouse polo menos unha sinatura incorrecta."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Non é posíbel executar «gpgv» para verificar a sinatura (Está instalado "
"gpgv?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Produciuse un erro descoñecido ao executar gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "As seguintes sinaturas non eran correctas:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2364,61 +2383,61 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Non se atopou a selección %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Abreviatura de tipo «%c» descoñecida"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Abrindo o ficheiro de configuración %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Produciuse un erro de sintaxe %s:%u: O bloque comeza sen un nome."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Produciuse un erro de sintaxe %s:%u: Etiqueta mal formada"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Produciuse un erro de sintaxe %s:%u: Lixo extra despois do valor"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Produciuse un erro de sintaxe %s:%u: Só se poden facer directivas no nivel "
"superior"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Produciuse un erro de sintaxe %s:%u: Includes aniñados de máis"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Produciuse un erro de sintaxe %s:%u: Incluído de aquí"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Produciuse un erro de sintaxe %s:%u: Non se admite a directiva «%s»"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Produciuse un erro de sintaxe %s:%u: a directiva «clear» require unha árbore "
"de opción como argumento"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Produciuse un erro de sintaxe %s:%u: Lixo extra á fin da liña"
@@ -2565,7 +2584,7 @@ msgstr "O subproceso %s devolveu un código de erro (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "O subproceso %s saíu de xeito inesperado"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Non foi posíbel abrir o ficheiro %s"
@@ -2796,7 +2815,7 @@ msgstr "Liña %u mal construída na lista de orixes %s (tipo)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "O tipo «%s» non se coñece na liña %u da lista de orixes %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2805,7 +2824,7 @@ msgstr ""
"Non foi posíbel facer a configuración inmediata en «%s». Vexa man 5 apt.conf "
"baixo APT::Immediate-Configure para obter máis detalles. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2816,7 +2835,7 @@ msgstr ""
"por mor dun bucle de Conflitos e Pre-dependencias. Isto adoita ser malo, "
"pero se o quere facer, active a opción APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2851,7 +2870,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Non é posíbel solucionar os problemas, ten retidos paquetes rotos."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2902,12 +2921,12 @@ msgstr "O método %s non se iniciou correctamente"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Insira o disco etiquetado: «%s» na unidade «%s» e prema Intro."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "O sistema de empaquetado «%s» non está admitido"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Non é posíbel determinar un tipo de sistema de empaquetado axeitado"
@@ -2934,18 +2953,25 @@ msgstr "Pode querer executar «apt-get update» para corrixir estes problemas"
msgid "The list of sources could not be read."
msgstr "Non foi posíbel ler a lista de orixes."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"Rexistro incorrecto no ficheiro de preferencias %s; falta a cabeceira Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Non se entendeu o tipo de inmobilización %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr ""
"Non se indicou unha prioridade (ou indicouse cero) para a inmobilización"
@@ -3038,7 +3064,7 @@ msgstr "Non foi posíbel atopar a lista de paquetes fonte %s"
msgid "Collecting File Provides"
msgstr "Recollendo as provisións de ficheiros"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Produciuse un erro de E/S ao gravar a caché de fontes"
@@ -3051,8 +3077,8 @@ msgstr "non foi posíbel cambiar o nome, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "A MD5Sum non coincide"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "A sumas «hash» non coinciden"
@@ -3075,20 +3101,19 @@ msgstr ""
msgid "There is no public key available for the following key IDs:\n"
msgstr "Non hai unha chave pública dispoñíbel para os seguintes ID de chave:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Caducou o ficheiro de publicación, ignorando %s (non válido desde %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Conflito na distribución: %s (agardábase %s mais obtívose %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3099,12 +3124,12 @@ msgstr ""
"%s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Produciuse un erro de GPG: %s %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3113,7 +3138,7 @@ msgstr ""
"Non é posíbel atopar un ficheiro para o paquete %s. Isto pode significar que "
"ten que arranxar este paquete a man. (Falta a arquitectura)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3122,7 +3147,7 @@ msgstr ""
"Non é posíbel atopar un ficheiro para o paquete %s. Isto pode significar que "
"ten que arranxar este paquete a man."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3130,7 +3155,7 @@ msgstr ""
"Os ficheiros de índices de paquetes están danados. Non hai un campo "
"Filename: para o paquete %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Os tamaños non coinciden"
@@ -3254,22 +3279,22 @@ msgstr "Escribindo a nova lista de orixes\n"
msgid "Source list entries for this disc are:\n"
msgstr "As entradas da lista de orixes deste disco son:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Escribíronse %i rexistros.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Escribíronse %i rexistros con %i ficheiros que faltan.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Escribíronse %i rexistros con %i ficheiros que non coinciden\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3291,6 +3316,17 @@ msgstr "Non é posíbel atopar un rexistro de autenticación para: %s"
msgid "Hash mismatch for: %s"
msgstr "Valor de hash non coincidente para: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Non ha ningún chaveiro instalado en %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3556,6 +3592,10 @@ msgstr "A conexión pechouse prematuramente"
#~ msgid "Internal error, could not locate member"
#~ msgstr "Produciuse un erro interno, non foi posíbel atopar o membro %s"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr ""
+#~ "Caducou o ficheiro de publicación, ignorando %s (non válido desde %s)"
+
#~ msgid " %4i %s\n"
#~ msgstr "\n"
diff --git a/po/hu.po b/po/hu.po
index 30d54be05..08ccf10b9 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hu\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-05-11 14:49+0100\n"
"Last-Translator: SZERVÃC Attila <sas@321.hu>\n"
"Language-Team: Hungarian <debian-l10n-hungarian>\n"
@@ -160,7 +160,7 @@ msgstr " Verziótáblázat:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s erre: %s ekkor fordult: %s %s\n"
@@ -836,7 +836,7 @@ msgstr "%s újratelepítése nem lehetséges, mert nem lehet letölteni.\n"
msgid "%s is already the newest version.\n"
msgstr "%s már a legújabb verzió.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s kézi telepítésre állított.\n"
@@ -948,8 +948,8 @@ msgstr "E művelet után további %sB lemez-területetet használok fel.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "E művelet után %sB lemez-terület szabadul fel.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Nem határozható meg a szabad hely itt: %s"
@@ -986,7 +986,7 @@ msgstr "Megszakítva."
msgid "Do you want to continue [Y/n]? "
msgstr "Folytatni akarod [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Sikertelen letöltés: %s %s\n"
@@ -995,7 +995,7 @@ msgstr "Sikertelen letöltés: %s %s\n"
msgid "Some files failed to download"
msgstr "Néhány fájlt nem sikerült letölteni"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "A letöltés befejeződött a 'csak letöltés' módban"
@@ -1032,31 +1032,31 @@ msgstr[0] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Nem lehet a(z) %s forrás csomaglistáját elérni"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Az update parancsnak nincsenek argumentumai"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Nincs törölnivaló, az AutoRemover nem indítható"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1074,15 +1074,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Az alábbi információ segíthet megoldani a helyzetet:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Belső hiba, az AutoRemover sérült"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1091,26 +1091,26 @@ msgid_plural ""
"required:"
msgstr[0] "Az alábbi csomagok automatikusan települtek, de már nem kellenek:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
"%lu packages were automatically installed and are no longer required.\n"
msgstr[0] "Az alábbi csomagok automatikusan települtek, de már nem kellenek:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Töröld az 'apt-get autoremove' paranccsal!"
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Belső hiba, AllUpgrade megsértett valamit"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Próbáld futtatni az 'apt-get -f install'-t az alábbiak javításához:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1118,7 +1118,7 @@ msgstr ""
"Teljesítetlen függőségek. Próbáld az 'apt-get -f install'-t csomagok nélkül "
"(vagy telepítsd a függőségeket is!)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1130,81 +1130,81 @@ msgstr ""
"használod, akkor néhány igényelt csomag még nem készült el vagy ki\n"
"lett mozdítva az Incoming-ból."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Törött csomagok"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Az alábbi extra csomagok kerülnek telepítésre:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Javasolt csomagok:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Ajánlott csomagok:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Az alábbi csomag nem található: %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s kézi telepítésre állított.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Frissítés kiszámítása... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Sikertelen"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Kész"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Belső hiba, hibafeloldó gond"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Nem tudom zárolni a letöltési könyvtárat"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"Legalább egy csomagot meg kell adnod, aminek a forrását le kell tölteni"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Nem található forráscsomag ehhez: %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1212,80 +1212,96 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "A már letöltött '%s' fájl kihagyása\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Nincs elég szabad hely itt: %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "%sB/%sB forrás-archívumot kell letölteni.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "%sB forrás-archívumot kell letölteni.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Forrás letöltése: %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Nem sikerült néhány archívumot letölteni."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Egy már kibontott forrás kibontásának kihagyása itt: %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "'%s' kibontási parancs nem sikerült.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Ellenőrizd, hogy a 'dpkg-dev' csomag telepítve van-e.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "'%s' elkészítési parancs nem sikerült.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Hiba a gyermekfolyamatnál"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Legalább egy csomagot adj meg, aminek a fordítási függőségeit ellenőrizni "
"kell"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Nem lehet %s fordítási-függőség információját beszerezni"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "Nincs fordítási függősége a következőnek: %s.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"%s függősége ennek: %s, ez nem elégíthető ki, mert a(z) %s csomag nem "
+"található"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1294,46 +1310,55 @@ msgstr ""
"%s függősége ennek: %s, ez nem elégíthető ki, mert a(z) %s csomag nem "
"található"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"%s függőséget %s csomaghoz nem lehet kielégíteni: %s telepített csomag túl "
+"friss."
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s függősége ennek: %s, ez nem elégíthető ki, mert a(z) %s csomagnak nincs a "
"verzió-követelményt kielégítő elérhető verziója."
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"%s függőséget %s csomaghoz nem lehet kielégíteni: %s telepített csomag túl "
-"friss."
+"%s függősége ennek: %s, ez nem elégíthető ki, mert a(z) %s csomag nem "
+"található"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "%s függőséget %s csomaghoz nem lehet kielégíteni: %s "
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "%s építési függőségei nem elégíthetőek ki."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Nem sikerült az építési függőségeket feldolgozni"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Csatlakozás: %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Támogatott modulok:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1420,7 +1445,7 @@ msgstr ""
"további információkért és opciókért.\n"
" Ez az APT a SzuperTehén Hatalmával rendelkezik.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1728,8 +1753,8 @@ msgstr "A(z) %s/%s fájl felülírja a(z) %s csomagban levőt"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1761,7 +1786,7 @@ msgstr "Az info és temp könyvtáraknak egy fájlrendszeren kell lenniük"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Csomaglisták olvasása"
@@ -2129,35 +2154,29 @@ msgstr "Valami rossz történt '%s: %s' feloldásakor (%i)"
msgid "Unable to connect to %s:%s:"
msgstr "Sikertelen kapcsolódás ide: %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Telepítés megszakítása."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "Belső hiba: Jó aláírás, de meghatározhatatlan kulcs ujjlenyomat?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "1 vagy több érvénytelen aláírást találtam."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "'%s' nem futtatható az aláírás ellenőrzéséhez (a gpgv telepítve van?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Ismeretlen gpgv futtatási hiba"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Az alábbi aláírások érvénytelenek voltak:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2315,57 +2334,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "%s kiválasztás nem található"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Ismeretlen típusrövidítés: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "%s konfigurációs fájl megnyitása"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Szintaktikai hiba %s: %u: A blokk név nélkül kezdődik"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Szintaktikai hiba %s: %u: hibás formátumú címke"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Szintaktikai hiba %s: %u: fölösleges szemét az érték után"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Szintaktikai hiba %s: %u: Csak legfelső szinten használhatók előírások"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Szintaktikai hiba %s: %u: Túl sok beágyazott include"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Szintaktikai hiba %s: %u: ugyaninnen include-olva"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Szintaktikai hiba %s: %u: '%s' nem támogatott előírás"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "Szintaktikai hiba %s: %u: Csak legfelső szinten használhatók előírások"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Szintaktikai hiba %s: %u: fölösleges szemét a fájl végén"
@@ -2509,7 +2528,7 @@ msgstr "%s alfolyamat hibakóddal tért vissza (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "%s alfolyamat váratlanul kilépett"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Nem lehet megnyitni %s fájlt"
@@ -2736,14 +2755,14 @@ msgstr "A(z) %u. sor hibás %s forráslistában (típus)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "'%s' típus nem ismert a(z) %u. sorban a(z) %s forráslistában"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2754,7 +2773,7 @@ msgstr ""
"alapvető csomagot ami Ütközési/Elő-függőségi hurkot okoz. Ez gyakran rossz, "
"de ha tényleg ezt akarod tenni, aktiváld az APT::Force-LoopBreak opciót."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2786,7 +2805,7 @@ msgid "Unable to correct problems, you have held broken packages."
msgstr ""
"A problémák nem javíthatók, sérült visszafogott csomagok vannak a rendszeren."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2837,12 +2856,12 @@ msgstr "A(z) %s metódus nem indult el helyesen"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Tedd be a(z) %s címkéjű lemezt a(z) %s meghajtóba és üss entert"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "A(z) '%s' csomagrendszer nem támogatott"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "A megfelelő csomagrendszer típus nem határozható meg"
@@ -2868,17 +2887,24 @@ msgstr "Próbáld futtatni az apt-get update -et, hogy javítsd e hibákat"
msgid "The list of sources could not be read."
msgstr "A források listája olvashatatlan."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Hibás rekord a tulajdonság fájlban, nincs csomagfejléc"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "A(z) %s tűtípus nem értelmezhető"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Nincs prioritás (vagy nulla) megadva a tűhöz"
@@ -2973,7 +2999,7 @@ msgstr "Nem lehet a(z) %s forrás csomaglistáját elérni"
msgid "Collecting File Provides"
msgstr "\"Előkészít\" kapcsolatok összegyűjtése"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "IO hiba a forrás-gyorsítótár mentésekor"
@@ -2986,8 +3012,8 @@ msgstr "sikertelen átnevezés, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Az MD5Sum nem megfelelő"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "A Hash Sum nem megfelelő"
@@ -3007,20 +3033,19 @@ msgstr "Nem lehet a(z) %s csomagfájlt feldolgozni (1)"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Nincs elérhető nyilvános kulcs az alábbi kulcs azonosítókhoz:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3028,12 +3053,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3042,7 +3067,7 @@ msgstr ""
"Nem találtam egy fájlt a(z) %s csomaghoz. Ez azt jelentheti, hogy kézzel "
"kell kijavítani a csomagot. (hiányzó arch. miatt)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3051,14 +3076,14 @@ msgstr ""
"Nem találtam egy fájlt a(z) %s csomaghoz. Ez azt jelentheti, hogy kézzel "
"kell kijavítani a csomagot."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"A csomagindex-fájlok megsérültek. Nincs Filename: mező a(z) %s csomaghoz."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "A méret nem megfelelő"
@@ -3180,22 +3205,22 @@ msgstr "Új forráslista írása\n"
msgid "Source list entries for this disc are:\n"
msgstr "E lemezhez tartozó forráslista-bejegyzések a következők:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i rekord kiírva.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i rekord kiírva, %i hiányzó fájllal.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i rekord kiírva %i hibásan párosított fájllal\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "%i rekord kiírva %i hiányzó és %i hibásan párosított fájllal\n"
@@ -3215,6 +3240,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "A Hash Sum nem megfelelő"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Telepítés megszakítása."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/it.po b/po/it.po
index 90b50816a..60646a280 100644
--- a/po/it.po
+++ b/po/it.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2011-05-16 21:38+0200\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -158,7 +158,7 @@ msgstr " Tabella versione:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s per %s compilato il %s %s\n"
@@ -840,7 +840,7 @@ msgstr "La reinstallazione di %s non è possibile, non può essere scaricato.\n"
msgid "%s is already the newest version.\n"
msgstr "%s è già alla versione più recente.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "È stato impostato %s per l'installazione manuale.\n"
@@ -956,8 +956,8 @@ msgstr "Dopo quest'operazione, verranno occupati %sB di spazio su disco.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Dopo quest'operazione, verranno liberati %sB di spazio su disco.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Impossibile determinare lo spazio libero in %s"
@@ -996,7 +996,7 @@ msgstr "Interrotto."
msgid "Do you want to continue [Y/n]? "
msgstr "Continuare [S/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Impossibile recuperare %s %s\n"
@@ -1005,7 +1005,7 @@ msgstr "Impossibile recuperare %s %s\n"
msgid "Some files failed to download"
msgstr "Scaricamento di alcuni file non riuscito"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Scaricamento completato e in modalità solo scaricamento"
@@ -1047,32 +1047,32 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Nota: questo viene svolto automaticamente da dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignorato il rilascio non disponibile \"%s\" del pacchetto \"%s\""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Scelto \"%s\" come pacchetto sorgente al posto di \"%s\"\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignorata la versione \"%s\" non disponibile del pacchetto \"%s\""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Il comando update non accetta argomenti"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Non si è autorizzati a rimuovere nulla, impossibile avviare AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1090,15 +1090,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Le seguenti informazioni possono aiutare a risolvere la situazione:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Errore interno, AutoRemover ha rovinato qualche cosa"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1111,7 +1111,7 @@ msgstr[1] ""
"I seguenti pacchetti sono stati installati automaticamente e non sono più "
"richiesti:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1122,20 +1122,20 @@ msgstr[1] ""
"%lu pacchetti sono stati installati automaticamente e non sono più "
"richiesti.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Usare \"apt-get autoremove\" per rimuoverli."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Errore interno, AllUpgrade ha rovinato qualche cosa"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"È utile eseguire \"apt-get -f install\" per correggere questi problemi:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1143,7 +1143,7 @@ msgstr ""
"Dipendenze non soddisfatte. Provare \"apt-get -f install\" senza pacchetti "
"(o specificare una soluzione)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1155,74 +1155,74 @@ msgstr ""
"usando una distribuzione in sviluppo, che alcuni pacchetti richiesti\n"
"non sono ancora stati creati o sono stati rimossi da Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Pacchetti danneggiati"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "I seguenti pacchetti saranno inoltre installati:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Pacchetti suggeriti:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Pacchetti raccomandati:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Impossibile trovare il pacchetto %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s impostato automaticamente come installato.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Calcolo dell'aggiornamento... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Non riuscito"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Eseguito"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Errore interno, \"problem resolver\" ha rovinato qualcosa"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Impossibile bloccare la directory di scaricamento"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr "Scaricamento di %s %s"
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"È necessario specificare almeno un pacchetto di cui recuperare il sorgente"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Impossibile trovare un pacchetto sorgente per %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1232,7 +1232,7 @@ msgstr ""
"all'interno del sistema di controllo della versione \"%s\" presso:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1244,80 +1244,96 @@ msgstr ""
"per recuperare gli ultimi (e probabilmente non rilasciati) aggiornamenti del "
"pacchetto.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Il pacchetto \"%s\" già scaricato viene saltato\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Lo spazio libero in %s è insufficiente"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "È necessario recuperare %sB/%sB di sorgenti.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "È necessario scaricare %sB di sorgenti.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Recupero sorgente %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Recupero di alcuni archivi non riuscito."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Estrazione del pacchetto sorgente già estratto in %s saltata\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Comando di estrazione \"%s\" non riuscito.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Verificare che il pacchetto \"dpkg-dev\" sia installato.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Comando \"%s\" di generazione non riuscito.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Creazione processo figlio non riuscita"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"È necessario specificare almeno un pacchetto di cui controllare le "
"dipendenze di generazione"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Impossibile ottenere informazioni di dipendenza di generazione per %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s non ha dipendenze di generazione.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"%s dipendenze per %s non possono essere soddisfatte perché il pacchetto %s "
+"non può essere trovato"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1326,46 +1342,55 @@ msgstr ""
"%s dipendenze per %s non possono essere soddisfatte perché il pacchetto %s "
"non può essere trovato"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"La dipendenza %s per %s non è stata soddisfatta: il pacchetto installato %s "
+"è troppo recente"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s dipendenze per %s non possono essere soddisfatte perché nessuna versione "
"del pacchetto %s può soddisfare le richieste di versione"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"La dipendenza %s per %s non è stata soddisfatta: il pacchetto installato %s "
-"è troppo recente"
+"%s dipendenze per %s non possono essere soddisfatte perché il pacchetto %s "
+"non può essere trovato"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "La dipendenza %s per %s non è stata soddisfatta: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Le dipendenze di generazione per %s non sono state soddisfatte."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Elaborazione delle dipendenze di generazione non riuscita"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, c-format
msgid "Changelog for %s (%s)"
msgstr "Changelog per %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Moduli supportati:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1458,7 +1483,7 @@ msgstr ""
"apt-get(8), sources.list(5) e apt.conf(5).\n"
" Questo APT ha i poteri della Super Mucca.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1777,8 +1802,8 @@ msgstr "Il file %s/%s sovrascrive quello nel pacchetto %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1810,7 +1835,7 @@ msgstr "Le directory temp e info devono essere sullo stesso file system"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Lettura elenco dei pacchetti"
@@ -2182,38 +2207,32 @@ msgstr ""
msgid "Unable to connect to %s:%s:"
msgstr "Impossibile connettersi a %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Nessun portachiavi installato in %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Errore interno: firma corretta, ma non è possibile determinare l'impronta "
"della chiave."
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "È stata trovata almeno una firma non valida."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Impossibile eseguire \"gpgv\" per verificare la firma (forse gpgv non è "
"installato)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Errore sconosciuto durante l'esecuzione di gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Le seguenti firme non erano valide:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2375,62 +2394,62 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Selezione %s non trovata"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Tipo di abbreviazione non riconosciuto: \"%c\""
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Apertura file di configurazione %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Errore di sintassi %s:%u: il blocco inizia senza nome"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Errore di sintassi %s:%u: tag non corretto"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Errore di sintassi %s:%u: caratteri extra dopo il valore"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Errore di sintassi %s:%u: le direttive possono essere fatte solo al livello "
"più alto"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Errore di sintassi %s:%u: troppe inclusioni annidate"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Errore di sintassi %s:%u: incluso da qui"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Errore di sintassi %s:%u: direttiva \"%s\" non supportata"
# (ndt) sarebbe da controllare meglio...
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Errore di sintassi %s:%u: la direttiva clear richiede un albero di opzioni "
"come argomento"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Errore di sintassi %s:%u: caratteri extra alla fine del file"
@@ -2581,7 +2600,7 @@ msgstr "Il sottoprocesso %s ha restituito un codice d'errore (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Il sottoprocesso %s è uscito inaspettatamente"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Impossibile aprire il file %s"
@@ -2819,7 +2838,7 @@ msgstr "La riga %u nel file %s non è corretta (type)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Tipo \"%s\" non riconosciuto alla riga %u nel file %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2829,7 +2848,7 @@ msgstr ""
"maggiori informazioni, consultare \"man 5 apt.conf\" alla sezione \"APT::"
"Immediate-Configure\" (%d)."
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2841,7 +2860,7 @@ msgstr ""
"situazione critica, ma se si vuole realmente procedere, attivare l'opzione "
"APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2877,7 +2896,7 @@ msgid "Unable to correct problems, you have held broken packages."
msgstr ""
"Impossibile correggere i problemi, ci sono pacchetti danneggiati bloccati."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2928,12 +2947,12 @@ msgstr "Il metodo %s non si è avviato correttamente"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Inserire il disco chiamato \"%s\" nell'unità \"%s\" e premere Invio."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Il sistema di pacchetti \"%s\" non è supportato"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Impossibile determinare un tipo di sistema appropriato di pacchetti"
@@ -2961,19 +2980,26 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "Impossibile leggere l'elenco dei sorgenti."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"Campo non valido nel file delle preferenze %s, manca l'intestazione \"Package"
"\""
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Impossibile comprendere il tipo di gancio %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Priorità per il gancio non specificata (o zero)"
@@ -3067,7 +3093,7 @@ msgstr "Impossibile eseguire stat sull'elenco dei pacchetti sorgente %s"
msgid "Collecting File Provides"
msgstr "Il file fornisce"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Errore di I/O nel salvare la cache sorgente"
@@ -3080,8 +3106,8 @@ msgstr "rename() non riuscita: %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5sum non corrispondente"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Somma hash non corrispondente"
@@ -3104,20 +3130,19 @@ msgid "There is no public key available for the following key IDs:\n"
msgstr ""
"Non è disponibile alcuna chiave pubblica per i seguenti ID di chiavi:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "File Release scaduto, %s viene ignorato (non valido da %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Distribuzione in conflitto: %s (atteso %s ma ottenuto %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3127,12 +3152,12 @@ msgstr ""
"aggiornato e verranno usati i file indice precedenti. Errore GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Errore GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3141,7 +3166,7 @@ msgstr ""
"Impossibile trovare un file per il pacchetto %s. Potrebbe essere necessario "
"sistemare manualmente questo pacchetto (a causa dell'architettura mancante)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, fuzzy, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3151,7 +3176,7 @@ msgstr ""
"sistemare manualmente questo pacchetto."
# (ndt) sarebbe da controllare se veramente possono esistere più file indice
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3159,7 +3184,7 @@ msgstr ""
"I file indice del pacchetto sono danneggiati. Manca il campo \"Filename:\" "
"per il pacchetto %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Le dimensioni non corrispondono"
@@ -3283,22 +3308,22 @@ msgstr "Scrittura nuovo elenco sorgenti\n"
msgid "Source list entries for this disc are:\n"
msgstr "Le voci dell'elenco sorgenti per questo disco sono:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Scritti %i record.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Scritti %i record con %i file mancanti.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Scritti %i record con %i file senza corrispondenze\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3319,6 +3344,17 @@ msgstr "Impossibile trovare il record di autenticazione per %s"
msgid "Hash mismatch for: %s"
msgstr "Hash non corrispondente per %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Nessun portachiavi installato in %s."
+
# (ndt) dovrebbe essere inteso il file Release
#: apt-pkg/cacheset.cc:337
#, c-format
@@ -3586,3 +3622,6 @@ msgstr "Connessione chiusa prematuramente"
#~| msgid "Internal error, could not locate member %s"
#~ msgid "Internal error, could not locate member"
#~ msgstr "Errore interno, impossibile trovare il membro %s"
+
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "File Release scaduto, %s viene ignorato (non valido da %s)"
diff --git a/po/ja.po b/po/ja.po
index bd800b495..41ac85515 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.0~pre1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-08-25 09:33+0900\n"
"Last-Translator: Kenshi Muto <kmuto@debian.org>\n"
"Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
@@ -155,7 +155,7 @@ msgstr " ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ル:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s for %s コンパイル日時: %s %s\n"
@@ -835,7 +835,7 @@ msgstr "ダウンロードã§ããªã„ãŸã‚ã€%s ã®å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¯ä¸
msgid "%s is already the newest version.\n"
msgstr "%s ã¯ã™ã§ã«æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã™ã€‚\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s ã¯æ‰‹å‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã¨è¨­å®šã•ã‚Œã¾ã—ãŸã€‚\n"
@@ -950,8 +950,8 @@ msgstr "ã“ã®æ“作後ã«è¿½åŠ ã§ %sB ã®ãƒ‡ã‚£ã‚¹ã‚¯å®¹é‡ãŒæ¶ˆè²»ã•ã‚Œã¾ã
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "ã“ã®æ“作後㫠%sB ã®ãƒ‡ã‚£ã‚¹ã‚¯å®¹é‡ãŒè§£æ”¾ã•ã‚Œã¾ã™ã€‚\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "%s ã®ç©ºã領域を測定ã§ãã¾ã›ã‚“"
@@ -988,7 +988,7 @@ msgstr "中断ã—ã¾ã—ãŸã€‚"
msgid "Do you want to continue [Y/n]? "
msgstr "続行ã—ã¾ã™ã‹ [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "%s ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—㟠%s\n"
@@ -997,7 +997,7 @@ msgstr "%s ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—㟠%s\n"
msgid "Some files failed to download"
msgstr "ã„ãã¤ã‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "ダウンロードオンリーモードã§ãƒ‘ッケージã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ãŒå®Œäº†ã—ã¾ã—ãŸ"
@@ -1039,32 +1039,32 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "注æ„: ã“れ㯠dpkg ã«ã‚ˆã‚Šè‡ªå‹•ã§ã‚ã–ã¨è¡Œã‚れれã¾ã™ã€‚"
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "パッケージ '%2$s' ã®åˆ©ç”¨ã§ããªã„ターゲットリリース '%1$s' を無視"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "'%2$s' ã®ä»£ã‚ã‚Šã« '%1$s' をソースパッケージã¨ã—ã¦é¸å‡ºã—ã¦ã„ã¾ã™\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "パッケージ '%2$s' ã®åˆ©ç”¨ã§ããªã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%1$s' を無視"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "update コマンドã¯å¼•æ•°ã‚’ã¨ã‚Šã¾ã›ã‚“"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"一連ã®ã‚‚ã®ã‚’削除ã™ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ãªã„ã®ã§ã€AutoRemover を開始ã§ãã¾ã›ã‚“"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1082,15 +1082,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "以下ã®æƒ…å ±ãŒã“ã®å•é¡Œã‚’解決ã™ã‚‹ãŸã‚ã«å½¹ç«‹ã¤ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "内部エラーã€AutoRemover ãŒä½•ã‹ã‚’破壊ã—ã¾ã—ãŸ"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1101,7 +1101,7 @@ msgstr[0] ""
msgstr[1] ""
"以下ã®ãƒ‘ッケージãŒè‡ªå‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã—ãŸãŒã€ã‚‚ã†å¿…è¦ã¨ã•ã‚Œã¦ã„ã¾ã›ã‚“:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1113,21 +1113,21 @@ msgstr[1] ""
"%lu ã¤ã®ãƒ‘ッケージãŒè‡ªå‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã—ãŸãŒã€ã‚‚ã†å¿…è¦ã¨ã•ã‚Œã¦ã„ã¾ã›"
"ã‚“:\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "ã“れらを削除ã™ã‚‹ã«ã¯ 'apt-get autoremove' を利用ã—ã¦ãã ã•ã„。"
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "内部エラーã€AllUpgrade ãŒä½•ã‹ã‚’破壊ã—ã¾ã—ãŸ"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"以下ã®å•é¡Œã‚’解決ã™ã‚‹ãŸã‚ã« 'apt-get -f install' を実行ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œ"
"ã¾ã›ã‚“:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1135,7 +1135,7 @@ msgstr ""
"未解決ã®ä¾å­˜é–¢ä¿‚ã§ã™ã€‚'apt-get -f install' を実行ã—ã¦ã¿ã¦ãã ã•ã„ (ã¾ãŸã¯è§£æ³•"
"を明示ã—ã¦ãã ã•ã„)。"
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1147,74 +1147,74 @@ msgstr ""
"ã§ã‚ã‚Œã°) å¿…è¦ãªãƒ‘ッケージãŒã¾ã ä½œæˆã•ã‚Œã¦ã„ãªã‹ã£ãŸã‚Š Incoming ã‹ã‚‰ç§»\n"
"å‹•ã•ã‚Œã¦ã„ãªã„ã“ã¨ãŒè€ƒãˆã‚‰ã‚Œã¾ã™ã€‚"
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "壊れãŸãƒ‘ッケージ"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "以下ã®ç‰¹åˆ¥ãƒ‘ッケージãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã™:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "æ案パッケージ:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "推奨パッケージ:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "パッケージ %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s ã¯è‡ªå‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã¨è¨­å®šã•ã‚Œã¾ã—ãŸã€‚\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "アップグレードパッケージを検出ã—ã¦ã„ã¾ã™ ... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "失敗"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "完了"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "内部エラーã€å•é¡Œãƒªã‚¾ãƒ«ãƒãŒä½•ã‹ã‚’破壊ã—ã¾ã—ãŸ"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "ダウンロードディレクトリをロックã§ãã¾ã›ã‚“"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"ソースをå–å¾—ã™ã‚‹ã«ã¯å°‘ãªãã¨ã‚‚ã²ã¨ã¤ã®ãƒ‘ッケージåを指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "%s ã®ã‚½ãƒ¼ã‚¹ãƒ‘ッケージãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1224,7 +1224,7 @@ msgstr ""
"ã¾ã™:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1236,80 +1236,96 @@ msgstr ""
"bzr get %s\n"
"を使用ã—ã¦ãã ã•ã„。\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "ã™ã§ã«ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ« '%s' をスキップã—ã¾ã™\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "%s ã«å……分ãªç©ºãスペースãŒã‚ã‚Šã¾ã›ã‚“"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "%2$sB 中 %1$sB ã®ã‚½ãƒ¼ã‚¹ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã‚’å–å¾—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "%sB ã®ã‚½ãƒ¼ã‚¹ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã‚’å–å¾—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "ソース %s ã‚’å–å¾—\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "ã„ãã¤ã‹ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "ã™ã§ã« %s ã«å±•é–‹ã•ã‚ŒãŸã‚½ãƒ¼ã‚¹ãŒã‚ã‚‹ãŸã‚ã€å±•é–‹ã‚’スキップã—ã¾ã™\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "展開コマンド '%s' ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
"'dpkg-dev' パッケージãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "ビルドコマンド '%s' ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "å­ãƒ—ロセスãŒå¤±æ•—ã—ã¾ã—ãŸ"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"ビルドä¾å­˜é–¢ä¿‚ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ãƒ‘ッケージを少ãªãã¨ã‚‚ 1 ã¤æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "%s ã®ãƒ“ルドä¾å­˜æƒ…報をå–å¾—ã§ãã¾ã›ã‚“"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s ã«ã¯ãƒ“ルドä¾å­˜æƒ…å ±ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"パッケージ %3$s ãŒè¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€%2$s ã«å¯¾ã™ã‚‹ %1$s ã®ä¾å­˜é–¢ä¿‚を満ãŸã™ã“ã¨"
+"ãŒã§ãã¾ã›ã‚“"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1318,46 +1334,55 @@ msgstr ""
"パッケージ %3$s ãŒè¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€%2$s ã«å¯¾ã™ã‚‹ %1$s ã®ä¾å­˜é–¢ä¿‚を満ãŸã™ã“ã¨"
"ãŒã§ãã¾ã›ã‚“"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"%2$s ã®ä¾å­˜é–¢ä¿‚ %1$s を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“: インストールã•ã‚ŒãŸ %3$s パッ"
+"ケージã¯æ–°ã—ã™ãŽã¾ã™"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"入手å¯èƒ½ãª %3$s ã¯ã„ãšã‚Œã‚‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¤ã„ã¦ã®è¦æ±‚を満ãŸã›ãªã„ãŸã‚ã€%2$s ã«å¯¾"
"ã™ã‚‹ %1$s ã®ä¾å­˜é–¢ä¿‚を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"%2$s ã®ä¾å­˜é–¢ä¿‚ %1$s を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“: インストールã•ã‚ŒãŸ %3$s パッ"
-"ケージã¯æ–°ã—ã™ãŽã¾ã™"
+"パッケージ %3$s ãŒè¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€%2$s ã«å¯¾ã™ã‚‹ %1$s ã®ä¾å­˜é–¢ä¿‚を満ãŸã™ã“ã¨"
+"ãŒã§ãã¾ã›ã‚“"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "%2$s ã®ä¾å­˜é–¢ä¿‚ %1$s を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“: %3$s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "%s ã®ãƒ“ルドä¾å­˜é–¢ä¿‚を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "ビルドä¾å­˜é–¢ä¿‚ã®å‡¦ç†ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "%s (%s) ã¸æŽ¥ç¶šã—ã¦ã„ã¾ã™"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„るモジュール:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1452,7 +1477,7 @@ msgstr ""
"apt-get(8)ã€sources.list(5)ã€apt.conf(5) ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
" ã“ã® APT 㯠Super Cow Powers 化ã•ã‚Œã¦ã„ã¾ã™ã€‚\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1763,8 +1788,8 @@ msgstr "ファイル %s/%s ãŒãƒ‘ッケージ %s ã®ã‚‚ã®ã‚’上書ãã—ã¾ã™"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1796,7 +1821,7 @@ msgstr "info 㨠temp ディレクトリã¯åŒã˜ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã«ã
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "パッケージリストを読ã¿è¾¼ã‚“ã§ã„ã¾ã™"
@@ -2166,36 +2191,30 @@ msgstr "'%s:%s' (%i - %s) ã®è§£æ±ºä¸­ã«ä½•ã‹å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸ"
msgid "Unable to connect to %s:%s:"
msgstr "%s:%s ã¸æŽ¥ç¶šã§ãã¾ã›ã‚“:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "%s ã«ã‚­ãƒ¼ãƒªãƒ³ã‚°ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "内部エラー: æ­£ã—ã„ç½²åã§ã™ãŒã€éµæŒ‡ç´‹ã‚’確定ã§ãã¾ã›ã‚“?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "å°‘ãªãã¨ã‚‚ 1 ã¤ã®ä¸æ­£ãªç½²åãŒç™ºè¦‹ã•ã‚Œã¾ã—ãŸã€‚"
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"ç½²åを検証ã™ã‚‹ãŸã‚ã® 'gpgv' ã®å®Ÿè¡ŒãŒã§ãã¾ã›ã‚“ã§ã—㟠(gpgv ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œ"
"ã¦ã„ã¾ã™ã‹?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "gpgv ã®å®Ÿè¡Œä¸­ã«æœªçŸ¥ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿ"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "以下ã®ç½²åãŒç„¡åŠ¹ã§ã™:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2351,59 +2370,59 @@ msgstr "%li秒"
msgid "Selection %s not found"
msgstr "é¸æŠžã•ã‚ŒãŸ %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "ç†è§£ã§ããªã„çœç•¥å½¢å¼ã§ã™: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "設定ファイル %s をオープンã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "文法エラー %s:%u: ブロックãŒåå‰ãªã—ã§å§‹ã¾ã£ã¦ã„ã¾ã™ã€‚"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "文法エラー %s:%u: ä¸æ­£ãªã‚¿ã‚°ã§ã™"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "文法エラー %s:%u: 値ã®å¾Œã«ä½™åˆ†ãªã‚´ãƒŸãŒå…¥ã£ã¦ã„ã¾ã™"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "文法エラー %s:%u: 命令ã¯ãƒˆãƒƒãƒ—レベルã§ã®ã¿å®Ÿè¡Œã§ãã¾ã™"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "文法エラー %s:%u: インクルードã®ãƒã‚¹ãƒˆãŒå¤šã™ãŽã¾ã™"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "文法エラー %s:%u: ã“ã“ã‹ã‚‰ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã¾ã™"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "文法エラー %s:%u: 未対応ã®å‘½ä»¤ '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"文法エラー %s:%u: clear ディレクティブã¯ã€å¼•æ•°ã¨ã—ã¦ã‚ªãƒ—ションツリーを必è¦ã¨"
"ã—ã¾ã™"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "文法エラー %s:%u: ファイルã®æœ€å¾Œã«ä½™è¨ˆãªã‚´ãƒŸãŒã‚ã‚Šã¾ã™"
@@ -2546,7 +2565,7 @@ msgstr "å­ãƒ—ロセス %s ãŒã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ (%u) ã‚’è¿”ã—ã¾ã—ãŸ"
msgid "Sub-process %s exited unexpectedly"
msgstr "å­ãƒ—ロセス %s ãŒäºˆæœŸã›ãšçµ‚了ã—ã¾ã—ãŸ"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "ファイル %s をオープンã§ãã¾ã›ã‚“ã§ã—ãŸ"
@@ -2777,7 +2796,7 @@ msgstr "ソースリスト %2$s ã® %1$u 行目ãŒä¸æ­£ã§ã™ (type)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "ソースリスト %3$s ã® %2$u è¡Œã«ã‚るタイプ '%1$s' ã¯ä¸æ˜Žã§ã™"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2786,7 +2805,7 @@ msgstr ""
"'%s' ã®å³æ™‚設定ã¯å‹•ä½œã—ã¾ã›ã‚“。詳細ã«ã¤ã„ã¦ã¯ man 5 apt.conf ã® APT::"
"Immediate-Configure ã®é …ã‚’å‚ç…§ã—ã¦ãã ã•ã„。(%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2797,7 +2816,7 @@ msgstr ""
"ケージ %s を削除ã—ã¾ã™ã€‚ã“ã‚Œã¯å¤šãã®å ´åˆã«å•é¡ŒãŒèµ·ã“る原因ã¨ãªã‚Šã¾ã™ã€‚本当ã«"
"ã“れを行ã„ãŸã„ãªã‚‰ã€APT::Force-LoopBreak オプションを有効ã«ã—ã¦ãã ã•ã„。"
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2831,7 +2850,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "å•é¡Œã‚’解決ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。壊れãŸå¤‰æ›´ç¦æ­¢ãƒ‘ッケージãŒã‚ã‚Šã¾ã™ã€‚"
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2884,12 +2903,12 @@ msgstr ""
"'%s' ã¨ãƒ©ãƒ™ãƒ«ã®ä»˜ã„ãŸãƒ‡ã‚£ã‚¹ã‚¯ã‚’ドライブ '%s' ã«å…¥ã‚Œã¦ enter を押ã—ã¦ãã ã•"
"ã„。"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "パッケージングシステム '%s' ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "é©åˆ‡ãªãƒ‘ッケージシステムタイプを特定ã§ãã¾ã›ã‚“"
@@ -2918,19 +2937,26 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "ソースã®ãƒªã‚¹ãƒˆã‚’読むã“ã¨ãŒã§ãã¾ã›ã‚“。"
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"ä¸æ­£ãªãƒ¬ã‚³ãƒ¼ãƒ‰ãŒãƒ—リファレンスファイル %s ã«å­˜åœ¨ã—ã¾ã™ã€‚パッケージヘッダãŒã‚"
"ã‚Šã¾ã›ã‚“"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "pin タイプ %s ãŒç†è§£ã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "pin ã§å„ªå…ˆåº¦ (ã¾ãŸã¯ 0) ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
@@ -3019,7 +3045,7 @@ msgstr "ソースパッケージリスト %s ã®çŠ¶æ…‹ã‚’å–å¾—ã§ãã¾ã›ã‚“"
msgid "Collecting File Provides"
msgstr "ファイルæ供情報をåŽé›†ã—ã¦ã„ã¾ã™"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "ソースキャッシュã®ä¿å­˜ä¸­ã« IO エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ"
@@ -3032,8 +3058,8 @@ msgstr "åå‰ã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸã€‚%s (%s -> %s)"
msgid "MD5Sum mismatch"
msgstr "MD5Sum ãŒé©åˆã—ã¾ã›ã‚“"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "ãƒãƒƒã‚·ãƒ¥ã‚µãƒ ãŒé©åˆã—ã¾ã›ã‚“"
@@ -3053,23 +3079,21 @@ msgstr "Release ファイル %s を解釈ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“"
msgid "There is no public key available for the following key IDs:\n"
msgstr "以下ã®éµ ID ã«å¯¾ã—ã¦åˆ©ç”¨å¯èƒ½ãªå…¬é–‹éµãŒã‚ã‚Šã¾ã›ã‚“:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-"Release ファイルãŒæœŸé™åˆ‡ã‚Œã«ãªã£ã¦ã„ã‚‹ã®ã§ã€%s を無視ã—ã¾ã™ (%s 以æ¥ç„¡åŠ¹)"
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
"ディストリビューションãŒç«¶åˆã—ã¦ã„ã¾ã™: %s (%s を期待ã—ã¦ã„ãŸã®ã« %s ã‚’å–å¾—ã—"
"ã¾ã—ãŸ)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3079,12 +3103,12 @@ msgstr ""
"ファイルãŒä½¿ã‚ã‚Œã¾ã™ã€‚GPG エラー: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "GPG エラー: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3093,7 +3117,7 @@ msgstr ""
"パッケージ %s ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½ç½®ã‚’特定ã§ãã¾ã›ã‚“。ãŠãらãã“ã®ãƒ‘ッケージを手動"
"ã§ä¿®æ­£ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ (存在ã—ãªã„アーキテクãƒãƒ£ã®ãŸã‚)。"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3102,7 +3126,7 @@ msgstr ""
"パッケージ %s ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½ç½®ã‚’特定ã§ãã¾ã›ã‚“。ãŠãらãã“ã®ãƒ‘ッケージを手動"
"ã§ä¿®æ­£ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3110,7 +3134,7 @@ msgstr ""
"パッケージインデックスファイルãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚パッケージ %s ã« Filename: "
"フィールドãŒã‚ã‚Šã¾ã›ã‚“。"
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "サイズãŒé©åˆã—ã¾ã›ã‚“"
@@ -3234,22 +3258,22 @@ msgstr "æ–°ã—ã„ソースリストを書ã込んã§ã„ã¾ã™\n"
msgid "Source list entries for this disc are:\n"
msgstr "ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã®ã‚½ãƒ¼ã‚¹ãƒªã‚¹ãƒˆã®ã‚¨ãƒ³ãƒˆãƒª:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i レコードを書ãè¾¼ã¿ã¾ã—ãŸã€‚\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i レコードを書ãè¾¼ã¿ã¾ã—ãŸã€‚%i 個ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒå­˜åœ¨ã—ã¾ã›ã‚“。\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i レコードを書ãè¾¼ã¿ã¾ã—ãŸã€‚%i 個ã®é©åˆã—ãªã„ファイルãŒã‚ã‚Šã¾ã™ã€‚\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3271,6 +3295,17 @@ msgstr "èªè¨¼ãƒ¬ã‚³ãƒ¼ãƒ‰ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s"
msgid "Hash mismatch for: %s"
msgstr "ãƒãƒƒã‚·ãƒ¥ã‚µãƒ ãŒé©åˆã—ã¾ã›ã‚“: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "%s ã«ã‚­ãƒ¼ãƒªãƒ³ã‚°ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3530,3 +3565,7 @@ msgstr "途中ã§æŽ¥ç¶šãŒã‚¯ãƒ­ãƒ¼ã‚ºã•ã‚Œã¾ã—ãŸ"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr ""
#~ "内部エラー。グループ '%s' ã«ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å¯èƒ½ãªæ“¬ä¼¼ãƒ‘ッケージãŒã‚ã‚Šã¾ã›ã‚“"
+
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr ""
+#~ "Release ファイルãŒæœŸé™åˆ‡ã‚Œã«ãªã£ã¦ã„ã‚‹ã®ã§ã€%s を無視ã—ã¾ã™ (%s 以æ¥ç„¡åŠ¹)"
diff --git a/po/km.po b/po/km.po
index a5d799f3f..75403c83d 100644
--- a/po/km.po
+++ b/po/km.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po_km\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2006-10-10 09:48+0700\n"
"Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
"Language-Team: Khmer <support@khmeros.info>\n"
@@ -161,7 +161,7 @@ msgstr " ážáž¶ážšáž¶áž„​កំណែ ៖"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s សម្រាប់ %s %s បាន​ចងក្រងនៅលើ​%s %s\n"
@@ -837,7 +837,7 @@ msgstr "មិនអាចធ្វើការដំឡើង %s ឡើងវáž
msgid "%s is already the newest version.\n"
msgstr "%s ជាកំណែ​ដែលážáŸ’មីបំផុážážšáž½áž…ទៅហើយ ។\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "ប៉ុន្ážáŸ‚​ %s នឹង​ážáŸ’រូវ​បាន​ដំឡើ​ង"
@@ -949,8 +949,8 @@ msgstr "បន្ទាប់​ពី​ពន្លា​ %sB នៃ​កាá
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "បន្ទាប់​ពី​ពន្លា​ %sB ទំហំ​ážáž¶ážŸáž“ឹង​​ទំនáŸážšÂ áŸ” \n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "មិន​អាច​កំណážáŸ‹â€‹áž‘ំហំ​ទំនáŸážšâ€‹áž€áŸ’នុង​ %s បានឡើយ"
@@ -987,7 +987,7 @@ msgstr "បោះបង់ ។"
msgid "Do you want to continue [Y/n]? "
msgstr "ážáž¾â€‹áž¢áŸ’នក​ចង់​បន្ážáž¬â€‹ [បាទ ចាស/áž‘áŸâ€‹] ? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ទៅ​ប្រមូល​យក​ %s %s\n"
@@ -996,7 +996,7 @@ msgstr "បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ទៅ​ប្រម
msgid "Some files failed to download"
msgstr "ឯកសារ​មួយ​ចំនួន​បាន​បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ទាញ​យក​"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "បានបញ្ចប់ការទាញ​យក​ ហើយ​ážáŸ‚​ក្នុង​របៀប​​ទាញ​យក​ប៉ុណ្ណោះ"
@@ -1034,31 +1034,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "មិនអាចážáŸ’លែង បញ្ជី​កញ្ចប់​ប្រភពចប់​ បានឡើយ %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "ពាក្យ​បញ្ជា​ដែលធ្វើ​ឲ្យ​ទាន់​សមáŸáž™â€‹áž‚្មាន​អាគុយម៉ង់​ទáŸ"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1074,16 +1074,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "áž–áŸážáŸŒáž˜áž¶áž“​ដូចážáž‘ៅនáŸáŸ‡ អាចជួយ​ដោះស្រាយ​ស្ážáž¶áž“ភាព​បាន ៖"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "កំហុស​ážáž¶áž„ក្នុង អ្នក​ដោះស្រាយ​បញ្ហា​បានធ្វើឲ្យážáž¼áž…​ឧបករណáŸ"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1093,7 +1093,7 @@ msgid_plural ""
msgstr[0] "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖"
msgstr[1] "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1101,26 +1101,26 @@ msgid_plural ""
msgstr[0] "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖"
msgstr[1] "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "កំហុស​ážáž¶áž„ក្នុង ការធ្វើឲ្យប្រសើរ​ទាំងអស់បានធ្វើឲ្យ​ឧបករណáŸâ€‹ážáž¼áž…"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "អ្នក​ប្រហែល​ជា​ចង់​រážáŸ‹ 'apt-get -f install' ដើម្បី​កែ​ពួក​វា​ទាំង​នáŸáŸ‡Â áŸ–"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
"ភាពអស្រáŸáž™â€‹ážŠáŸ‚ល​ážáž»ážŸâ€‹áž‚្នា ។ ព្យាយាម​ 'apt-get -f install' ដោយ​គ្មាន​កញ្ចប់ (ឬ បញ្ជាក់​ដំណោះស្រាយ) ។"
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1132,80 +1132,80 @@ msgstr ""
"ដែលបាន​ទាមទារនឹងមិនទាន់បានបង្កើážâ€‹áž¡áž¾áž™â€‹\n"
" ឬ ​បានយក​ចáŸáž‰â€‹áž–ីការមកដល់ ។"
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "កញ្ចប់​ដែល​បាន​ážáž¼áž…​"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "កញ្ចប់​បន្ážáŸ‚ម​ដូចážáž‘ៅនáŸáŸ‡ នឹងážáŸ’រូវបាន​ដំឡើង ៖"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "កញ្ចប់​ដែល​បាន​ផ្ដល់​យោបល់ ៖"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "កញ្ចប់​ដែល​បាន​ផ្ដល់​អនុសាសនáŸÂ áŸ–"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "មិន​អាច​រក​កញ្ចប់ %s បានទáŸ"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "ប៉ុន្ážáŸ‚​ %s នឹង​ážáŸ’រូវ​បាន​ដំឡើ​ង"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "កំពុង​គណនា​ការ​ធ្វើ​ឲ្យ​ប្រសើរ... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "បាន​បរាជáŸáž™"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "ធ្វើរួច​"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "កំហុស​ážáž¶áž„ក្នុង អ្នក​ដោះស្រាយ​បញ្ហា​បានធ្វើឲ្យážáž¼áž…​ឧបករណáŸ"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "មិន​អាច​ចាក់​សោ​ážážâ€‹áž‘ាញ​យក​បាន​ឡើយ"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "យ៉ាងហោចណាស់​ážáŸ’រូវ​​បញ្ជាក់​​កញ្ចប់​មួយ ​ដើម្បី​ទៅ​​ប្រមូល​យក​ប្រភព​សម្រាប់"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "មិន​អាច​រក​កញ្ចប់ប្រភព​​សម្រាប់ %s បានឡើយ"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1213,122 +1213,143 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "កំពុង​រំលង​ឯកសារ​ដែល​បាន​ទាញយក​រួច​ '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "អ្នក​ពុំ​មាន​ទំហំ​ទំនáŸážšâ€‹áž‚្រប់គ្រាន់​ទáŸâ€‹áž“ៅក្នុង​ %s ឡើយ"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "ážáŸ’រូវការ​យក​ %sB/%sB នៃ​បáŸážŽáŸ’ណសារ​ប្រភព ។\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "ážáŸ’រូវការ​យក​ %sB នៃ​បáŸážŽáŸ’ណសារ​ប្រភព​ ។\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "ទៅប្រមូល​ប្រភព​ %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "បរាជáŸáž™â€‹áž€áŸ’នុងការទៅប្រមូលយក​បáŸážŽáŸ’ណសារ​មួយចំនួន ។"
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "កំពុង​រំលង​ការស្រាយ​នៃប្រភព​ដែលបានស្រាយរួច​នៅក្នុង %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "ពាក្យ​បញ្ជា​ស្រាយ '%s' បាន​បរាជáŸáž™â€‹Â áŸ”\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "áž–áž·áž“áž·ážáŸ’យ​ប្រសិន​បើកញ្ចប់ 'dpkg-dev' មិន​ទាន់​បាន​ដំឡើង​ ។\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "សាងសង​ពាក្យ​បញ្ជា​ '%s' បានបរាជáŸáž™â€‹Â áŸ”\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "ដំណើរ​ការ​កូន​បាន​បរាជáŸáž™â€‹"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "ážáŸ’រូវážáŸ‚​បញ្ជាក់​យ៉ាងហោចណាស់​មួយកញ្ចប់ដើម្បីពិនិážáŸ’áž™ builddeps សម្រាប់"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "មិន​អាច​សាងសង់​​ពáŸážáŸŒáž˜áž¶áž“​ភាពអស្រáŸáž™â€‹ážŸáž˜áŸ’រាប់ %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s មិនមានភាពអាស្រáŸáž™â€‹ážŸáŸ’ážáž¶áž”នាឡើយ​ ។\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "%s ភាពអស្រáŸáž™â€‹ážŸáž˜áŸ’រាប់​ %s មិន​អាច​ធ្វើ​ឲ្យ​ពáŸáž‰áž…áž·ážáŸ’ážâ€‹ ព្រោះ​រក​​ %s កញ្ចប់​មិន​ឃើញ​ "
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "%s ភាពអស្រáŸáž™â€‹ážŸáž˜áŸ’រាប់​ %s មិន​អាច​ធ្វើ​ឲ្យ​ពáŸáž‰áž…áž·ážáŸ’ážâ€‹ ព្រោះ​រក​​ %s កញ្ចប់​មិន​ឃើញ​ "
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr "បរាជáŸáž™â€‹áž€áŸ’នុងការ​ážáž˜áŸ’រូវចិážáŸ’ážáž—ាពអាស្រáŸáž™ %s សម្រាប់ %s ៖ កញ្ចប់ %s ដែលបានដំឡើង គឺážáŸ’មីពáŸáž€"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"ភាពអាស្រáŸáž™ %s សម្រាប់ %s មិនអាច​ážáž˜áŸ’រូវចិážáŸ’ážáž”ានទ០ព្រោះ មិនមាន​កំណែ​នៃកញ្ចប់ %s ដែលអាច​ážáž˜áŸ’រូវចិážáŸ’ážâ€‹"
"ážáž˜áŸ’រូវការ​កំណែបានឡើយ"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr "បរាជáŸáž™â€‹áž€áŸ’នុងការ​ážáž˜áŸ’រូវចិážáŸ’ážáž—ាពអាស្រáŸáž™ %s សម្រាប់ %s ៖ កញ្ចប់ %s ដែលបានដំឡើង គឺážáŸ’មីពáŸáž€"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "%s ភាពអស្រáŸáž™â€‹ážŸáž˜áŸ’រាប់​ %s មិន​អាច​ធ្វើ​ឲ្យ​ពáŸáž‰áž…áž·ážáŸ’ážâ€‹ ព្រោះ​រក​​ %s កញ្ចប់​មិន​ឃើញ​ "
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "បរាជáŸáž™â€‹áž€áŸ’នុងការ​ážáž˜áŸ’រូវចិážáŸ’ážáž—ាពអាស្រáŸáž™ %s សម្រាប់ %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "ភាពអាស្រáŸáž™â€‹ážŠáŸ‚ល​បង្កើážâ€‹ %s មិន​អាច​បំពáŸáž‰â€‹ážŸáŸáž…ក្ដី​ážáŸ’រូវការ​បាន​ទáŸÂ áŸ”"
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "បាន​បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ដំណើរ​​ការ​បង្កើážâ€‹áž—ាព​អាស្រáŸáž™"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "កំពុង​ážáž—្ជាប់​ទៅ​កាន់​ %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "ម៉ូឌុល​ដែល​គាំទ្រ ៖ "
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1413,7 +1434,7 @@ msgstr ""
"pages for more information and options.\n"
" This APT has Super Cow Powers.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1721,8 +1742,8 @@ msgstr "ឯកសារ​ %s/%s សរសáŸážšáž‡áž¶áž“់​ពីលើ​áž
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1754,7 +1775,7 @@ msgstr "ážážáž–áŸážáŸŒáž˜áž¶áž“​ áž“áž·áž„ ពុម្ព ážáŸ’រូវ
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "កំពុង​អាន​បញ្ជី​កញ្ចប់"
@@ -2120,35 +2141,29 @@ msgstr "ការ​ដោះស្រាយ​អ្វី​អាក្រក
msgid "Unable to connect to %s:%s:"
msgstr "មិន​អាច​ážáž—្ជាប់​ទៅកាន់​​ %s %s ៖"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "កំពុង​បោះបង់​ការ​ដំឡើង​ ។"
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "កំហុស​ážáž¶áž„ក្នុង​ ៖ áž ážáŸ’ážáž›áŸážáž¶â€‹â€‹áž›áŸ’អ ប៉ុន្ážáŸ‚ ​មិន​អាច​កំណážáŸ‹â€‹áž€áž¼áž“សោ​ស្នាម​ម្រាមដៃ ?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "​បានជួប​ប្រទះ​​​​ហážáŸ’ážáž›áŸážáž¶â€‹áž™áŸ‰áž¶áž„ហោចណាស់មួយ ដែ​លážáŸ’រឹមážáŸ’រូវ​ ។"
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "មិន​អាច​ប្រážáž·áž”ážáŸ’ážáž· '%s' ដើម្បី​ផ្ទៀងផ្ទាážáŸ‹â€‹áž ážáŸ’ážáž›áŸážáž¶ (ážáž¾ gpgv ážáŸ’រូវ​បាន​ដំឡើង​ឬនៅ ?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "មិនស្គាល់កំហុស ក្នុងការប្រážáž·áž”ážáŸ’ážáž· gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "áž ážáŸ’ážáž›áŸážáž¶â€‹ážáž¶áž„​ក្រោម​មិន​ážáŸ’រឹមážáŸ’រូវ ៖\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2304,57 +2319,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "ជម្រើស​ %s រក​មិន​ឃើញ​ឡើយ"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "មិន​បាន​​ទទួល​ស្គាល់​ប្រភáŸáž‘​អក្សរ​សង្ážáŸáž” ៖ '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "កំពុង​បើ​ឯកសារ​កំណážáŸ‹ážšáž…នាសម្ពáŸáž“្ធ​ %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "កំហុស​វាក្យ​សម្ពន្ធ %s:%u ៖ ប្លុក​ចាប់​ផ្ážáž¾áž˜â€‹â€‹ážŠáŸ„យ​គ្មាន​ឈ្មោះ​ ។"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "កំហុស​​វាក្យ​សម្ពន្ធ %s:%u ៖ ស្លាក​ដែលបាន Malformed"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "កំហុស​​វាក្យ​សម្ពន្ធ %s:%u ៖ ážáž˜áŸ’លៃ​ឥážáž”ានការ​នៅ​ក្រៅ​"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "កំហុសវាក្យ​សម្ពន្ធ %s:%u ៖ សáŸáž…ក្ដីបង្គាប់​អាចážáŸ’រូវបានធ្វើ​ážáŸ‚នៅលើ​កម្រិážâ€‹áž€áŸ†áž–ូល​ážáŸ‚ប៉ុណ្ណោះ"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "កំហុស​វាក្យសម្ពន្ធ %s:%u ៖ មាន​ការរួមបញ្ចូល​ដែលដាក់​រួមគ្នា​យ៉ាងច្រើន"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "កំហុសវាក្យ​សម្ពន្ធ %s:%u ៖ បានរួម​បញ្ចូល​ពី​ទីនáŸáŸ‡â€‹"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "កំហុស​វាក្យ​សម្ពន្ធ %s:%u ៖ សáŸáž…ក្ដី​បង្គាប់​ដែល​មិនបានគាំទ្រ '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "កំហុសវាក្យ​សម្ពន្ធ %s:%u ៖ សáŸáž…ក្ដីបង្គាប់​អាចážáŸ’រូវបានធ្វើ​ážáŸ‚នៅលើ​កម្រិážâ€‹áž€áŸ†áž–ូល​ážáŸ‚ប៉ុណ្ណោះ"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "កំហុស​វាក្យសម្ពន្ធ %s:%u ៖ សារឥážáž”ានការ​បន្ážáŸ‚ម ដែលនៅážáž¶áž„ចុង​ឯកសារ"
@@ -2497,7 +2512,7 @@ msgstr "ដំណើរការ​រង​ %s បានážáŸ’រឡប់​áž
msgid "Sub-process %s exited unexpectedly"
msgstr "ដំណើរការ​រង​ %s បានចáŸáž‰ ដោយ​មិន​រំពឹង​ទុក​ "
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "មិន​អាច​បើក​ឯកសារ​ %s បានឡើយ"
@@ -2725,14 +2740,14 @@ msgstr "បន្ទាážáŸ‹â€‹ Malformed %u ក្នុង​បញ្ជី
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "ប្រភáŸáž‘​ '%s' មិន​ស្គាល់នៅលើបន្ទាážáŸ‹â€‹ %u ក្នុង​បញ្ជី​ប្រភព​ %s ឡើយ"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2743,7 +2758,7 @@ msgstr ""
"ភាពអាស្រáŸáž™áž‡áž¶áž˜áž»áž“ ។ ជាញឹកញាប់គឺ មិនážáŸ’រឹមážáŸ’រូវ ប៉ុន្ážáŸ‚ ប្រសិនបើអ្នក​ពិážáž‡áž¶áž…ង់ធ្វើវា ធ្វើឲ្យជម្រើស APT::"
"Force-LoopBreak សកម្ម ។"
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2773,7 +2788,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "មិន​អាច​កែ​បញ្ហាបានទáŸáŸ អ្កបានទុក​កញ្ចប់​ដែល​ážáž¼áž… ។។"
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2823,12 +2838,12 @@ msgstr "វិធីសាស្ážáŸ’រ​ %s មិន​អាច​ចាáž
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "សូម​បញ្ចូល​ស្លាក​ឌីស​ ៖ '%s' ក្នុង​ដ្រាយ​ '%s' ហើយ​សង្កážáŸ‹â€‹áž…ូល ។"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "មិន​គាំទ្រ​ប្រពáŸáž“្ធ​កញ្ចប់'%s' ឡើយ"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "មិនអាច​កំណážáŸ‹â€‹áž”្រភáŸáž‘​ប្រពáŸáž“្ធ​កញ្ចប់​ដែល​សមរម្យ​បានឡើយ"
@@ -2853,17 +2868,24 @@ msgstr "អ្នកប្រហែលជា​ចង់ភាពទាន់ស
msgid "The list of sources could not be read."
msgstr "មិន​អាច​អាន​បញ្ជី​ប្រភព​បាន​ឡើយ​ ។"
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "កំណážáŸ‹ážáŸ’រា​មិនážáŸ’រឹមážáŸ’រូវ​នៅក្នុង​ឯកសារចំណង់ចំណូលចិážáŸ’ហមិនមាន​បឋមកážáž¶â€‹áž€áž‰áŸ’ចប់ទáŸ"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "មិន​បាន​យល់​ពី​ប្រភáŸáž‘​ម្ជុល %s ឡើយ"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "គ្មាន​អទិភាព (ឬ សូន្យ​) បានបញ្ជាក់​សម្រាប់​ម្ជុល​ទáŸ"
@@ -2953,7 +2975,7 @@ msgstr "មិនអាចážáŸ’លែង បញ្ជី​កញ្ចប់â€
msgid "Collecting File Provides"
msgstr "ការផ្ដល់​ឯកសារ​ប្រមូលផ្ដុំ"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "IO កំហុសក្នុងការររក្សាទុក​ឃ្លាំង​សម្ងាážáŸ‹â€‹áž”្រភព​"
@@ -2966,8 +2988,8 @@ msgstr "ប្ážáž¼ážšâ€‹ážˆáŸ’មោះ​បានបរាជáŸáž™â€‹, %s (
msgid "MD5Sum mismatch"
msgstr "MD5Sum មិន​ផ្គួផ្គង​"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
#, fuzzy
msgid "Hash Sum mismatch"
msgstr "MD5Sum មិន​ផ្គួផ្គង​"
@@ -2988,20 +3010,19 @@ msgstr "មិនអាច​ញែក​ឯកសារកញ្ចប់ %s (1
msgid "There is no public key available for the following key IDs:\n"
msgstr "គ្មាន​កូនសោ​សាធារណៈ​អាច​រក​បាន​ក្នុងកូនសោ IDs ážáž¶áž„ក្រោម​នáŸáŸ‡áž‘áŸÂ áŸ–\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3009,12 +3030,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3023,7 +3044,7 @@ msgstr ""
"ážáŸ’ញុំ​មិន​អាច​រកទីážáž¶áŸ†áž„​ឯកសារ​សម្រាប់​កញ្ចប់ %s បាន​ទáŸÂ áŸ” ​មាន​នáŸáž™â€‹ážáž¶â€‹áž¢áŸ’នក​ážáŸ’រូវការ​ជួសជុល​កញ្ចប់​នáŸáŸ‡â€‹ážŠáŸ„យ​ដៃ ។ "
"(ដោយសារ​​បាážáŸ‹â€‹ážŸáŸ’ážáž¶áž”ážáŸ’យកម្ម)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3031,13 +3052,13 @@ msgid ""
msgstr ""
"ážáŸ’ញុំ​មិន​អាច​រកទីážáž¶áŸ†áž„​ឯកសារ​សម្រាប់​កញ្ចប់ %s បានទáŸÂ áŸ” ​មាន​នáŸáž™â€‹ážáž¶â€‹áž¢áŸ’នក​ážáŸ’រូវការ​ជួសជុល​កញ្ចប់​នáŸáŸ‡â€‹ážŠáŸ„យ​ដៃ ។"
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "កញ្ចប់​ឯកសារ​លិបិក្រម​ážáŸ’រូវ​បាន​ážáž¼áž… ។ គ្មាន​ឈ្មោះ​ឯកសារ ៖ វាល​សម្រាប់​កញ្ចប់នáŸáŸ‡â€‹áž‘áŸâ€‹ %s ។"
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "ទំហំ​មិនបាន​ផ្គួផ្គង​"
@@ -3158,22 +3179,22 @@ msgstr "កំពុងសរសáŸážšâ€‹áž”ញ្ជី​ប្រភព​áž
msgid "Source list entries for this disc are:\n"
msgstr "ធាážáž»áž”ញ្ចូល​បញ្ជីប្រភព​សម្រាប់​ឌីស​នáŸáŸ‡áž‚ឺ ៖\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "បានសរសáŸážš %i កំណážáŸ‹ážáŸ’រា ។\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "បានសរសáŸážš %i កំណážáŸ‹ážáŸ’រា​ជាមួយ​ %i ឯកសារ​ដែល​បាážáŸ‹áž”ង់ ។\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "បានសរសáŸážšâ€‹ %i កំណážáŸ‹ážáŸ’រា​ជាមួយួយ​ %i ឯកសារ​ដែល​មិន​បាន​ផ្គួផ្គង​\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "បានសរសáŸážš %i កំណážáŸ‹ážáŸ’រា​ជាមួយ​ %i ឯកសារ​ដែល​បាážáŸ‹áž”ង់​ និង​ %i ឯកសារ​ដែល​មិន​បាន​ផ្គួផ្គង​ ​\n"
@@ -3193,6 +3214,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "MD5Sum មិន​ផ្គួផ្គង​"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "កំពុង​បោះបង់​ការ​ដំឡើង​ ។"
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/ko.po b/po/ko.po
index a9a2788a5..6d6b38a59 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-08-30 02:31+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: Korean <debian-l10n-korean@lists.debian.org>\n"
@@ -152,7 +152,7 @@ msgstr " 버전 í…Œì´ë¸”:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s(%s), ì»´íŒŒì¼ ì‹œê° %s %s\n"
@@ -829,7 +829,7 @@ msgstr "%s 패키지를 다시 설치하는 건 불가능합니다. 다운로드
msgid "%s is already the newest version.\n"
msgstr "%s 패키지는 ì´ë¯¸ 최신 버전입니다.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s 패키지 수ë™ì„¤ì¹˜ë¡œ 지정합니다.\n"
@@ -944,8 +944,8 @@ msgstr "ì´ ìž‘ì—… 후 %së°”ì´íŠ¸ì˜ ë””ìŠ¤í¬ ê³µê°„ì„ ë” ì‚¬ìš©í•˜ê²Œ ë©ë‹
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "ì´ ìž‘ì—… 후 %së°”ì´íŠ¸ì˜ ë””ìŠ¤í¬ ê³µê°„ì´ ë¹„ì›Œì§‘ë‹ˆë‹¤.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "%sì˜ ì—¬ìœ  ê³µê°„ì˜ í¬ê¸°ë¥¼ 파악할 수 없습니다"
@@ -985,7 +985,7 @@ msgstr "중단."
msgid "Do you want to continue [Y/n]? "
msgstr "ê³„ì† í•˜ì‹œê² ìŠµë‹ˆê¹Œ [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "%s 파ì¼ì„ ë°›ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤ %s\n"
@@ -994,7 +994,7 @@ msgstr "%s 파ì¼ì„ ë°›ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤ %s\n"
msgid "Some files failed to download"
msgstr "ì¼ë¶€ 파ì¼ì„ ë°›ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "다운로드를 마쳤고 다운로드 전용 모드입니다"
@@ -1033,31 +1033,31 @@ msgstr[0] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "주ì˜: dpkgì—ì„œ ìžë™ìœ¼ë¡œ ì˜ë„ì ìœ¼ë¡œ 수행했습니다."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "'%2$s' íŒ¨í‚¤ì§€ì˜ '%1$s' ëŒ€ìƒ ë¦´ë¦¬ìŠ¤ëŠ” 없으므로 무시합니다."
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "소스 패키지로 '%s'ì„(를) '%s' 대신 ì„ íƒí•©ë‹ˆë‹¤\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "'%2$s' íŒ¨í‚¤ì§€ì˜ '%1$s' ë²„ì „ì€ ì—†ìœ¼ë¯€ë¡œ 무시합니다."
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "update ëª…ë ¹ì€ ì¸ìˆ˜ë¥¼ 받지 않습니다"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "삭제를 할 수 없으므로 AutoRemover를 실행하지 못합니다"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1075,15 +1075,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "ì´ ìƒí™©ì„ í•´ê²°í•˜ëŠ”ë° ë‹¤ìŒ ì •ë³´ê°€ ë„ì›€ì´ ë  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "내부 오류, 문제 í•´ê²° í”„ë¡œê·¸ëž¨ì´ ë¬´ì–¸ê°€ë¥¼ ë§ê°€ëœ¨ë ¸ìŠµë‹ˆë‹¤"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1091,27 +1091,27 @@ msgid_plural ""
"required:"
msgstr[0] "ë‹¤ìŒ íŒ¨í‚¤ì§€ê°€ ìžë™ìœ¼ë¡œ 설치ë˜ì—ˆì§€ë§Œ ë” ì´ìƒ 필요하지 않습니다:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
"%lu packages were automatically installed and are no longer required.\n"
msgstr[0] "패키지 %lu개가 ìžë™ìœ¼ë¡œ 설치ë˜ì—ˆì§€ë§Œ ë” ì´ìƒ 필요하지 않습니다.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "ì´ë“¤ì„ 지우려면 'apt-get autoremove'를 사용하십시오."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "내부 오류, AllUpgrade í”„ë¡œê·¸ëž¨ì´ ë¬´ì–¸ê°€ë¥¼ ë§ê°€ëœ¨ë ¸ìŠµë‹ˆë‹¤"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "다ìŒì„ 바로잡으려면 'apt-get -f install'ì„ ì‹¤í–‰í•´ 보십시오:"
# FIXME: specify a solution? 무슨 솔루션?
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1119,7 +1119,7 @@ msgstr ""
"ì˜ì¡´ì„±ì´ 맞지 않습니다. 패키지 ì—†ì´ 'apt-get -f install'ì„ ì‹œë„í•´ 보십시오 "
"(아니면 í•´ê²° ë°©ë²•ì„ ì§€ì •í•˜ì‹­ì‹œì˜¤)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1130,73 +1130,73 @@ msgstr ""
"불안정 ë°°í¬íŒì„ 사용해서 ì¼ë¶€ 필요한 패키지를 ì•„ì§ ë§Œë“¤ì§€ 않았거나,\n"
"ì•„ì§ Incomingì—ì„œ 나오지 ì•Šì€ ê²½ìš°ì¼ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "ë§ê°€ì§„ 패키지"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "ë‹¤ìŒ íŒ¨í‚¤ì§€ë¥¼ ë” ì„¤ì¹˜í•  것입니다:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "제안하는 패키지:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "추천하는 패키지:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "%s 패키지를 ì°¾ì„ ìˆ˜ 없습니다"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s 패키지는 수ë™ì„¤ì¹˜ë¡œ 지정합니다.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "업그레ì´ë“œë¥¼ 계산하는 중입니다... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "실패"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "완료"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "내부 오류, 문제 í•´ê²° í”„ë¡œê·¸ëž¨ì´ ë¬´ì–¸ê°€ë¥¼ ë§ê°€ëœ¨ë ¸ìŠµë‹ˆë‹¤"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "다운로드 디렉터리를 잠글 수 없습니다"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "해당ë˜ëŠ” 소스 패키지를 가져올 패키지를 최소한 하나 지정해야 합니다"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "%sì˜ ì†ŒìŠ¤ 패키지를 ì°¾ì„ ìˆ˜ 없습니다"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1205,7 +1205,7 @@ msgstr ""
"알림: '%s' íŒ¨í‚¤ì§•ì€ ë‹¤ìŒ '%s' 버전 컨트롤 시스템ì—ì„œ 관리합니다:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1216,78 +1216,94 @@ msgstr ""
"다ìŒê³¼ ê°™ì´ í•˜ì‹­ì‹œì˜¤:\n"
"bzr get %s\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "ì´ë¯¸ 다운로드 ë°›ì€ íŒŒì¼ '%s'ì€(는) 다시 받지 ì•Šê³  건너 ëœë‹ˆë‹¤.\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "%sì— ì¶©ë¶„í•œ ê³µê°„ì´ ì—†ìŠµë‹ˆë‹¤"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "소스 ì•„ì¹´ì´ë¸Œë¥¼ %së°”ì´íŠ¸/%së°”ì´íŠ¸ 받아야 합니다.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "소스 ì•„ì¹´ì´ë¸Œë¥¼ %së°”ì´íŠ¸ 받아야 합니다.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "%s 소스를 가져옵니다\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "ì¼ë¶€ ì•„ì¹´ì´ë¸Œë¥¼ ê°€ì ¸ì˜¤ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "%sì— ì´ë¯¸ 풀려 있는 ì†ŒìŠ¤ì˜ ì••ì¶•ì„ í’€ì§€ ì•Šê³  건너 ëœë‹ˆë‹¤.\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "압축 풀기 명령 '%s' 실패.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "'dpkg-dev' 패키지가 설치ë˜ì—ˆëŠ”지를 확ì¸í•˜ì‹­ì‹œì˜¤.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "빌드 명령 '%s' 실패.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "하위 프로세스가 실패했습니다"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "해당ë˜ëŠ” 빌드 ì˜ì¡´ì„±ì„ 검사할 패키지를 최소한 하나 지정해야 합니다"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "%sì˜ ë¹Œë“œ ì˜ì¡´ì„± 정보를 가져올 수 없습니다"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s íŒ¨í‚¤ì§€ì— ë¹Œë“œ ì˜ì¡´ì„±ì´ 없습니다.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ 만족시킬 수 없습니다. %3$s 패키지를 ì°¾ì„ ìˆ˜ 없습니"
+"다"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1296,46 +1312,55 @@ msgstr ""
"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ 만족시킬 수 없습니다. %3$s 패키지를 ì°¾ì„ ìˆ˜ 없습니"
"다"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ ë§Œì¡±ì‹œí‚¤ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: 설치한 %3$s 패키지가 너"
+"무 최근 버전입니다"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ 만족시킬 수 없습니다. %3$s íŒ¨í‚¤ì§€ì˜ ì‚¬ìš© 가능한 버"
"ì „ 중ì—서는 ì´ ë²„ì „ ìš”êµ¬ì‚¬í•­ì„ ë§Œì¡±ì‹œí‚¬ 수 없습니다"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ ë§Œì¡±ì‹œí‚¤ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: 설치한 %3$s 패키지가 너"
-"무 최근 버전입니다"
+"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ 만족시킬 수 없습니다. %3$s 패키지를 ì°¾ì„ ìˆ˜ 없습니"
+"다"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ ë§Œì¡±ì‹œí‚¤ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %3$s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "%sì˜ ë¹Œë“œ ì˜ì¡´ì„±ì„ 만족시키지 못했습니다."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "빌드 ì˜ì¡´ì„±ì„ ì²˜ë¦¬í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "%s(%s)ì— ì—°ê²°í•˜ëŠ” 중입니다"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "지ì›í•˜ëŠ” 모듈:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1423,7 +1448,7 @@ msgstr ""
"apt.conf(5) 매뉴얼 페ì´ì§€ë¥¼ 보십시오.\n"
" ì´ APT는 Super Cow Powersë¡œ 무장했습니다.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1735,8 +1760,8 @@ msgstr "%s/%s 파ì¼ì€ %s íŒ¨í‚¤ì§€ì— ìžˆëŠ” 파ì¼ì„ ë®ì–´ ì”니다"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1768,7 +1793,7 @@ msgstr "ì •ë³´ 디렉토리와 ìž„ì‹œ 디렉토리는 ê°™ì€ íŒŒì¼ ì‹œìŠ¤í…œì—
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "패키지 목ë¡ì„ ì½ëŠ” 중입니다"
@@ -2135,35 +2160,29 @@ msgstr "'%s:%s'ì˜ ì£¼ì†Œë¥¼ ì•Œì•„ë‚´ëŠ”ë° ë¬´ì–¸ê°€ ì´ìƒí•œ ì¼ì´ ë°œìƒí–
msgid "Unable to connect to %s:%s:"
msgstr "%s:%sì— ì—°ê²°í•  수 없습니다:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "%sì— í‚¤ 모ìŒì„ 설치하지 않았습니다."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "내부 오류: ì„œëª…ì€ ì˜¬ë°”ë¥´ì§€ë§Œ 키 핑거프린트를 확ì¸í•  수 없습니다?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "최소한 하나 ì´ìƒì˜ ì„œëª…ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"ì„œëª…ì„ í™•ì¸í•˜ëŠ” 'gpgv' í”„ë¡œê·¸ëž¨ì„ ì‹¤í–‰í•  수 없습니다. (gpgv를 설치했습니까?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "gpgv 실행 ë„중 ì•Œ 수 없는 오류 ë°œìƒ"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "ë‹¤ìŒ ì„œëª…ì´ ì˜¬ë°”ë¥´ì§€ 않습니다:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2319,57 +2338,57 @@ msgstr "%liì´ˆ"
msgid "Selection %s not found"
msgstr "ì„ íƒí•œ %sì´(ê°€) 없습니다"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "ì´ íƒ€ìž… 줄임ë§ì„ ì•Œ 수 없습니다: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "설정 íŒŒì¼ %s 파ì¼ì„ 여는 중입니다"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "문법 오류 %s:%u: ë¸”ëŸ­ì´ ì´ë¦„으로 시작하지 않습니다."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "문법 오류 %s:%u: íƒœê·¸ì˜ í˜•ì‹ì´ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "문법 오류 %s:%u: ê°’ ë’¤ì— ì“°ë ˆê¸° ë°ì´í„°ê°€ ë” ìžˆìŠµë‹ˆë‹¤"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "문법 오류 %s:%u: 지시어는 맨 위 단계ì—서만 쓸 수 있습니다"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "문법 오류 %s:%u: includeê°€ 너무 ë§Žì´ ê²¹ì³ ìžˆìŠµë‹ˆë‹¤"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "문법 오류 %s:%u: 여기서 includeë©ë‹ˆë‹¤"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "문법 오류 %s:%u: 지ì›í•˜ì§€ 않는 지시어 '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "문법 오류 %s:%u: clear 지시어는 ì¸ìˆ˜ë¡œ option 트리를 지정해야 합니다"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "문법 오류 %s:%u: 파ì¼ì˜ ëì— ì“°ë ˆê¸° ë°ì´í„°ê°€ ë” ìžˆìŠµë‹ˆë‹¤"
@@ -2512,7 +2531,7 @@ msgstr "하위 프로세스 %s 프로세스가 오류 코드(%u)를 리턴했습
msgid "Sub-process %s exited unexpectedly"
msgstr "하위 프로세스 %s 프로세스가 예ìƒì¹˜ 못하게 ë났습니다"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "%s 파ì¼ì„ ì—´ 수 없습니다"
@@ -2740,7 +2759,7 @@ msgstr "소스 리스트 %2$sì˜ %1$u번 ì¤„ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤ (타입)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "소스 ëª©ë¡ %3$sì˜ %2$u번 ì¤„ì˜ '%1$s' íƒ€ìž…ì„ ì•Œ 수 없습니다"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2749,7 +2768,7 @@ msgstr ""
"'%s'ì— ëŒ€í•´ 즉시 ì„¤ì •ì„ í•  수 없습니다. ìžì„¸í•œ ì„¤ëª…ì€ man 5 apt.conf 페ì´ì§€ì—"
"ì„œ APT::Immediate-Configure í•­ëª©ì„ ë³´ì‹­ì‹œì˜¤. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2760,7 +2779,7 @@ msgstr ""
"ìž ê¹ ì œê±°í•´ì•¼ 합니다. ì´ íŒ¨í‚¤ì§€ë¥¼ 제거하는 ê±´ 좋지 않지만, ì •ë§ ì§€ìš°ë ¤ë©´ "
"APT::Force-LoopBreak ì˜µì…˜ì„ ì¼œì‹­ì‹œì˜¤."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2793,7 +2812,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "문제를 ë°”ë¡œìž¡ì„ ìˆ˜ 없습니다. ë§ê°€ì§„ ê³ ì • 패키지가 있습니다."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2845,12 +2864,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
"'%2$s' ë“œë¼ì´ë¸Œì— '%1$s'(으)ë¡œ í‘œê¸°ëœ ë””ìŠ¤í¬ë¥¼ 넣고 Enter를 누르십시오."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "'%s' 패키지 ì‹œìŠ¤í…œì„ ì§€ì›í•˜ì§€ 않습니다"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "올바른 패키지 시스템 íƒ€ìž…ì„ ì•Œì•„ë‚¼ 수 없습니다"
@@ -2875,17 +2894,24 @@ msgstr "apt-get update를 실행하면 ì´ ë¬¸ì œë¥¼ ë°”ë¡œìž¡ì„ ìˆ˜ë„ ìžˆìŠµë
msgid "The list of sources could not be read."
msgstr "소스 목ë¡ì„ ì½ì„ 수 없습니다."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "기본 설정 íŒŒì¼ %sì— ìž˜ëª»ëœ ë°ì´í„°ê°€ 있습니다. Package í—¤ë”ê°€ 없습니다"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "í•€ 타입 %sì´(ê°€) 무엇ì¸ì§€ ì´í•´í•  수 없습니다"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "í•€ì— ìš°ì„ ìˆœìœ„(í˜¹ì€ 0)를 지정하지 않았습니다"
@@ -2974,7 +3000,7 @@ msgstr "소스 패키지 ëª©ë¡ %sì˜ ì •ë³´ë¥¼ ì½ì„ 수 없습니다"
msgid "Collecting File Provides"
msgstr "파ì¼ì—ì„œ 제공하는 ê²ƒì„ ëª¨ìœ¼ëŠ” 중입니다"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "소스 ìºì‹œë¥¼ ì €ìž¥í•˜ëŠ”ë° ìž…ì¶œë ¥ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤"
@@ -2987,8 +3013,8 @@ msgstr "ì´ë¦„ 바꾸기가 실패했습니다. %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5Sumì´ ë§žì§€ 않습니다"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "í•´ì‹œ í•©ì´ ë§žì§€ 않습니다"
@@ -3008,20 +3034,19 @@ msgstr "Release íŒŒì¼ %s 파ì¼ì„ 파싱할 수 없습니다"
msgid "There is no public key available for the following key IDs:\n"
msgstr "ë‹¤ìŒ í‚¤ IDì˜ ê³µê°œí‚¤ê°€ 없습니다:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Release 파ì¼ì´ 만료ë˜ì—ˆìŠµë‹ˆë‹¤. %s 무시. (%s ì´í›„ë¡œ 무효)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "ë°°í¬íŒ 충ëŒ: %s (예ìƒê°’ %s, 실제값 %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3031,12 +3056,12 @@ msgstr ""
"ì˜ˆì „ì˜ ì¸ë±ìŠ¤ 파ì¼ì„ 사용합니다. GPG 오류: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "GPG 오류: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3045,7 +3070,7 @@ msgstr ""
"%s íŒ¨í‚¤ì§€ì˜ íŒŒì¼ì„ ì°¾ì„ ìˆ˜ 없습니다. 수ë™ìœ¼ë¡œ ì´ íŒ¨í‚¤ì§€ë¥¼ ê³ ì³ì•¼ í•  ìˆ˜ë„ ìžˆìŠµ"
"니다. (아키í…ì³ê°€ 빠졌기 때문입니다)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3054,14 +3079,14 @@ msgstr ""
"%s íŒ¨í‚¤ì§€ì˜ íŒŒì¼ì„ ì°¾ì„ ìˆ˜ 없습니다. 수ë™ìœ¼ë¡œ ì´ íŒ¨í‚¤ì§€ë¥¼ ê³ ì³ì•¼ í•  ìˆ˜ë„ ìžˆìŠµ"
"니다."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"패키지 ì¸ë±ìŠ¤ 파ì¼ì´ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. %s íŒ¨í‚¤ì§€ì— Filename: 필드가 없습니다."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "í¬ê¸°ê°€ 맞지 않습니다"
@@ -3183,22 +3208,22 @@ msgstr "새 소스 리스트를 쓰는 중입니다\n"
msgid "Source list entries for this disc are:\n"
msgstr "ì´ ë””ìŠ¤í¬ì˜ 소스 리스트 í•­ëª©ì€ ë‹¤ìŒê³¼ 같습니다:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "레코드 %i개를 ì¼ìŠµë‹ˆë‹¤.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "레코드 %i개를 íŒŒì¼ %i개가 빠진 ìƒíƒœë¡œ ì¼ìŠµë‹ˆë‹¤.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "레코드 %i개를 íŒŒì¼ %i개가 맞지 ì•Šì€ ìƒíƒœë¡œ ì¼ìŠµë‹ˆë‹¤\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "레코드 %i개를 íŒŒì¼ %i개가 빠지고 %i개가 맞지 ì•Šì€ ìƒíƒœë¡œ ì¼ìŠµë‹ˆë‹¤\n"
@@ -3218,6 +3243,17 @@ msgstr "다ìŒì˜ ì¸ì¦ 기ë¡ì„ ì°¾ì„ ìˆ˜ 없습니다: %s"
msgid "Hash mismatch for: %s"
msgstr "다ìŒì˜ 해시가 다릅니다: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "%sì— í‚¤ 모ìŒì„ 설치하지 않았습니다."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3466,3 +3502,6 @@ msgstr "ì—°ê²°ì´ ë„ˆë¬´ 빨리 ëŠì–´ì¡ŒìŠµë‹ˆë‹¤"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "내부 오류, '%s' ê·¸ë£¹ì— ì„¤ì¹˜í•  수 있는 패키지가 없습니다."
+
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Release 파ì¼ì´ 만료ë˜ì—ˆìŠµë‹ˆë‹¤. %s 무시. (%s ì´í›„ë¡œ 무효)"
diff --git a/po/ku.po b/po/ku.po
index b66ca081c..7e9e2a020 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-ku\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-05-08 12:48+0200\n"
"Last-Translator: Erdal Ronahi <erdal dot ronahi at gmail dot com>\n"
"Language-Team: ku <ubuntu-l10n-kur@lists.ubuntu.com>\n"
@@ -160,7 +160,7 @@ msgstr " Tabloya guhertoyan:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s ji bo %s %s komkirî di %s %s de\n"
@@ -743,7 +743,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr "%s jixwe guhertoya nûtirîn e.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "lê %s dê were sazkirin"
@@ -855,8 +855,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr ""
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Nikarî cihê vala li %s tesbît bike"
@@ -890,7 +890,7 @@ msgstr "Betal."
msgid "Do you want to continue [Y/n]? "
msgstr "Dixwazî bidomînî [E/n]?"
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Anîna %s %s biserneket\n"
@@ -899,7 +899,7 @@ msgstr "Anîna %s %s biserneket\n"
msgid "Some files failed to download"
msgstr "Daxistina çend pelan biserneket"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr ""
@@ -935,31 +935,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr ""
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr ""
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -975,15 +975,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr ""
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -993,7 +993,7 @@ msgid_plural ""
msgstr[0] "Ev pakêtên NÛ dê werine sazkirin:"
msgstr[1] "Ev pakêtên NÛ dê werine sazkirin:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1001,25 +1001,25 @@ msgid_plural ""
msgstr[0] "Ev pakêtên NÛ dê werine sazkirin:"
msgstr[1] "Ev pakêtên NÛ dê werine sazkirin:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1027,80 +1027,80 @@ msgid ""
"or been moved out of Incoming."
msgstr ""
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Paketên şikestî"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr ""
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Paketên tên pêşniyaz kirin:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Paketên tên tawsiyê kirin:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Nikarî pakêta %s bibîne"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "lê %s dê were sazkirin"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Bilindkirin tê hesibandin..."
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Serneket"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Temam"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Pelrêça daxistinê nayê quflekirin"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr ""
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1108,120 +1108,141 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr ""
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Cihê vala li %s têre nake"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr ""
#. 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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr ""
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Çavkanîna %s bîne\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Anîna çend arşîvan biserneket."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr ""
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
+#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+
+#: cmdline/apt-get.cc:2951
#, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
-#: cmdline/apt-get.cc:2855
+#: cmdline/apt-get.cc:2957
#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr ""
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Girêdan bi %s (%s) re pêk tê"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr ""
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1267,7 +1288,7 @@ msgid ""
" This APT has Super Cow Powers.\n"
msgstr ""
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1563,8 +1584,8 @@ msgstr ""
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1596,7 +1617,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Lîsteya pakêtan tê xwendin"
@@ -1959,35 +1980,29 @@ msgstr ""
msgid "Unable to connect to %s:%s:"
msgstr "Nikare bi %s re girêdan pêk bîne %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Sazkirin tê betalkirin."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr ""
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Di xebitandina gpgv de çewtiya nenas"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
#, fuzzy
msgid "The following signatures were invalid:\n"
msgstr "Ev pakêtên NÛ dê werine sazkirin:"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2144,57 +2159,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Hilbijartina %s nehatiye dîtin"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr ""
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr ""
@@ -2337,7 +2352,7 @@ msgstr ""
msgid "Sub-process %s exited unexpectedly"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Nikarî pelê %s veke"
@@ -2564,14 +2579,14 @@ msgstr ""
msgid "Type '%s' is not known on line %u in source list %s"
msgstr ""
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2579,7 +2594,7 @@ msgid ""
"you really want to do it, activate the APT::Force-LoopBreak option."
msgstr ""
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2607,7 +2622,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
"used instead."
@@ -2655,12 +2670,12 @@ msgstr ""
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Dîsketê siwar bike û piştre bişkoja derbaskirinê bitikîne"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr ""
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@@ -2685,17 +2700,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr ""
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr ""
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr ""
@@ -2784,7 +2806,7 @@ msgstr ""
msgid "Collecting File Provides"
msgstr ""
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr ""
@@ -2797,8 +2819,8 @@ msgstr "nav guherandin biserneket, %s (%s -> %s)"
msgid "MD5Sum mismatch"
msgstr "MD5Sum li hev nayên"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hash Sum li hev nayên"
@@ -2818,20 +2840,19 @@ msgstr "Pakêt nehate dîtin %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr ""
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -2839,32 +2860,32 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package. (due to missing arch)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package."
msgstr ""
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Mezinahî li hev nayên"
@@ -2982,22 +3003,22 @@ msgstr ""
msgid "Source list entries for this disc are:\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i tomar hatin nivîsîn.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3017,6 +3038,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Hash Sum li hev nayên"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Sazkirin tê betalkirin."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/lt.po b/po/lt.po
index 1a8f80fff..bd71f728b 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-08-02 01:47-0400\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -158,7 +158,7 @@ msgstr " Versijų lentelė:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr ""
@@ -805,7 +805,7 @@ msgstr "Pakartotinas %s įdiegimas neįmanomas, jo nepavyksta parsiųsti.\n"
msgid "%s is already the newest version.\n"
msgstr "%s ir taip jau yra naujausias.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s nustatytas kaip įdiegtas rankiniu būdu\n"
@@ -918,8 +918,8 @@ msgstr "Po Å¡ios operacijos bus naudojama %sB papildomos disko vietos.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Po Å¡ios operacijos bus atlaisvinta %sB disko vietos.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Nepavyko nustatyti %s laisvos vietos"
@@ -956,7 +956,7 @@ msgstr "Nutraukti."
msgid "Do you want to continue [Y/n]? "
msgstr "Ar norite tęsti [T/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Nepavyko parsiųsti %s %s\n"
@@ -965,7 +965,7 @@ msgstr "Nepavyko parsiųsti %s %s\n"
msgid "Some files failed to download"
msgstr "Nepavyko parsiųsti kai kurių failų"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Pavyko parsiųsti tik parsiuntimo režime"
@@ -1003,31 +1003,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr ""
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Atnaujinimo komandai argumentų nereikia"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1043,15 +1043,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Ši informacija gali padėti išspręsti šią situaciją:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1061,7 +1061,7 @@ msgid_plural ""
msgstr[0] "Šie paketai buvo automatiškai įdiegti ir daugiau nebėra reikalingi:"
msgstr[1] "Šie paketai buvo automatiškai įdiegti ir daugiau nebėra reikalingi:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1069,19 +1069,19 @@ msgid_plural ""
msgstr[0] "Šie paketai buvo automatiškai įdiegti ir daugiau nebėra reikalingi:"
msgstr[1] "Šie paketai buvo automatiškai įdiegti ir daugiau nebėra reikalingi:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Norėdami juos pašalinti, paleiskite „apt-get autoremove“"
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Jūs galite norėti paleisti 'apt-get -f install\" klaidų taisymui:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1089,7 +1089,7 @@ msgstr ""
"Nepatenkintos priklausomybės. Pabandykite įvykdyti 'apt-get -f install' be "
"nurodytų paketų (arba nurodykite išeitį)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1101,80 +1101,80 @@ msgstr ""
"leidimÄ…, kuomet kai kurie paketai dar nebuvo sukurti arba buvo\n"
"pašalinti iš \"Incoming\" aplanko."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Sugadinti paketai"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Bus įdiegti šie papildomi paketai:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Siūlomi paketai:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Rekomenduojami paketai:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Nepavyko rasti paketo %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s nustatytas kaip įdiegtas rankiniu būdu\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "SkaiÄiuojami atnaujinimai... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Nepavyko"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Įvykdyta"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Vidinė klaida, problemos sprendimas kažką sugadino"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Nepavyko užrakinti parsiuntimų aplanko"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Būtina nurodyti bent vieną paketą, kad parsiųsti jo išeities tekstą"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Nepavyko surasti išeities teksto paketo, skirto %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1182,78 +1182,93 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Praleidžiama jau parsiųsta byla „%s“\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Neturite pakankamai laisvos vietos %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Reikia parsiųsti %sB/%sB išeities archyvų.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Reikia parsiųsti %sB išeities archyvų.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "ParsiunÄiamas archyvas %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Nepavyko gauti kai kurių arhcyvų."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Jau išpakuotas archyvas %s praleidžiama\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Nepavyko įvykdyti išpakavimo komandos „%s“\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Patikrinkite, ar įdiegtas „dpkg-dev“ paketas.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Nepavyko įvykdyti paketo kompiliavimo komandos „%s“\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Klaida procese-palikuonyje"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "Būtina nurodyti bent vieną paketą, kuriam norite įvykdyti builddeps"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Nepavyko gauti kūrimo-priklausomybių informacijos paketui %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"%s priklausomybė %s paketui negali būti patenkinama, nes paketas %s nerastas"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1261,46 +1276,54 @@ msgid ""
msgstr ""
"%s priklausomybė %s paketui negali būti patenkinama, nes paketas %s nerastas"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Nepavyko patenkinti %s priklausomybės %s paketui: Įdiegtas paketas %s yra "
+"per naujas"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s priklausomybė %s paketui negali būti patenkinama, nes nėra tinkamos "
"versijos %s paketo"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Nepavyko patenkinti %s priklausomybės %s paketui: Įdiegtas paketas %s yra "
-"per naujas"
+"%s priklausomybė %s paketui negali būti patenkinama, nes paketas %s nerastas"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Nepavyko patenkinti %s priklausomybÄ—s %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr ""
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Jungiamasi prie %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Palaikomi moduliai:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1346,7 +1369,7 @@ msgid ""
" This APT has Super Cow Powers.\n"
msgstr ""
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1659,8 +1682,8 @@ msgstr ""
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1692,7 +1715,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Skaitomi paketų sąrašai"
@@ -2053,34 +2076,28 @@ msgstr ""
msgid "Unable to connect to %s:%s:"
msgstr "Nepavyko prisijungti prie %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Diegimas nutraukiamas."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr ""
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Nežinoma klaida kvieÄiant gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Šie parašai buvo nevalidūs:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2236,57 +2253,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr ""
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr ""
@@ -2429,7 +2446,7 @@ msgstr "Procesas %s grąžino klaidos kodą (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Procesas %s netikėtai išėjo"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Nepavyko atverti failo %s"
@@ -2656,14 +2673,14 @@ msgstr ""
msgid "Type '%s' is not known on line %u in source list %s"
msgstr ""
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2671,7 +2688,7 @@ msgid ""
"you really want to do it, activate the APT::Force-LoopBreak option."
msgstr ""
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2699,7 +2716,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2750,12 +2767,12 @@ msgstr ""
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Įdėkite diską „%s“ į įrenginį „%s“ ir paspauskite Enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr ""
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@@ -2782,17 +2799,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "Nepavyko perskaityti šaltinių sąrašo."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr ""
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr ""
@@ -2881,7 +2905,7 @@ msgstr ""
msgid "Collecting File Provides"
msgstr ""
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr ""
@@ -2894,8 +2918,8 @@ msgstr ""
msgid "MD5Sum mismatch"
msgstr "MD5 sumos neatitikimas"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Maišos sumos nesutapimas"
@@ -2915,20 +2939,19 @@ msgstr "Nepavyko atverti DB failo %s: %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr ""
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -2936,32 +2959,32 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "GPG klaida: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package. (due to missing arch)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package."
msgstr ""
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Neatitinka dydžiai"
@@ -3079,22 +3102,22 @@ msgstr "Rašomas naujas šaltinių sąrašas\n"
msgid "Source list entries for this disc are:\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3114,6 +3137,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Maišos sumos nesutapimas"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Diegimas nutraukiamas."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/mr.po b/po/mr.po
index ef1433589..682aed942 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-11-20 23:27+0530\n"
"Last-Translator: Sampada <sampadanakhare@gmail.com>\n"
"Language-Team: Marathi, janabhaaratii, C-DAC, Mumbai, India "
@@ -155,7 +155,7 @@ msgstr "आवृतà¥à¤¤à¥€ कोषà¥à¤Ÿà¤•:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s हे %s करिता %s %s वर संगà¥à¤°à¤¹à¤¿à¤¤\n"
@@ -831,7 +831,7 @@ msgstr "%s चे पà¥à¤¨à¤°à¥à¤¸à¤‚सà¥à¤¥à¤¾à¤ªà¤¨ शकà¥à¤¯ नाह
msgid "%s is already the newest version.\n"
msgstr "%s ही आधीच नविन आवृतà¥à¤¤à¥€ आहे.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करायचे आहे.\n"
@@ -943,8 +943,8 @@ msgstr "या कà¥à¤°à¤¿à¤¯à¥‡à¤¨à¤‚तर, %sB à¤à¤µà¤¢à¥€ अधिक ड
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "या कà¥à¤°à¤¿à¤¯à¥‡à¤¨à¤‚तर, %sB डिसà¥à¤• जागा मोकळी होईल.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "%s मधà¥à¤¯à¥‡ रिकामी जागा सांगू शकत नाही"
@@ -981,7 +981,7 @@ msgstr "वà¥à¤¯à¤¤à¥à¤¯à¤¯/बंद करा."
msgid "Do you want to continue [Y/n]? "
msgstr "तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ पà¥à¤¢à¥‡ जायचे आहे [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "%s %s आणणे असफल\n"
@@ -990,7 +990,7 @@ msgstr "%s %s आणणे असफल\n"
msgid "Some files failed to download"
msgstr "काही संचिका डाऊनलोड करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "डाऊनलोड संपूरà¥à¤£ आणि डाऊनलोड मधà¥à¤¯à¥‡ फकà¥à¤¤ पदà¥à¤§à¤¤à¥€"
@@ -1029,31 +1029,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "%s उगम पॅकेज यादी सà¥à¤°à¥‚ करता येत नाही"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "सà¥à¤§à¤¾à¤°à¤¿à¤¤ आवृतà¥à¤¤à¥€à¤šà¤¾ विधान आरà¥à¤—à¥à¤¯à¥à¤®à¥‡à¤‚टस घेऊ शकत नाही."
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "आपण या गोषà¥à¤Ÿà¥€ काढून टाकता नये, ऑटोरिमूवà¥à¤¹à¤° सà¥à¤°à¥‚ करता येत नाही"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1071,15 +1071,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "खालील माहिती परिसà¥à¤¥à¤¿à¤¤à¥€ निवळणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ मदत ठरू शकेल:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "अंतरà¥à¤—त तà¥à¤°à¥à¤Ÿà¥€, AutoRemoverने सà¥à¤Ÿà¤«à¤²à¤¾ तोडले"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1089,7 +1089,7 @@ msgid_plural ""
msgstr[0] "खालील नवीन पॅकेजेस सà¥à¤µà¤¯à¤‚चलितपणे संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¾à¤²à¥€ होती व आता आवशà¥à¤¯à¤• नाहीत:"
msgstr[1] "खालील नवीन पॅकेजेस सà¥à¤µà¤¯à¤‚चलितपणे संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¾à¤²à¥€ होती व आता आवशà¥à¤¯à¤• नाहीत:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1097,21 +1097,21 @@ msgid_plural ""
msgstr[0] "खालील नवीन पॅकेजेस सà¥à¤µà¤¯à¤‚चलितपणे संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¾à¤²à¥€ होती व आता आवशà¥à¤¯à¤• नाहीत:"
msgstr[1] "खालील नवीन पॅकेजेस सà¥à¤µà¤¯à¤‚चलितपणे संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¾à¤²à¥€ होती व आता आवशà¥à¤¯à¤• नाहीत:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "ती काढून टाकणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ 'apt-get autoremove' वापरा."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "अंतरà¥à¤—त तà¥à¤°à¥à¤Ÿà¥€,ऑलअपगà¥à¤°à¥‡à¤¡à¤¨à¥‡ सà¥à¤Ÿà¤«à¤²à¤¾ तोडले"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ कदाचित 'apt-get -f install'(à¤à¤ªà¥€à¤Ÿà¥€-गेट -à¤à¤« संसà¥à¤¥à¤¾à¤ªà¤¨') पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤® चालू करावा "
"लागेल'यात बदल करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1119,7 +1119,7 @@ msgstr ""
"अनमेट डिपेंडनà¥à¤¸à¥€à¤œ.à¤à¤ªà¥€à¤Ÿà¥€-गेट -à¤à¤« संसà¥à¤¥à¤¾à¤ªà¤¨ ('apt-get -f install') पॅकेजशिवाय पà¥à¤°à¤¯à¤¤à¥à¤¨ करा "
"(किंवा परà¥à¤¯à¤¾à¤¯ सांगा)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1131,80 +1131,80 @@ msgstr ""
"विभागणी असणारी पण हवी असणारी, तयार केली नसलेली पॅकेजेस वापरत असाल \n"
"किंवा ती येणाऱà¥à¤¯à¤¾à¤‚पैकी बाहेर हलविली असतील."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "तà¥à¤Ÿà¤²à¥‡à¤²à¥€ पॅकेजेस"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "खालील अतिरिकà¥à¤¤ पॅकेजेस संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ होतील:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "सà¥à¤šà¤µà¤²à¥‡à¤²à¥€ पॅकेजेस:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "शिफारस केलेली पॅकेजेस:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "%s पॅकेज सापडू शकले नाही"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करायचे आहे.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "पà¥à¤¢à¤¿à¤² आवृतà¥à¤¤à¥€à¤šà¥€ गणती करीत आहे..."
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "असमरà¥à¤¥"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "à¤à¤¾à¤²à¥‡"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "अंतरà¥à¤—त तà¥à¤°à¥à¤Ÿà¥€, अडचण निवारकाने सà¥à¤Ÿà¤«à¤²à¤¾ तोडले"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "डाऊनलोड डिरेकà¥à¤Ÿà¤°à¥€ कà¥à¤²à¥‚पबंद करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "उगम शोधणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ किमान à¤à¤• पॅकेज देणे/सांगणे गरजेचे आहे"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "%s उगम पॅकेज शोधणे शकà¥à¤¯ नाही/शोधणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥ आहे"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1212,122 +1212,143 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "आधीच डाऊनलोड केलेली '%s' फाईल सोडून दà¥à¤¯à¤¾\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "%s मधà¥à¤¯à¥‡ पà¥à¤°à¥‡à¤¶à¥€ जागा नाही"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "उगम अरà¥à¤•à¤¾à¤ˆà¤µà¥à¤¹à¤œ चा %sB/%sB घेणà¥à¤¯à¤¾à¤šà¥€ गरज आहे.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "उगम अरà¥à¤•à¤¾à¤ˆà¤µà¥à¤¹à¤œà¤šà¤¾ %sB घेणà¥à¤¯à¤¾à¤šà¥€ गरज आहे.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "%s उगम घà¥à¤¯à¤¾\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "काही अरà¥à¤•à¤¾à¤ˆà¤µà¥à¤¹à¤œ आणणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "%s मधà¥à¤¯à¥‡ आधीच उघडलेलà¥à¤¯à¤¾ उगमातील उघडलेलà¥à¤¯à¤¾à¤²à¤¾ सोडून दà¥à¤¯à¤¾ किंवा वगळा\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "'%s' आजà¥à¤žà¤¾ सà¥à¤Ÿà¥à¤¯à¤¾ करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "'dpkg-dev' पॅकेज संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ केले आहे का ते पडताळून पहा.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "बांधणी करणाऱà¥à¤¯à¤¾ आजà¥à¤žà¤¾ '%s' अयशसà¥à¤µà¥€.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "चाईलà¥à¤¡ पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ अयशसà¥à¤µà¥€"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "बिलà¥à¤¡à¥‡à¤ªà¤¸à¥ कशासाठी ते पडताळणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ किमान à¤à¤• पॅकेज सांगणे गरजेचे आहे"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "%s साठी बांधणी डिपेंडनà¥à¤¸à¥€ माहिती मिळवणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s ला बांधणी डिपेंडनà¥à¤¸ नाहीत.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "%s पॅकेज न सापडलà¥à¤¯à¤¾à¤¨à¥‡ %s साठी %s डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होऊ शकत नाही"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "%s पॅकेज न सापडलà¥à¤¯à¤¾à¤¨à¥‡ %s साठी %s डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होऊ शकत नाही"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr "%s अवलंबितà¥à¤µ %s साठी पूरà¥à¤£ होणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥: संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ पॅकेज %s खूपच नवीन आहे"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"आवृतीची मागणी पूरà¥à¤£ करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ %s पॅकेजची आवृतà¥à¤¤à¥€ उपलबà¥à¤§ नाही,तà¥à¤¯à¤¾à¤®à¥à¤³à¥‡ %s साठी %s "
"डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होऊ शकत नाही"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr "%s अवलंबितà¥à¤µ %s साठी पूरà¥à¤£ होणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥: संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ पॅकेज %s खूपच नवीन आहे"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "%s पॅकेज न सापडलà¥à¤¯à¤¾à¤¨à¥‡ %s साठी %s डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होऊ शकत नाही"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "%s साठी %s डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "%s साठी बांधणी-डिपेंडनà¥à¤¸à¥€à¤œ पूरà¥à¤£ होऊ शकत नाही."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "बांधणी-डिपेंडनà¥à¤¸à¥€à¤œ कà¥à¤°à¤¿à¤¯à¤¾ पूरà¥à¤£ करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥ "
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "%s (%s) ला जोडत आहे"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤® गटाला तांतà¥à¤°à¤¿à¤• मदत दिली:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1414,7 +1435,7 @@ msgstr ""
" apt.conf(5) पà¥à¤¸à¥à¤¤à¤¿à¤•à¤¾ पाने पहा.\n"
" हà¥à¤¯à¤¾ APT ला सà¥à¤ªà¤° काऊ पॉवरà¥à¤¸ आहेत\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1724,8 +1745,8 @@ msgstr "File %s/%s, %s पॅकेज मधलà¥à¤¯à¤¾ à¤à¤•à¤¾ वर पà¥
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1757,7 +1778,7 @@ msgstr "info आणि temp संचिका सारखà¥à¤¯à¤¾à¤š फाà¤
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "पॅकेज यादà¥à¤¯à¤¾ वाचत आहोत"
@@ -2124,36 +2145,30 @@ msgstr "%s:%s' (%i) रिà¤à¥‰à¤²à¥à¤µà¥à¤¹ होत असताना क
msgid "Unable to connect to %s:%s:"
msgstr "%s %s ला जोडणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "संसà¥à¤¥à¤¾à¤ªà¤¨ खंडित करत आहे."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "अंतरà¥à¤—त तà¥à¤°à¥à¤Ÿà¥€: चांगली सही, पण की ठसे सांगू शकत नाही?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "किमान à¤à¤• अवैध सही सापडली."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"सहीची खातà¥à¤°à¥€ करणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ '%s' कारà¥à¤¯à¤¾à¤¨à¥à¤µà¤¿à¤¤ करू शकत नाही (gpgv संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ केले आहे का?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "gpgv कारà¥à¤¯à¤¾à¤¨à¥à¤µà¤¿à¤¤ होत असताना अपरिचित तà¥à¤°à¥à¤Ÿà¥€"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "खालील सहà¥à¤¯à¤¾ अवैध आहेत:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2308,57 +2323,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "%s निवडक भाग सापडत नाही"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "संकà¥à¤·à¤¿à¤ªà¥à¤¤à¤°à¥à¤ªà¤¾à¤šà¤¾ माहित नसलेला पà¥à¤°à¤•à¤¾à¤°: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "%s संरचना फाईल उघडत आहे"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: बà¥à¤²à¥‰à¤• नावाशिवाय सà¥à¤°à¥‚ होतो."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष : %s:%u: मालफॉरà¥à¤®à¤¡à¥ टॅग"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: मà¥à¤²à¥à¤¯à¤¾à¤‚चà¥à¤¯à¤¾ नंतर अधिक जंक"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: दिशादरà¥à¤¶à¤• फकà¥à¤¤ उचà¥à¤š पातळीवर केले जाऊ शकतात"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: खूपच à¤à¤•à¤¾à¤¤ à¤à¤• इनकà¥à¤²à¥‚डसà¥"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: हà¥à¤¯à¤¾ पासून समाविषà¥à¤Ÿ "
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "नियम रचनेचा दोष %s:%u: '%s' दिशादरà¥à¤¶à¤• असहायà¥à¤¯à¤•à¤¾à¤°à¥€"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: दिशादरà¥à¤¶à¤• फकà¥à¤¤ उचà¥à¤š पातळीवर केले जाऊ शकतात"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "नियम रचनेचा दोष %s:%u: फाईलचà¥à¤¯à¤¾ अंती अधिक जंक"
@@ -2501,7 +2516,7 @@ msgstr "%s उपकà¥à¤°à¤¿à¤¯à¥‡à¤¨à¥‡ (%u) तà¥à¤°à¥à¤Ÿà¥€ कोड दà
msgid "Sub-process %s exited unexpectedly"
msgstr "%s उपकà¥à¤°à¤¿à¤¯à¤¾ अचानकपणे बाहेर पडली"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "%s फाईल उघडता येत नाही"
@@ -2728,14 +2743,14 @@ msgstr "सà¥à¤¤à¥à¤°à¥‹à¤¤ सà¥à¤šà¥€ %s (पà¥à¤°à¤•à¤¾à¤°) मधà¥à¤¯à
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "%s सà¥à¤¤à¥à¤°à¥‹à¤¤ सà¥à¤šà¥€à¤®à¤§à¥à¤¯à¥‡ %u रेषेवर '%s' पà¥à¤°à¤•à¤¾à¤° माहित नाही "
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2746,7 +2761,7 @@ msgstr ""
"गà¥à¤‚तागà¥à¤‚तीमà¥à¤³à¥‡/Pre-Depends पूरà¥à¤µ अवलंबित आवरà¥à¤¤à¤¨.हे नेहमीच वाईट असते, पण जर तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ ते खरोखर "
"करावयाचे असेल तर,APT::Force-LoopBreak परà¥à¤¯à¤¾à¤¯ कारà¥à¤¯à¤¾à¤¨à¥à¤µà¤¿à¤¤ करा."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2777,7 +2792,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "अडचणी दूर करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥, तà¥à¤®à¥à¤¹à¥€ तà¥à¤Ÿà¤²à¥‡à¤²à¥‡ पॅकेज घेतलेले आहे."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2828,12 +2843,12 @@ msgstr "%s कारà¥à¤¯à¤ªà¤§à¥à¤¦à¤¤à¥€ योगà¥à¤¯ रीतीने
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "कृपया '%s' लेबल असलेली डिसà¥à¤• '%s' या डà¥à¤°à¤¾à¤‡à¤µà¥à¤¹à¤®à¤§à¥à¤¯à¥‡ ठेवा आणि à¤à¤¨à¥à¤Ÿà¤° कळ दाबा."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "'%s' पॅकेजींग पà¥à¤°à¤£à¤¾à¤²à¥€ सहायà¥à¤¯à¤•à¤¾à¤°à¥€ नाही"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "योगà¥à¤¯ असा पॅकेजिंग पà¥à¤°à¤£à¤¾à¤²à¥€ पà¥à¤°à¤•à¤¾à¤° निशà¥à¤šà¤¿à¤¤ करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥ "
@@ -2858,17 +2873,24 @@ msgstr "तà¥à¤®à¥à¤¹à¥€ हà¥à¤¯à¤¾ समसà¥à¤¯à¤¾à¤‚चे निवा
msgid "The list of sources could not be read."
msgstr "उगमांचà¥à¤¯à¤¾ यादà¥à¤¯à¤¾ वाचता येणार नाहीत."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "पसंतीचà¥à¤¯à¤¾ संचिकेत अवैध माहितीसंच, पॅकेजला शीरà¥à¤·à¤• नाही "
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "%s पिनचा पà¥à¤°à¤•à¤¾à¤° समजलेला नाही"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "पिन करिता पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯/अगà¥à¤°à¤•à¥à¤°à¤® (किंवा शूनà¥à¤¯)निरà¥à¤¦à¥‡à¤¶à¥€à¤¤ केलेला नाही"
@@ -2962,7 +2984,7 @@ msgstr "%s उगम पॅकेज यादी सà¥à¤°à¥‚ करता यà
msgid "Collecting File Provides"
msgstr "तरतूद/पà¥à¤°à¤µà¤²à¥‡à¤²à¥à¤¯à¤¾ संचिका संगà¥à¤°à¤¹à¤¿à¤¤ करीत आहे"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "IO तà¥à¤°à¥à¤Ÿà¥€ उगम निवडक संचयसà¥à¤¥à¤¾à¤¨à¤¾à¤¤ संगà¥à¤°à¤¹à¤¿à¤¤ होत आहे"
@@ -2975,8 +2997,8 @@ msgstr "पà¥à¤¨à¤°à¥à¤¨à¤¾à¤®à¤¾à¤‚कन अयशसà¥à¤µà¥€, %s (%s -> %s
msgid "MD5Sum mismatch"
msgstr "à¤à¤®à¤¡à¥€à¥« बेरीज/MD5Sum जà¥à¤³à¤¤ नाही"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "हॅश बेरीज जà¥à¤³à¤¤ नाही"
@@ -2996,20 +3018,19 @@ msgstr "%s (1) पॅकेज फाईल पारà¥à¤¸ करणà¥à¤¯à¤¾à¤
msgid "There is no public key available for the following key IDs:\n"
msgstr "पà¥à¤¢à¥€à¤² कळ ओळखचिनà¥à¤¹à¤¾à¤‚साठी सारà¥à¤µà¤œà¤¨à¤¿à¤• कळ उपलबà¥à¤§ नाही:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3017,12 +3038,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3031,7 +3052,7 @@ msgstr ""
"मी %s पॅकेजकरीता संचिका शोधणà¥à¤¯à¤¾à¤¸ समरà¥à¤¥ नवà¥à¤¹à¤¤à¥‹. याचा अरà¥à¤¥ असाकी तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ हे पॅकेज सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ "
"सà¥à¤¥à¤¿à¤°/निशà¥à¤šà¤¿à¤¤ करणà¥à¤¯à¤¾à¤šà¥€ गरज आहे(हरवलेलà¥à¤¯à¤¾ आरà¥à¤šà¤®à¥à¤³à¥‡) "
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3040,7 +3061,7 @@ msgstr ""
"मी %s पॅकेजकरीता संचिका शोधणà¥à¤¯à¤¾à¤¸ समरà¥à¤¥ नवà¥à¤¹à¤¤à¥‹. याचा अरà¥à¤¥ असाकी तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾à¤¹à¥‡ पॅकेज सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ "
"सà¥à¤¥à¤¿à¤°/निशà¥à¤šà¤¿à¤¤ करणà¥à¤¯à¤¾à¤šà¥€ गरज आहे."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3048,7 +3069,7 @@ msgstr ""
"पॅकेज यादीची/सà¥à¤šà¥€à¤šà¥€ संचिका दूषित/खराब à¤à¤¾à¤²à¥‡à¤²à¥€ आहे. संचिका नाव नाही: पॅकेजकरीता कà¥à¤·à¥‡à¤¤à¥à¤°/"
"ठिकाण %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "आकार जà¥à¤³à¤¤à¤¨à¤¾à¤¹à¥€"
@@ -3170,22 +3191,22 @@ msgstr "नविन सà¥à¤¤à¥à¤°à¥‹à¤¤ सूची लिहित आहà¥
msgid "Source list entries for this disc are:\n"
msgstr "हà¥à¤¯à¤¾ डिसà¥à¤•/चकती करिता सà¥à¤¤à¥à¤°à¥‹à¤¤ सूचीचà¥à¤¯à¤¾ पà¥à¤°à¤µà¥‡à¤¶à¤¿à¤•à¤¾ आहेत: \n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i माहितीसंच लिहिले.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i गहाळ संचिकाबरोबर %i माहिती संच लिहिले.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i विजोड संचिकांबरोबर %i माहिती संच लिहिले\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "%i गहाळ संचिकाबरोबर आणि %i विजोड संचिकाबरोबर %i माहिती संच लिहिले\n"
@@ -3205,6 +3226,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "हॅश बेरीज जà¥à¤³à¤¤ नाही"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "संसà¥à¤¥à¤¾à¤ªà¤¨ खंडित करत आहे."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/nb.po b/po/nb.po
index 4ead39143..fb812119e 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-09-01 21:10+0200\n"
"Last-Translator: Hans Fredrik Nordhaug <hans@nordhaug.priv.no>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
@@ -160,7 +160,7 @@ msgstr " Versjonstabell:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s for %s kompilert på %s %s\n"
@@ -840,7 +840,7 @@ msgstr "Det er ikke mulig å installere %s på nytt - den kan ikke nedlastes.\n"
msgid "%s is already the newest version.\n"
msgstr "%s er allerede nyeste versjon.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s satt til manuell installasjon.\n"
@@ -954,8 +954,8 @@ msgstr "Etter denne operasjonen vil %sB ekstra diskplass bli brukt.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Etter denne operasjonen vil %sB diskplass bli ledig.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Klarte ikke bestemme ledig plass i %s"
@@ -993,7 +993,7 @@ msgstr "Avbryter."
msgid "Do you want to continue [Y/n]? "
msgstr "Vil du fortsette [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Klarte ikke å skaffe %s %s\n"
@@ -1002,7 +1002,7 @@ msgstr "Klarte ikke å skaffe %s %s\n"
msgid "Some files failed to download"
msgstr "Klarte ikke laste ned alle filene"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Nedlasting fullført med innstillinga «bare nedlasting»"
@@ -1044,31 +1044,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Merk: Dette er gjort automatisk og med hensikt av dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignorer utilgjengelig målutgave «%s» av pakke «%s»"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Velger «%s» som kildepakke istedenfor «%s»\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignorer utilgjengelig versjon «%s» av pakke «%s»"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Oppdaterings-kommandoen tar ingen argumenter"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Vi skal ikke slette ting, kan ikke starte auto-fjerner (AutoRemover)"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1086,15 +1086,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Følgende informasjon kan være til hjelp med å løse problemet:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Intern feil, autofjerneren (AutoRemover) ødela noe"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1105,7 +1105,7 @@ msgstr[0] ""
msgstr[1] ""
"Følgende pakker ble automatisk installert og er ikke lenger påkrevet:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1113,19 +1113,19 @@ msgid_plural ""
msgstr[0] "%lu pakke ble automatisk installert og er ikke lenger påkrevet.\n"
msgstr[1] "%lu pakker ble automatisk installert og er ikke lenger påkrevet.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Bruk «apt-get autoremove» for å fjerne dem."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Intern feil - «AllUpgrade» ødela noe"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Du vil kanskje utføre «apt-get -f install» for å rette på disse:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1133,7 +1133,7 @@ msgstr ""
"Uinnfridde avhengighetsforhold. Prøv «apt-get -f install» uten pakker (eller "
"angi en løsning)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1145,73 +1145,73 @@ msgstr ""
"at visse kjernepakker ennå ikke er laget eller flyttet ut av «Incoming» for\n"
"distribusjonen."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Ødelagte pakker"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Følgende ekstra pakker vil bli installert."
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Foreslåtte pakker:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Anbefalte pakker"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Klarte ikke å finne pakken %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s satt til automatisk installasjon.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Beregner oppgradering... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Mislyktes"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Utført"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Intern feil, problemløser ødela noe"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Klarer ikke å låse nedlastingsmappa"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Du må angi minst en pakke du vil ha kildekoden til"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Klarer ikke å finne en kildekodepakke for %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1220,7 +1220,7 @@ msgstr ""
"MERK: «%s»-pakker blir vedlikeholdt i versjonskontrollsystemet «%s» på:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1231,124 +1231,145 @@ msgstr ""
"bzr get %s\n"
"for å hente siste (muligens ikke utgitte) oppdateringer for pakken.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Hopper over allerede nedlastet fil «%s»\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Du har ikke nok ledig plass i %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Trenger å skaffe %sB av %sB fra kildekodearkivet.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Trenger å skaffe %sB fra kildekodearkivet.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Skaffer kildekode %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Klarte ikke å skaffe alle arkivene."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Omgår utpakking av allerede utpakket kilde i %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Utpakkingskommandoen «%s» mislyktes.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Sjekk om pakken «dpkg-dev» er installert.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Byggekommandoen «%s» mislyktes.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Barneprosessen mislyktes"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "Du må angi minst en pakke du vil sjekke «builddeps» for"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Klarer ikke å skaffe informasjon om bygge-avhengighetene for %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s har ingen avhengigheter.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "Kravet %s for %s kan ikke oppfylles fordi pakken %s ikke finnes"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "Kravet %s for %s kan ikke oppfylles fordi pakken %s ikke finnes"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Klarte ikke å tilfredsstille %s avhengighet for %s: den installerte pakken "
+"%s er for ny"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"Kravet %s for %s kan ikke oppfylles fordi det ikke finnes noen tilgjengelige "
"versjoner av pakken %s som oppfyller versjonskravene"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr ""
-"Klarte ikke å tilfredsstille %s avhengighet for %s: den installerte pakken "
-"%s er for ny"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "Kravet %s for %s kan ikke oppfylles fordi pakken %s ikke finnes"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Klarte ikke å tilfredsstille %s avhengighet for %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Klarte ikke å tilfredstille bygg-avhengighetene for %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Klarte ikke å behandle forutsetningene for bygging"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Kobler til %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Støttede moduler:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1437,7 +1458,7 @@ msgstr ""
"for mer informasjon og flere valg.\n"
" Denne APT har kraften til en Superku.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1750,8 +1771,8 @@ msgstr "Fila %s/%s skriver over den tilsvarende fila i pakken %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1784,7 +1805,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Leser pakkelister"
@@ -2156,35 +2177,29 @@ msgstr "Noe galt skjedde ved oppslag av «%s:%s» (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Klarte ikke koble til %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Ingen nøkkelring installert i %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "Intern feil: God signatur, men kunne bestemme nøkkelfingeravtrykk?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Minst en ugyldig signatur ble funnet."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Klarte ikke kjøre «gpgv» for å verifisere signaturen (er gpgv installert?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Ukjent feil ved kjøring av gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "De følgende signaturene var ugyldige:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2345,57 +2360,57 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Fant ikke utvalget %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Ukjent typeforkortelse: «%c»"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Ã…pner oppsettsfila %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaksfeil %s:%u: Blokka starter uten navn."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaksfeil %s:%u: Feil på taggen"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaksfeil %s:%u: Ugyldige angivelser etter verdien"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Syntaksfeil %s:%u: Direktivene kan bare ligge i det øverste nivået"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaksfeil %s:%u: For mange nøstede inkluderte filer"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaksfeil %s:%u: Inkludert herfra"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaksfeil %s:%u: Direktivet «%s» er ikke støttet"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "Syntaksfeil %s:%u: clear-direktivet krever et valgtre som argument"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaksfeil %s:%u: Ugyldige angivelser på slutten av fila"
@@ -2538,7 +2553,7 @@ msgstr "Underprosessen %s ga en feilkode (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Underprosessen %s avsluttet uventet"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Klarte ikke åpne fila %s"
@@ -2765,7 +2780,7 @@ msgstr "Feil på %u i kildelista %s (type)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Typen «%s» er ukjent i linje %u i kildelista %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2774,7 +2789,7 @@ msgstr ""
"Klarte ikke gjennomføre umiddelbar konfigurasjon av «%s». Se man 5 apt.conf "
"under APT::Immediate-Configure for detaljer. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2785,7 +2800,7 @@ msgstr ""
"%s pga. en konflikt/forutsettelses-løkke. Dette er ofte stygt, men hvis du "
"virkelig vil det, så bruk innstillingen APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2818,7 +2833,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Klarer ikke å rette problemene, noen ødelagte pakker er holdt tilbake."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2869,12 +2884,12 @@ msgstr "Metoden %s startet ikke korrekt"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Sett inn disken merket «%s» i lagringsenheten «%s» og trykk Enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Pakkesystemet «%s» støttes ikke"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Klarer ikke bestemme en passende pakkesystemtype"
@@ -2901,17 +2916,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "Kan ikke lese kildlista."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Ugyldig oppslag i foretrekksfila %s, manglende pakkehode"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Forsto ikke spikring av typen %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Ingen prioritet (eller null) spesifisert for pin"
@@ -3000,7 +3022,7 @@ msgstr "Klarte ikke finne informasjon om %s - lista over kildekodepakker"
msgid "Collecting File Provides"
msgstr "Samler inn filtilbud"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "IO-feil ved lagring av kildekode-lager"
@@ -3013,8 +3035,8 @@ msgstr "klarte ikke å endre navnet, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Feil MD5sum"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hashsummen stemmer ikke"
@@ -3035,20 +3057,19 @@ msgid "There is no public key available for the following key IDs:\n"
msgstr ""
"Det er ingen offentlig nøkkel tilgjengelig for de følgende nøkkel-ID-ene:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Utgavefil har utgått, ignorerer %s (ugyldg siden %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Konflikt mellom distribusjoner: %s (forventet %s men fant %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3058,12 +3079,12 @@ msgstr ""
"forrige indeksfilen vil bli brukt. GPG-feil: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "GPG-feil: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3072,7 +3093,7 @@ msgstr ""
"Klarte ikke å finne en fil for pakken %s. Det kan bety at du må ordne pakken "
"selv (fordi arkitekturen mangler)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3081,13 +3102,13 @@ msgstr ""
"Klarte ikke å finne en fil for pakken %s. Det kan bety at du må ordne denne "
"pakken selv."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "Oversiktsfilene er ødelagte. Feltet «Filename:» mangler for pakken %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Feil størrelse"
@@ -3211,22 +3232,22 @@ msgstr "Skriver ny kildeliste\n"
msgid "Source list entries for this disc are:\n"
msgstr "Kildelisteoppføringer for denne CD-en er:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Skrev %i poster.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Skrev %i poster med %i manglende filer.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Skrev %i poster med %i feile filer.\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Skrev %i poster med %i manglende filer og %i feile filer.\n"
@@ -3246,6 +3267,17 @@ msgstr "Klarte ikke finne autentiseringsoppføring for: %s"
msgid "Hash mismatch for: %s"
msgstr "Hashsummen stemmer ikke for: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Ingen nøkkelring installert i %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3500,6 +3532,9 @@ msgstr "Forbindelsen ble uventet stengt"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Intern feil, gruppe «%s» har ingen installerbar pseudo-pakke"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Utgavefil har utgått, ignorerer %s (ugyldg siden %s)"
+
#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
#~ msgstr "E: Argumentliste fra Acquire::gpgv::Options for lang. Avbryter."
diff --git a/po/ne.po b/po/ne.po
index 0f6e4dff8..2b0dc63a0 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2006-06-12 14:35+0545\n"
"Last-Translator: Shiva Pokharel <pokharelshiva@hotmail.com>\n"
"Language-Team: Nepali <info@mpp.org.np>\n"
@@ -158,7 +158,7 @@ msgstr " संसà¥à¤•à¤°à¤£ तालिका:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s को लागि %s %s, %s %s मा कमà¥à¤ªà¤¾à¤à¤² गरिà¤à¤•à¥‹ छ\n"
@@ -834,7 +834,7 @@ msgstr " %s को पà¥à¤¨: सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ समà¥à¤­à¤µ छैन, à
msgid "%s is already the newest version.\n"
msgstr "%s पहिलà¥à¤¯à¥ˆ नयाठसंसà¥à¤•à¤°à¤£ हो ।\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "तर %s सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥à¤ªà¤°à¥à¤¯à¥‹"
@@ -946,8 +946,8 @@ msgstr "अनपà¥à¤¯à¤¾à¤• गरिसके पछि थप डिसà¥à¤
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "%sB अनपà¥à¤¯à¤¾à¤• गरिसके पछि डिसà¥à¤• खाली ठाउठखाली हà¥à¤¨à¥‡à¤› ।\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr " %s मा खाली ठाऊठनिरà¥à¤§à¤¾à¤°à¤£ गरà¥à¤¨ सकिà¤à¤¨"
@@ -984,7 +984,7 @@ msgstr "परितà¥à¤¯à¤¾à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।"
msgid "Do you want to continue [Y/n]? "
msgstr "के तपाईठनिरनà¥à¤¤à¤°à¤¤à¤¾ दिन चाहनà¥à¤¹à¥à¤¨à¥à¤› [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "%s %s तानà¥à¤¨ असफल भयो\n"
@@ -993,7 +993,7 @@ msgstr "%s %s तानà¥à¤¨ असफल भयो\n"
msgid "Some files failed to download"
msgstr "केही फाइलहरू डाउनलोड गरà¥à¤¨ असफल भयो"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "डाउनलोड समापà¥à¤¤ भयो र डाउनलोडमा मोड मातà¥à¤°à¥ˆ छ"
@@ -1031,31 +1031,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "सà¥à¤°à¥‹à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ सूची %s सà¥à¤¥à¤¿à¤° गरà¥à¤¨ सकिà¤à¤¨ "
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• आदेशले कà¥à¤¨à¥ˆ तरà¥à¤•à¤¹à¤°à¥‚ लिदैन"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1071,16 +1071,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "निमà¥à¤¨ सूचनाले अवसà¥à¤¥à¤¾à¤²à¤¾à¤ˆ हल गरà¥à¤¨ मदà¥à¤¦à¤¤ गरà¥à¤¨à¥‡à¤›: "
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "आनà¥à¤¤à¤°à¤¿à¤• तà¥à¤°à¥à¤Ÿà¤¿,समसà¥à¤¯à¤¾ हलकरà¥à¤¤à¤¾à¤²à¥‡ उतà¥à¤¤à¤® गà¥à¤£ भाà¤à¤šà¥à¤¯à¥‹ "
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1090,7 +1090,7 @@ msgid_plural ""
msgstr[0] "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:"
msgstr[1] "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1098,19 +1098,19 @@ msgid_plural ""
msgstr[0] "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:"
msgstr[1] "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "आनà¥à¤¤à¤°à¤¿à¤• तà¥à¤°à¥à¤Ÿà¤¿,सबै सà¥à¤¤à¤°à¤µà¥ƒà¤¦à¥à¤§à¤¿à¤²à¥‡ उतà¥à¤¤à¤® गà¥à¤£ नषà¥à¤Ÿ गरà¥à¤¦à¤›"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "तपाईठयसलाई सà¥à¤§à¤¾à¤° गरà¥à¤¨ 'apt-get -f install' चलाउन चाहनà¥à¤¹à¥à¤¨à¥à¤›:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1118,7 +1118,7 @@ msgstr ""
"नभेटिà¤à¤•à¤¾ निरà¥à¤­à¤°à¤¤à¤¾à¤¹à¤°à¥‚ । पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ बिना 'apt-get -f install' पà¥à¤°à¤¯à¤¾à¤¸ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ( वा "
"समाधान निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥) ।"
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1131,80 +1131,80 @@ msgstr ""
" वितरण अहिले समà¥à¤® सिरà¥à¤œà¤¨à¤¾\n"
" भà¤à¤•à¥‹ छैन वा आवगमन विनानै सरà¥à¤¯à¥‹ ।"
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "भाà¤à¤šà¤¿à¤à¤•à¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "निमà¥à¤¨ अतिरिकà¥à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "सà¥à¤à¤¾à¤µ दिà¤à¤•à¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "सिफारिस गरिà¤à¤•à¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "पà¥à¤¯à¤¾à¤•à¥‡à¤œ फेला पारà¥à¤¨ सकिà¤à¤¨ %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "तर %s सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥à¤ªà¤°à¥à¤¯à¥‹"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "सà¥à¤¤à¤° वृदà¥à¤§à¤¿ गणना गरिदैछ..."
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "असफल भयो"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "काम भयो"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "आनà¥à¤¤à¤°à¤¿à¤• तà¥à¤°à¥à¤Ÿà¤¿,समसà¥à¤¯à¤¾ हलकरà¥à¤¤à¤¾à¤²à¥‡ उतà¥à¤¤à¤® गà¥à¤£ भाà¤à¤šà¥à¤¯à¥‹ "
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "डाउनलोड डाइरेकà¥à¤Ÿà¥à¤°à¥€ तालà¥à¤šà¤¾ मारà¥à¤¨ असकà¥à¤·à¤®"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "को लागि सà¥à¤°à¥‹à¤¤ तानà¥à¤¨ कमà¥à¤¤à¤¿à¤®à¤¾ à¤à¤‰à¤Ÿà¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œ निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤ªà¤°à¥à¤›"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "%s को लागि सà¥à¤°à¥‹à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ फेला पारà¥à¤¨ असफल भयो"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1212,122 +1212,143 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "पहिलà¥à¤¯à¥ˆ डाउनलोड भà¤à¤•à¤¾ फाइलहरॠफडà¥à¤•à¤¾à¤‡à¤¦à¥ˆà¤› '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "तपाईठसंग %s मा परà¥à¤¯à¤¾à¤ªà¥à¤¤ खाली ठाऊठछैन"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "सà¥à¤°à¥‹à¤¤ संगà¥à¤°à¤¹à¤¹à¤°à¥à¤•à¥‹ %sB/%sB पà¥à¤°à¤¾à¤ªà¥à¤¤ गरà¥à¤¨ आवशà¥à¤¯à¤• छ ।\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "सà¥à¤°à¥‹à¤¤ संगà¥à¤°à¤¹à¤¹à¤°à¥à¤•à¥‹ %sB पà¥à¤°à¤¾à¤ªà¥à¤¤ गरà¥à¤¨ आवशà¥à¤¯à¤• छ ।\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "सà¥à¤°à¥‹à¤¤ फडà¥à¤•à¤¾à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥ %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "केही संगà¥à¤°à¤¹ फडà¥à¤•à¤¾à¤‰à¤¨ असफल भयो ।"
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr " %s मा पहिलà¥à¤¯à¥ˆ अनपà¥à¤¯à¤¾à¤• गरिà¤à¤•à¤¾ सà¥à¤°à¥‹à¤¤à¤•à¥‹ अनपà¥à¤¯à¤¾à¤• फडà¥à¤•à¤¾à¤‡à¤¦à¥ˆà¤›\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "अनपà¥à¤¯à¤¾à¤• आदेश '%s' असफल भयो ।\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "जाà¤à¤šà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ यदि 'dpkg-dev' पà¥à¤¯à¤¾à¤•à¥‡à¤œ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ भयो ।\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "निरà¥à¤®à¤¾à¤£ आदेश '%s' असफल भयो ।\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "शाखा पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ असफल भयो"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "को लागि builddeps जाà¤à¤šà¥à¤¨ कमà¥à¤¤à¤¿à¤®à¤¾ à¤à¤‰à¤Ÿà¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œ निरà¥à¤¦à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤ªà¤°à¥à¤›"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "%s को लागि निरà¥à¤®à¤¾à¤£-निरà¥à¤­à¤°à¤¤à¤¾ सूचना पà¥à¤°à¤¾à¤ªà¥à¤¤ गरà¥à¤¨ असकà¥à¤·à¤® भयो"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s कà¥à¤¨à¥ˆ निरà¥à¤®à¤¾à¤£à¤®à¤¾ आधारित हà¥à¤¦à¥ˆà¤¨ ।\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "%s को लागि %s निरà¥à¤­à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ हà¥à¤¨ सकेन किनभने पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s फेला पारà¥à¤¨ सकिà¤à¤¨"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "%s को लागि %s निरà¥à¤­à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ हà¥à¤¨ सकेन किनभने पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s फेला पारà¥à¤¨ सकिà¤à¤¨"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr "%s को लागि %s निरà¥à¤­à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ पारà¥à¤¨ असफल भयो: सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s अति नयाठछ"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%sको लागि %s निरà¥à¤­à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ हà¥à¤¨ सकेन किन भने पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s को कà¥à¤¨à¥ˆ उपलबà¥à¤§ संसà¥à¤•à¤°à¤£à¤²à¥‡ संसà¥à¤•à¤°à¤£ "
"आवशà¥à¤¯à¤•à¤¤à¤¾à¤¹à¤°à¥à¤²à¤¾à¤ˆ सनà¥à¤¤à¥à¤·à¥à¤Ÿ पारà¥à¤¨ सकेन "
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr "%s को लागि %s निरà¥à¤­à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ पारà¥à¤¨ असफल भयो: सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s अति नयाठछ"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "%s को लागि %s निरà¥à¤­à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ हà¥à¤¨ सकेन किनभने पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s फेला पारà¥à¤¨ सकिà¤à¤¨"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "%s को लागि %s निरà¥à¤­à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ गरà¥à¤¨ असफल: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "%s को लागि निरà¥à¤®à¤¾à¤£ निरà¥à¤­à¤°à¤¤à¤¾à¤¹à¤°à¥‚ सनà¥à¤¤à¥à¤·à¥à¤Ÿ गरà¥à¤¨ सकिà¤à¤¨ । "
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "निरà¥à¤®à¤¾à¤£ निरà¥à¤­à¤°à¤¤à¤¾à¤¹à¤°à¥‚ पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ गरà¥à¤¨ असफल"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "%s (%s) मा जडान गरिदैछ"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "समरà¥à¤¥à¤¿à¤¤ मोडà¥à¤¯à¥à¤²à¤¹à¤°à¥‚:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1412,7 +1433,7 @@ msgstr ""
"pages हेरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।\n"
" APT संग सà¥à¤ªà¤° काउ शकà¥à¤¤à¤¿à¤¹à¤°à¥‚ छ ।\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1722,8 +1743,8 @@ msgstr "फाइल %s/%s ले पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s मा à¤à¤‰à¤Ÿà¤¾ à
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1755,7 +1776,7 @@ msgstr "सूचना र टेमà¥à¤ª डाइरेकà¥à¤Ÿà¥à¤°à¥€à¤¹
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "पà¥à¤¯à¤¾à¤•à¥‡à¤œ सूचिहरू पढिदैछ"
@@ -2122,35 +2143,29 @@ msgstr " '%s:%s' (%i) हल गरà¥à¤¦à¤¾ केही दà¥à¤·à¥à¤Ÿ घट
msgid "Unable to connect to %s:%s:"
msgstr "%s %s मा जडान गरà¥à¤¨ असफल भयो:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ परितà¥à¤¯à¤¾à¤— गरिदैछ ।"
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "आनà¥à¤¤à¤°à¤¿à¤• तà¥à¤°à¥à¤Ÿà¤¿: असल हसà¥à¤¤à¤¾à¤•à¥à¤·à¤°, तर कà¥à¤žà¥à¤œà¥€ औठाछाप निरà¥à¤§à¤¾à¤°à¤£ गरà¥à¤¨ सकिà¤à¤¨?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "कमà¥à¤¤à¤¿à¤®à¤¾ à¤à¤‰à¤Ÿà¤¾ अवैध हसà¥à¤¤à¤¾à¤•à¥à¤·à¤° विरोध भयो ।"
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "हसà¥à¤¤à¤¾à¤•à¥à¤·à¤° रूजू गरà¥à¤¨ '%s' कारà¥à¤¯à¤¨à¥à¤µà¤¯à¤¨ गरà¥à¤¨ सकिà¤à¤¨ (के gpgv सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ भयो?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "gpgv कारà¥à¤¯à¤¨à¥à¤µà¤¯à¤¨ गरà¥à¤¦à¤¾ अजà¥à¤žà¤¾à¤¤ तà¥à¤°à¥à¤Ÿà¤¿"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "निमà¥à¤¨ हसà¥à¤¤à¤¾à¤•à¥à¤·à¤°à¤¹à¤°à¥‚ अवैध छनà¥:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2306,57 +2321,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "चयन %s फेला पारà¥à¤¨ सकिà¤à¤¨"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "नचिनिà¤à¤•à¥‹ टाइप संकà¥à¤·à¤¿à¤ªà¥à¤¤ रà¥à¤ª: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "कनफिगरेसन फाइल खोलिदैछ %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: बनà¥à¤¦ कà¥à¤¨à¥ˆ नाम बिना सà¥à¤°à¥‚ हà¥à¤¨à¥à¤› ।"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: वैरà¥à¤ª गरिà¤à¤•à¥‹ टà¥à¤¯à¤¾à¤—"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: मान पछाडि अतिरिकà¥à¤¤ जंक"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: निरà¥à¤¦à¥‡à¤¶à¤¨à¤¹à¤°à¥‚ माथिलà¥à¤²à¥‹ तहबाट मातà¥à¤° हà¥à¤¨à¥à¤›"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: अति धेरै नेसà¥à¤Ÿà¥‡à¤¡ समावेश गरà¥à¤¦à¤›"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: यहाठबाट समावेश गरेको"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: समरà¥à¤¥à¤¨ नभà¤à¤•à¥‹ डाइरेकà¥à¤Ÿà¤¿à¤­ '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: निरà¥à¤¦à¥‡à¤¶à¤¨à¤¹à¤°à¥‚ माथिलà¥à¤²à¥‹ तहबाट मातà¥à¤° हà¥à¤¨à¥à¤›"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u:फाइलको अनà¥à¤¤à¥à¤¯à¤®à¤¾ अतिरिकà¥à¤¤ जंक"
@@ -2499,7 +2514,7 @@ msgstr "सहायक पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ %s ले à¤à¤‰à¤Ÿà¤¾ तà¥
msgid "Sub-process %s exited unexpectedly"
msgstr "सहायक पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ %s अनपेकà¥à¤·à¤¿à¤¤ बनà¥à¤¦ भयो"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "फाइल %s खोलà¥à¤¨ सकिà¤à¤¨"
@@ -2727,14 +2742,14 @@ msgstr "वैरà¥à¤ªà¥à¤¯ लाइन %u सà¥à¤°à¥‹à¤¤ सूचिमा
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "सà¥à¤°à¥‹à¤¤ सूची %s भितà¥à¤° %u लाइनमा टाइप '%s' जà¥à¤žà¤¾à¤¤ छैन"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2745,7 +2760,7 @@ msgstr ""
"हटाउनॠपरà¥à¤¨à¥‡à¤› । यो पà¥à¤°à¤¾à¤¯ नरामà¥à¤°à¥‹ हो, तर यदि तपाईठयो साà¤à¤šà¥à¤šà¥ˆ गरà¥à¤¨ चाहनà¥à¤¹à¥à¤¨à¥à¤› भने, APT::"
"Force-LoopBreak विकलà¥à¤ª सकà¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।"
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2775,7 +2790,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "समसà¥à¤¯à¤¾à¤¹à¤°à¥‚ सà¥à¤§à¤¾à¤°à¥à¤¨ असकà¥à¤·à¤® भयो, तपाईà¤à¤²à¥‡ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥ भाà¤à¤šà¥à¤¨à¥à¤­à¤¯à¥‹ ।"
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2826,12 +2841,12 @@ msgstr "विधि %s सही रà¥à¤ªà¤²à¥‡ सà¥à¤°à¥‚ हà¥à¤¨ सकà
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "कृपया डिसà¥à¤• लेबà¥à¤²: '%s' डà¥à¤°à¤¾à¤‡à¤­ '%s'मा घà¥à¤¸à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥ र इनà¥à¤Ÿà¤° थिचà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ । "
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "पà¥à¤¯à¤¾à¤•à¤¿à¤™à¥à¤— पà¥à¤°à¤£à¤¾à¤²à¥€ '%s' समरà¥à¤¥à¤¿à¤¤ छैन"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "उपयà¥à¤•à¥à¤¤ पà¥à¤¯à¤¾à¤•à¤¿à¤™à¥à¤— पà¥à¤°à¤£à¤¾à¤²à¥€ पà¥à¤°à¤•à¤¾à¤° निरà¥à¤§à¤¾à¤°à¤¨ गरà¥à¤¨ असकà¥à¤·à¤® भयो"
@@ -2856,17 +2871,24 @@ msgstr "यो समसà¥à¤¯à¤¾à¤¹à¤°à¥‚ सà¥à¤§à¤¾à¤°à¥à¤¨ तपाईà¤
msgid "The list of sources could not be read."
msgstr "सà¥à¤°à¥‹à¤¤à¤¹à¤°à¥à¤•à¥‹ सूचि पढà¥à¤¨ सकिà¤à¤¨ ।"
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ फाइलमा अवैध रेकरà¥à¤¡, कà¥à¤¨à¥ˆ पà¥à¤¯à¤¾à¤•à¥‡à¤œ हेडर छैन"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "पिन टाइप %s बà¥à¤à¥à¤¨ सकिà¤à¤¨ "
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "पिनको लागि कà¥à¤¨à¥ˆ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ (वा शूनà¥à¤¯) निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ छैन"
@@ -2956,7 +2978,7 @@ msgstr "सà¥à¤°à¥‹à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ सूची %s सà¥à¤¥à¤¿à¤° à¤
msgid "Collecting File Provides"
msgstr "फाइल उपलबà¥à¤§à¤¤à¤¾à¤¹à¤°à¥‚ संकलन गरिदैछ"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "सà¥à¤°à¥‹à¤¤ कà¥à¤¯à¤¾à¤¸ बचत गरà¥à¤¦à¤¾ IO तà¥à¤°à¥à¤Ÿà¤¿"
@@ -2969,8 +2991,8 @@ msgstr "पà¥à¤¨:नामकरण असफल गरियो, %s (%s -> %s)
msgid "MD5Sum mismatch"
msgstr "MD5Sum मेल भà¤à¤¨"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
#, fuzzy
msgid "Hash Sum mismatch"
msgstr "MD5Sum मेल भà¤à¤¨"
@@ -2991,20 +3013,19 @@ msgstr "पà¥à¤¯à¤¾à¤•à¥‡à¤œ फाइल पद वरà¥à¤£à¤¨ गरà¥à¤¨ à
msgid "There is no public key available for the following key IDs:\n"
msgstr "निमà¥à¤¨ कà¥à¤žà¥à¤œà¥€ IDs को लागि कà¥à¤¨à¥ˆ सारà¥à¤µà¤œà¤¨à¤¿à¤• कà¥à¤žà¥à¤œà¥€ उपलबà¥à¤§ छैन:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3012,12 +3033,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3026,7 +3047,7 @@ msgstr ""
"%s पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤•à¥‹ लागि मैले फाइल सà¥à¤¥à¤¿à¤¤ गरà¥à¤¨ सकिन । यसको मतलब तपाईà¤à¤²à¥‡ मà¥à¤¯à¤¾à¤¨à¥à¤²à¥à¤²à¥€ यो पà¥à¤¯à¤¾à¤•à¥‡à¤œ "
"निशà¥à¤šà¤¿à¤¤ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ । (arch हराà¤à¤°à¤¹à¥‡à¤•à¥‹ कारणले) "
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3035,13 +3056,13 @@ msgstr ""
"%s पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤•à¥‹ लागि मैले फाइल सà¥à¤¥à¤¿à¤¤ गरà¥à¤¨ सकिन । यसको मतलब तपाईà¤à¤²à¥‡ मà¥à¤¯à¤¾à¤¨à¥à¤²à¥à¤²à¥€ यो पà¥à¤¯à¤¾à¤•à¥‡à¤œ "
"निशà¥à¤šà¤¿à¤¤ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।"
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "पà¥à¤¯à¤¾à¤•à¥‡à¤œ अनà¥à¤•à¥à¤°à¤®à¤£à¤¿à¤•à¤¾ फाइलहरू दूषित भठ। पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s को लागि कà¥à¤¨à¥ˆ फाइलनाम: फाà¤à¤Ÿ छैन ।"
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "साइज मेल खाà¤à¤¨"
@@ -3162,22 +3183,22 @@ msgstr "नयाठसà¥à¤°à¥‹à¤¤ सूचि लेखिदैछ\n"
msgid "Source list entries for this disc are:\n"
msgstr "यो डिसà¥à¤•à¤•à¥‹ लागि सà¥à¤°à¥‹à¤¤ सूचि पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¹à¤°à¥‚:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i रेकरà¥à¤¡à¤¹à¤°à¥‚ लेखियो ।\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "हराइरहेको फाइल %i हरू संगै %i रेकरà¥à¤¡à¤¹à¤°à¥‚ लेखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "मेल नखाà¤à¤•à¤¾ फाइल %i हरू संगै %i रेकरà¥à¤¡à¤¹à¤°à¥‚ लेखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "हराइरहेको फाइल %i हरू र मेल नखाà¤à¤•à¤¾ फाइल %i हरू संगै %i रेकरà¥à¤¡à¤¹à¤°à¥‚ लेखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।\n"
@@ -3197,6 +3218,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "MD5Sum मेल भà¤à¤¨"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ परितà¥à¤¯à¤¾à¤— गरिदैछ ।"
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/nl.po b/po/nl.po
index acc2d7e63..c6b254c5d 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-03-16 06:52+0100\n"
"Last-Translator: Frans Pop <elendil@planet.nl>\n"
"Language-Team: Dutch <debian-l10n-dutch@lists.debian.org>\n"
@@ -159,7 +159,7 @@ msgstr " Versietabel:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s voor %s gecompileerd op %s %s\n"
@@ -845,7 +845,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr "%s is reeds de nieuwste versie.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s is ingesteld voor handmatige installatie.\n"
@@ -960,8 +960,8 @@ msgstr "Door deze operatie zal er %sB extra schijfruimte gebruikt worden.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Door deze operatie zal er %sB schijfruimte vrijkomen.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Kon de hoeveelheid vrije schijfruimte op %s niet bepalen"
@@ -998,7 +998,7 @@ msgstr "Afbreken."
msgid "Do you want to continue [Y/n]? "
msgstr "Wilt u doorgaan [J/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Ophalen van %s is mislukt %s\n"
@@ -1007,7 +1007,7 @@ msgstr "Ophalen van %s is mislukt %s\n"
msgid "Some files failed to download"
msgstr "Ophalen van sommige bestanden is mislukt"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Ophalen klaar en alleen-ophalen-modus staat aan"
@@ -1045,31 +1045,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Negeer niet beschikbare doelrelease '%s' van pakket '%s'"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "'%s' wordt genomen als bronpakket in plaats van '%s'\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Negeer niet beschikbare versie '%s' van pakket '%s'"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "De opdracht 'update' aanvaard geen argumenten"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "We mogen geen dingen verwijderen, kan AutoRemover niet starten"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1087,15 +1087,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "De volgende informatie helpt u mogelijk verder:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Interne fout, AutoRemover heeft dingen stukgemaakt"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1109,7 +1109,7 @@ msgstr[1] ""
"De volgende pakketten zijn automatisch geïnstalleerd en zijn niet langer "
"nodig:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1119,21 +1119,21 @@ msgstr[0] ""
msgstr[1] ""
"%lu pakketten zijn automatisch geïnstalleerd en zijn niet langer nodig.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "U kunt deze verwijderen via 'apt-get autoremove'."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Interne fout, AllUpgrade heeft dingen stukgemaakt"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"U wilt waarschijnlijk 'apt-get -f install' uitvoeren om volgende op te "
"lossen:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1141,7 +1141,7 @@ msgstr ""
"Er zijn niet-voldane vereisten. U kunt best 'apt-get -f install' uitvoeren "
"zonder pakketten op te geven, (of u kunt zelf een oplossing specificeren)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1152,82 +1152,82 @@ msgstr ""
"een onmogelijke situatie gevraagd hebt of dat u de 'unstable'-distributie \n"
"gebruikt en sommige benodigde pakketten nog vastzitten in 'incoming'."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Niet-werkende pakketten:"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "De volgende extra pakketten zullen geïnstalleerd worden:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Voorgestelde pakketten:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Aanbevolen pakketten:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Kon pakket %s niet vinden"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s is ingesteld voor handmatige installatie.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Opwaardering wordt doorgerekend... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Mislukt"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Klaar"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Interne fout, probleemoplosser heeft dingen stukgemaakt"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Kon de ophaalmap niet vergrendelen"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"U dient minstens 1 pakket op te geven waarvan de broncode opgehaald moet "
"worden"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Kan geen bronpakket vinden voor %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1235,80 +1235,96 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Reeds opgehaald bestand '%s' wordt overgeslagen\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "U heeft niet voldoende vrije schijfruimte op %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Moet %sB/%sB aan bronarchieven ophalen.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Moet %sB aan bronarchieven ophalen.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Ophalen bron %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Ophalen van sommige archieven is mislukt."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Het uitpakken van de reeds uitgepakte bron in %s wordt overgeslagen\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Uitpakopdracht '%s' is mislukt.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Gelieve na te gaan of het 'dpkg-dev'-pakket geïnstalleerd is.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Bouwopdracht '%s' is mislukt.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Dochterproces is mislukt"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"U dient tenminste één pakket op te geven om de bouwvereisten van te "
"controleren"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Kan de informatie over de bouwvereisten voor %s niet ophalen"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s heeft geen bouwvereisten.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"De vereiste %s van pakket %s kan niet voldaan worden omdat pakket %s "
+"onvindbaar is"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1317,46 +1333,55 @@ msgstr ""
"De vereiste %s van pakket %s kan niet voldaan worden omdat pakket %s "
"onvindbaar is"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Voldoen van Vereiste %s van pakket %s is mislukt: geïnstalleerde versie %s "
+"is te nieuw"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"De vereiste %s van pakket %s kan niet voldaan worden omdat er geen "
"beschikbare versies zijn van pakket %s die aan de versievereisten voldoen"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Voldoen van Vereiste %s van pakket %s is mislukt: geïnstalleerde versie %s "
-"is te nieuw"
+"De vereiste %s van pakket %s kan niet voldaan worden omdat pakket %s "
+"onvindbaar is"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Voldoen van de vereiste %s van pakket %s is mislukt: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Bouwvereisten voor %s konden niet voldaan worden."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Verwerken van de bouwvereisten is mislukt"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Er wordt verbinding gemaakt met %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Ondersteunde modules:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1445,7 +1470,7 @@ msgstr ""
"voor meer informatie en opties.\n"
" Deze APT heeft Super Koe kracht.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1762,8 +1787,8 @@ msgstr "Het bestand %s/%s overschrijft het bestand van pakket %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1796,7 +1821,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Pakketlijsten worden ingelezen"
@@ -2166,39 +2191,33 @@ msgstr "Er gebeurde iets raars bij het oplossen van '%s:%s' (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Kan geen verbinding maken met %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Geen sleutelring geïnstalleerd in %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Interne fout: ondertekening is goed maar kon de vingerafdruk van de sleutel\n"
"niet bepalen?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Er is tenminste één ongeldige ondertekening gevonden."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Kon '%s' niet uitvoeren om ondertekening te verifiëren (is gpgv "
"geïnstalleerd?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Onbekende fout bij het uitvoeren van gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "De volgende ondertekeningen waren ongeldig:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2360,61 +2379,61 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Selectie %s niet gevonden"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Onbekende type-afkorting '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Configuratiebestand %s wordt geopend"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaxfout %s:%u: Blok start zonder naam."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaxfout %s:%u: Verkeerd gevormde markering"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaxfout %s:%u: Extra rommel na waarde"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Syntaxfout %s:%u: Richtlijnen kunnen enkel op het hoogste niveau gegeven "
"worden"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaxfout %s:%u: Teveel geneste invoegingen"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaxfout %s:%u: Vanaf hier ingevoegd"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaxfout %s:%u: Niet-ondersteunde richtlijn '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Syntaxfout %s:%u: Richtlijnen kunnen enkel op het hoogste niveau gegeven "
"worden"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaxfout %s:%u: Extra rommel aan het einde van het bestand"
@@ -2562,7 +2581,7 @@ msgstr "Subproces %s gaf de foutcode %u terug"
msgid "Sub-process %s exited unexpectedly"
msgstr "Subproces %s sloot onverwacht af"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Kon het bestand %s niet openen"
@@ -2789,7 +2808,7 @@ msgstr "Misvormde regel %u in bronlijst %s (type)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Type '%s' op regel %u in bronlijst %s is onbekend"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, fuzzy, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2798,7 +2817,7 @@ msgstr ""
"Kon onmiddellijke configuratie van '%s' niet uitvoeren. Voor details zie "
"'man 5 apt.conf', onder APT::Immediate-Configure. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2810,7 +2829,7 @@ msgstr ""
"vaak slecht, wilt u dit echt doen dan dient u de APT::Force-LoopBreak optie "
"te activeren."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, fuzzy, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2844,7 +2863,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Kan problemen niet verhelpen, u houdt defecte pakketten vast."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2897,12 +2916,12 @@ msgstr ""
"Gelieve de schijf met label '%s' in het station '%s' te plaatsen en op "
"'enter' te drukken."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Pakketbeheersysteem '%s' wordt niet ondersteund"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Kan geen geschikt pakketsysteemtype bepalen"
@@ -2932,18 +2951,25 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "De lijst van bronnen kon niet gelezen worden."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"Ongeldige record in het voorkeurenbestand %s, 'Package' koptekst ontbreekt"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Pintype %s wordt niet begrepen"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Er is geen prioriteit (of nul) opgegeven voor deze pin"
@@ -3036,7 +3062,7 @@ msgstr "Kon de status van de bronpakketlijst %s niet opvragen"
msgid "Collecting File Provides"
msgstr "Voorziene bestanden worden verzameld"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Invoer/Uitvoer-fout tijdens wegschrijven bronpakket-cache"
@@ -3049,8 +3075,8 @@ msgstr "herbenoeming is mislukt, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5-som komt niet overeen"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hash-som komt niet overeen"
@@ -3071,20 +3097,19 @@ msgid "There is no public key available for the following key IDs:\n"
msgstr ""
"Er zijn geen publieke sleutels beschikbaar voor de volgende sleutel-IDs:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3092,12 +3117,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3106,7 +3131,7 @@ msgstr ""
"Er kon geen bestand gevonden worden voor pakket %s. Dit kan betekenen dat u "
"dit pakket handmatig moet repareren (wegens missende architectuur)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3115,7 +3140,7 @@ msgstr ""
"Er kon geen bestand gevonden worden voor pakket %s. Dit kan betekenen dat u "
"dit pakket handmatig moet repareren."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3123,7 +3148,7 @@ msgstr ""
"De pakketindex-bestanden zijn beschadigd. Er is geen 'Filename:'-veld voor "
"pakket %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Grootte komt niet overeen"
@@ -3247,22 +3272,22 @@ msgstr "Nieuwe bronlijst wordt weggeschreven\n"
msgid "Source list entries for this disc are:\n"
msgstr "Bronlijst-ingangen voor de schijf zijn:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i records weggeschreven.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "%i records weggeschreven met %i missende bestanden.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "%i records weggeschreven met %i niet overeenkomende bestanden\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3284,6 +3309,17 @@ msgstr "Kan geen authenticatierecord vinden voor: %s"
msgid "Hash mismatch for: %s"
msgstr "Hash-som komt niet overeen voor: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Geen sleutelring geïnstalleerd in %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/nn.po b/po/nn.po
index 83e40a8dc..e3346edd1 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_nn\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2005-02-14 23:30+0100\n"
"Last-Translator: Havard Korsvoll <korsvoll@skulelinux.no>\n"
"Language-Team: Norwegian nynorsk <i18n-nn@lister.ping.uio.no>\n"
@@ -160,7 +160,7 @@ msgstr " Versjonstabell:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s for %s %s kompilert på %s %s\n"
@@ -840,7 +840,7 @@ msgstr "%s kan ikkje installerast på nytt, for pakken kan ikkje lastast ned.\n"
msgid "%s is already the newest version.\n"
msgstr "Den nyaste versjonen av %s er installert frå før.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "men %s skal installerast"
@@ -954,8 +954,8 @@ msgstr "Etter utpakking vil %sB meir diskplass verta brukt.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Etter utpakking vil %sB meir diskplass verta frigjort.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, fuzzy, c-format
msgid "Couldn't determine free space in %s"
msgstr "Du har ikkje nok ledig plass i %s"
@@ -993,7 +993,7 @@ msgstr "Avbryt."
msgid "Do you want to continue [Y/n]? "
msgstr "Vil du halda fram [J/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Klarte ikkje henta %s %s\n"
@@ -1002,7 +1002,7 @@ msgstr "Klarte ikkje henta %s %s\n"
msgid "Some files failed to download"
msgstr "Klarte ikkje henta nokre av filene"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Nedlastinga er ferdig i nedlastingsmodus"
@@ -1040,31 +1040,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Klarte ikkje få status på kjeldepakkelista %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Oppdateringskommandoen tek ingen argument"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1080,16 +1080,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Følgjande informasjon kan hjelpa med å løysa situasjonen:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Intern feil. AllUpgrade øydelagde noko"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1099,7 +1099,7 @@ msgid_plural ""
msgstr[0] "Dei følgjande NYE pakkane vil verta installerte:"
msgstr[1] "Dei følgjande NYE pakkane vil verta installerte:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1107,20 +1107,20 @@ msgid_plural ""
msgstr[0] "Dei følgjande NYE pakkane vil verta installerte:"
msgstr[1] "Dei følgjande NYE pakkane vil verta installerte:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Intern feil. AllUpgrade øydelagde noko"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"Du vil kanskje prøva å retta på desse ved å køyra «apt-get -f install»."
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1128,7 +1128,7 @@ msgstr ""
"Nokre krav er ikkje oppfylte. Du kan prøva «apt-get -f install» (eller velja "
"ei løysing)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1140,81 +1140,81 @@ msgstr ""
"distribusjonen, kan det òg henda at nokre av pakkane som trengst ikkje\n"
"er laga enno eller at dei framleis ligg i «Incoming»."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Øydelagde pakkar"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Dei følgjande tilleggspakkane vil verta installerte:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Føreslåtte pakkar:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Tilrådde pakkar"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Fann ikkje pakken %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "men %s skal installerast"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Reknar ut oppgradering ... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Mislukkast"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Ferdig"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
#, fuzzy
msgid "Internal error, problem resolver broke stuff"
msgstr "Intern feil. AllUpgrade øydelagde noko"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Klarte ikkje låsa nedlastingskatalogen"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Du må velja minst éin pakke som kjeldekoden skal hentast for"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Finn ingen kjeldepakke for %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1222,123 +1222,144 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, fuzzy, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Hoppar over utpakking av kjeldekode som er utpakka frå før i %s\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Du har ikkje nok ledig plass i %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Må henta %sB/%sB med kjeldekodearkiv.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Må henta %sB med kjeldekodearkiv.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Hent kjeldekode %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Klarte ikkje henta nokre av arkiva."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Hoppar over utpakking av kjeldekode som er utpakka frå før i %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Utpakkingskommandoen «%s» mislukkast.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Byggjekommandoen «%s» mislukkast.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Barneprosessen mislukkast"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "Du må velja minst ein pakke som byggjekrava skal sjekkast for"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Klarte ikkje henta byggjekrav for %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s har ingen byggjekrav.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "Kravet %s for %s kan ikkje oppfyllast fordi pakken %s ikkje finst"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "Kravet %s for %s kan ikkje oppfyllast fordi pakken %s ikkje finst"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Klarte ikkje oppfylla kravet %s for %s: Den installerte pakken %s er for ny"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"Kravet %s for %s kan ikkje oppfyllast fordi det ikkje finst nokon "
"tilgjengelege versjonar av pakken %s som oppfyller versjonskrava"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr ""
-"Klarte ikkje oppfylla kravet %s for %s: Den installerte pakken %s er for ny"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "Kravet %s for %s kan ikkje oppfyllast fordi pakken %s ikkje finst"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Klarte ikkje oppfylla kravet %s for %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Byggjekrav for %s kunne ikkje tilfredstillast."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Klarte ikkje behandla byggjekrava"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Koplar til %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Støtta modular:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1424,7 +1445,7 @@ msgstr ""
"til apt-get(8), sources.list(5) og apt.conf(5).\n"
" APT har superku-krefter.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1732,8 +1753,8 @@ msgstr "Fila %s/%s skriv over den tilsvarande fila i pakken %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1766,7 +1787,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Les pakkelister"
@@ -2137,35 +2158,29 @@ msgstr "Det hende noko dumt ved oppslag av «%s:%s» (%i)"
msgid "Unable to connect to %s:%s:"
msgstr "Klarte ikkje kopla til %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Avbryt installasjon."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr ""
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr ""
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
#, fuzzy
msgid "The following signatures were invalid:\n"
msgstr "Dei følgjande tilleggspakkane vil verta installerte:"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2321,57 +2336,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Fann ikkje utvalet %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Ukjend typeforkorting: «%c»"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Opnar oppsettsfila %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaksfeil %s:%u: Blokka startar utan namn."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaksfeil %s:%u: Misforma tagg"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaksfeil %s:%u: Ekstra rot etter verdien"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Syntaksfeil %s:%u: Direktiva kan berre liggja i det øvste nivået"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaksfeil %s:%u: For mange nøsta inkluderte filer"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaksfeil %s:%u: Inkludert herifrå"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaksfeil %s:%u: Direktivet «%s» er ikkje støtta"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "Syntaksfeil %s:%u: Direktiva kan berre liggja i det øvste nivået"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaksfeil %s:%u: Ekstra rot til slutt i fila"
@@ -2514,7 +2529,7 @@ msgstr "Underprosessen %s returnerte ein feilkode (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Underprosessen %s avslutta uventa"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Klarte ikkje opna fila %s"
@@ -2742,14 +2757,14 @@ msgstr "Misforma linje %u i kjeldelista %s (type)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Typen «%s» er ukjend i linja %u i kjeldelista %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2761,7 +2776,7 @@ msgstr ""
"om du verkeleg vil gjera det, kan du bruka innstillinga «APT::Force-"
"LoopBreak»."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2792,7 +2807,7 @@ msgid "Unable to correct problems, you have held broken packages."
msgstr ""
"Klarte ikkje retta opp problema. Nokre øydelagde pakkar er haldne tilbake."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2846,12 +2861,12 @@ msgstr ""
" «%s»\n"
"i stasjonen «%s» og trykk Enter.\n"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Pakkesystemet «%s» er ikkje støtta"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Klarte ikkje avgjera ein eigna pakkesystemtype"
@@ -2877,17 +2892,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "Kjeldelista kan ikkje lesast."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Ugyldig oppslag i innstillingsfila, manglar pakkehovud"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Skjønar ikkje spikringstypen %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Ingen prioritet (eller null) oppgitt for spiker"
@@ -2977,7 +2999,7 @@ msgstr "Klarte ikkje få status på kjeldepakkelista %s"
msgid "Collecting File Provides"
msgstr "Samlar inn filtilbod"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "IU-feil ved lagring av kjeldelager"
@@ -2990,8 +3012,8 @@ msgstr "endring av namn mislukkast, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Feil MD5-sum"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
#, fuzzy
msgid "Hash Sum mismatch"
msgstr "Feil MD5-sum"
@@ -3012,20 +3034,19 @@ msgstr "Klarte ikkje tolka pakkefila %s (1)"
msgid "There is no public key available for the following key IDs:\n"
msgstr ""
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3033,12 +3054,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3047,7 +3068,7 @@ msgstr ""
"Fann ikkje fila for pakken %s. Det kan henda du må fiksa denne pakken sjølv "
"(fordi arkitekturen manglar)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3055,14 +3076,14 @@ msgid ""
msgstr ""
"Fann ikkje fila for pakken %s. Det kan henda du må fiksa denne pakken sjølv."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"Pakkeindeksfilene er øydelagde. Feltet «Filename:» manglar for pakken %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Feil storleik"
@@ -3183,22 +3204,22 @@ msgstr "Skriv ny kjeldeliste\n"
msgid "Source list entries for this disc are:\n"
msgstr "Kjeldelisteoppføringar for denne disken er:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Skreiv %i postar.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Skreiv %i postar med %i manglande filer.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Skreiv %i postar med %i filer som ikkje passa\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Skreiv %i postar med %i manglande filer og %i filer som ikkje passa\n"
@@ -3218,6 +3239,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Feil MD5-sum"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Avbryt installasjon."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/pl.po b/po/pl.po
index f39352fc5..7cf36ab92 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.23.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2009-09-27 03:42+0100\n"
"Last-Translator: Wiktor Wandachowicz <siryes@gmail.com>\n"
"Language-Team: Polish <debian-l10n-polish@lists.debian.org>\n"
@@ -160,7 +160,7 @@ msgstr " Tabela wersji:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s dla %s skompilowany %s %s\n"
@@ -843,7 +843,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr "%s jest już w najnowszej wersji.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s zaznaczony jako zainstalowany ręcznie.\n"
@@ -957,8 +957,8 @@ msgstr "Po tej operacji zostanie dodatkowo użyte %sB miejsca na dysku.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Po tej operacji zostanie zwolnione %sB miejsca na dysku.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Nie udało się ustalić ilości wolnego miejsca w %s"
@@ -995,7 +995,7 @@ msgstr "Przerwane."
msgid "Do you want to continue [Y/n]? "
msgstr "Kontynuować [T/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Nie udało się pobrać %s %s\n"
@@ -1004,7 +1004,7 @@ msgstr "Nie udało się pobrać %s %s\n"
msgid "Some files failed to download"
msgstr "Nie udało się pobrać niektórych plików"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Ukończono pobieranie w trybie samego pobierania"
@@ -1042,31 +1042,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Nie udało się wykonać operacji stat na liście pakietów źródłowych %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Polecenie update nie wymaga żadnych argumentów"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Nic nie powinno być usuwane, AutoRemover nie zostanie uruchomiony"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1084,15 +1084,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Następujące informacje mogą pomóc rozwiązać sytuację:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Błąd wewnętrzny, AutoRemover wszystko popsuł"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1106,7 +1106,7 @@ msgstr[1] ""
"Następujące pakiety zostały zainstalowane automatycznie i nie są już więcej "
"wymagane:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1118,19 +1118,19 @@ msgstr[1] ""
"%lu pakiety(ów) zostały zainstalowane automatycznie i nie są już więcej "
"wymagane.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Aby je usunąć należy użyć \"apt-get autoremove\"."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Błąd wewnętrzny, AllUpgrade wszystko popsuło"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Należy uruchomić \"apt-get -f install\", aby je naprawić:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1138,7 +1138,7 @@ msgstr ""
"Niespełnione zależności. Proszę spróbować \"apt-get -f install\" bez "
"pakietów (lub podać rozwiązanie)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1150,82 +1150,82 @@ msgstr ""
"w której niektóre pakiety nie zostały jeszcze utworzone lub przeniesione\n"
"z katalogu Incoming (\"PrzychodzÄ…ce\")."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Pakiety sÄ… uszkodzone"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Zostaną zainstalowane następujące dodatkowe pakiety:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Sugerowane pakiety:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Polecane pakiety:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Nie udało się odnaleźć pakietu %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s zaznaczony jako zainstalowany ręcznie.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Obliczanie aktualizacji..."
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Nie udało się"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Gotowe"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Błąd wewnętrzny, rozwiązywanie problemów wszystko popsuło"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Nie udało się zablokować katalogu pobierania"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"Należy podać przynajmniej jeden pakiet, dla którego mają zostać pobrane "
"źródła"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Nie udało się odnaleźć źródła dla pakietu %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1233,80 +1233,96 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Pomijanie już pobranego pliku \"%s\"\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "W %s nie ma wystarczającej ilości wolnego miejsca"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Konieczne pobranie %sB/%sB archiwów źródeł.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Konieczne pobranie %sB archiwów źródeł.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Pobierz źródło %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Nie udało się pobrać niektórych archiwów."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Pomijanie rozpakowania już rozpakowanego źródła w %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Polecenie rozpakowania \"%s\" zawiodło.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Proszę sprawdzić czy pakiet \"dpkg-dev\" jest zainstalowany.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Polecenie budowania \"%s\" zawiodło.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Proces potomny zawiódł"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Należy podać przynajmniej jeden pakiet, dla którego mają zostać sprawdzone "
"zależności dla budowania"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Nie udało się pobrać informacji o zależnościach dla budowania %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s nie ma zależności dla budowania.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"Zależność %s od %s nie może zostać spełniona, ponieważ nie znaleziono "
+"pakietu %s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1315,46 +1331,55 @@ msgstr ""
"Zależność %s od %s nie może zostać spełniona, ponieważ nie znaleziono "
"pakietu %s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Nie udało się spełnić zależności %s od %s: Zainstalowany pakiet %s jest zbyt "
+"nowy"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"Zależność %s od %s nie może zostać spełniona, ponieważ żadna z dostępnych "
"wersji pakietu %s nie ma odpowiedniej wersji"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Nie udało się spełnić zależności %s od %s: Zainstalowany pakiet %s jest zbyt "
-"nowy"
+"Zależność %s od %s nie może zostać spełniona, ponieważ nie znaleziono "
+"pakietu %s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Nie udało się spełnić zależności %s od %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Nie udało się spełnić zależności dla budowania %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Nie udało się przetworzyć zależności dla budowania"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Podłączanie do %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Obsługiwane moduły:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1441,7 +1466,7 @@ msgstr ""
"apt-get(8), sources.list(5) i apt.conf(5).\n"
" Ten APT ma moce Super Krowy.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1757,8 +1782,8 @@ msgstr "Plik %s/%s nadpisuje plik w pakiecie %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1790,7 +1815,7 @@ msgstr "Pliki info i katalog tymczasowy muszą być na tym samym systemie plikó
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Czytanie list pakietów"
@@ -2162,39 +2187,33 @@ msgstr "Coś niewłaściwego stało się przy tłumaczeniu \"%s:%s\" (%i)"
msgid "Unable to connect to %s:%s:"
msgstr "Nie udało się połączyć z %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Przerywanie instalacji"
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Błąd wewnętrzny: Prawidłowy podpis, ale nie nie udało się ustalić odcisku "
"klucza?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Napotkano przynajmniej jeden nieprawidłowy podpis."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Nie udało się uruchomić \"%s\" by zweryfikować podpis (czy gpgv jest "
"zainstalowane?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Nieznany błąd podczas uruchamiania gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Następujące podpisy były błędne:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2353,59 +2372,59 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Nie odnaleziono wyboru %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Nierozpoznany skrót typu: \"%c\""
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Otwieranie pliku konfiguracyjnego %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Błąd składniowy %s:%u: Blok nie zaczyna się nazwą."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Błąd składniowy %s:%u: Błędny znacznik"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Błąd składniowy %s:%u: Po wartości występują śmieci"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Błąd składniowy %s:%u: Dyrektywy mogą występować tylko na najwyższym poziomie"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Błąd składniowy %s:%u: Zbyt wiele zagnieżdżonych operacji include"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Błąd składniowy %s:%u: Włączony tutaj"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Błąd składniowy %s:%u: Nieobsługiwana dyrektywa \"%s\""
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Błąd składniowy %s:%u: Dyrektywy mogą występować tylko na najwyższym poziomie"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Błąd składniowy %s:%u: Śmieci na końcu pliku"
@@ -2548,7 +2567,7 @@ msgstr "Podproces %s zwrócił kod błędu (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Podproces %s zakończył się niespodziewanie"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Nie udało się otworzyć pliku %s"
@@ -2775,14 +2794,14 @@ msgstr "Nieprawidłowa linia %u w liście źródeł %s (typ)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Typ \"%s\" jest nieznany w linii %u listy źródeł %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2794,7 +2813,7 @@ msgstr ""
"nic dobrego, ale jeśli naprawdę chcesz to zrobić, włącz opcję APT::Force-"
"LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2825,7 +2844,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Nie udało się naprawić problemów, zatrzymano uszkodzone pakiety."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2876,12 +2895,12 @@ msgstr "Metoda %s nie uruchomiła się poprawnie"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Proszę włożyć do napędu \"%s\" dysk o nazwie: \"%s\" i nacisnąć enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "System pakietów \"%s\" nie jest obsługiwany"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Nie udało się określić odpowiedniego typu systemu pakietów"
@@ -2906,17 +2925,24 @@ msgstr "Należy uruchomić apt-get update aby naprawić te problemy."
msgid "The list of sources could not be read."
msgstr "Nie udało się odczytać list źródeł."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Nieprawidłowe informacje w pliku ustawień %s, brak nagłówka Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Nierozpoznany typ przypinania %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Brak (lub zerowy) priorytet przypięcia"
@@ -3008,7 +3034,7 @@ msgstr "Nie udało się wykonać operacji stat na liście pakietów źródłowyc
msgid "Collecting File Provides"
msgstr "Zbieranie zapewnień plików"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Błąd wejścia/wyjścia przy zapisywaniu podręcznego magazynu źródeł"
@@ -3021,8 +3047,8 @@ msgstr "nie udało się zmienić nazwy, %s (%s -> %s)"
msgid "MD5Sum mismatch"
msgstr "Błędna suma MD5"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Błędna suma kontrolna"
@@ -3042,20 +3068,19 @@ msgstr "Nie udało się zanalizować pliku Release %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Dla następujących identyfikatorów kluczy brakuje klucza publicznego:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3063,12 +3088,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3077,7 +3102,7 @@ msgstr ""
"Nie udało się odnaleźć pliku dla pakietu %s. Może to oznaczać, że trzeba "
"będzie ręcznie naprawić ten pakiet (z powodu brakującej architektury)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3086,14 +3111,14 @@ msgstr ""
"Nie udało się odnaleźć pliku dla pakietu %s. Może to oznaczać, że trzeba "
"będzie ręcznie naprawić ten pakiet."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"Pliki indeksu pakietów są uszkodzone. Brak pola Filename: dla pakietu %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Błędny rozmiar"
@@ -3217,22 +3242,22 @@ msgstr "Zapisywanie nowej listy źródeł\n"
msgid "Source list entries for this disc are:\n"
msgstr "Źródła dla tej płyty to:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Zapisano %i rekordów.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Zapisano %i rekordów z %i brakującymi plikami.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Zapisano %i rekordów z %i niepasującymi plikami\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Zapisano %i rekordów z %i brakującymi plikami i %i niepasującymi\n"
@@ -3252,6 +3277,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Błędna suma kontrolna"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Przerywanie instalacji"
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/pt.po b/po/pt.po
index 6442a5bb6..cfd2d3961 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-08-28 09:03+0100\n"
"Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
"Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -155,7 +155,7 @@ msgstr " Tabela de Versão:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s para %s compilado em %s %s\n"
@@ -836,7 +836,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr "%s já está na versão mais recente.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s está definido para ser instalado manualmente.\n"
@@ -950,8 +950,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Após esta operação, será libertado %sB de espaço em disco.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Não foi possível determinar o espaço livre em %s"
@@ -988,7 +988,7 @@ msgstr "Abortado."
msgid "Do you want to continue [Y/n]? "
msgstr "Deseja continuar [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Falhou obter %s %s\n"
@@ -997,7 +997,7 @@ msgstr "Falhou obter %s %s\n"
msgid "Some files failed to download"
msgstr "Falhou o download de alguns ficheiros"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Download completo e em modo de fazer apenas o download"
@@ -1039,31 +1039,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Nota: Isto foi feito automaticamente e intencionalmente pelo dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignorar o lançamento pretendido, não disponível, '%s' do pacote '%s'"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "A escolher '%s' como pacote pacote de código fonte em vez de '%s'\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignorar a versão '%s', não disponível, do pacote '%s'"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "O comando update não leva argumentos"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Não é suposto nós apagarmos coisas, não pode iniciar o AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1081,15 +1081,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "A seguinte informação pode ajudar a resolver a situação:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Erro Interno, o AutoRemover estragou coisas"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1101,7 +1101,7 @@ msgstr[1] ""
"Os seguintes pacotes foram instalados automaticamente e já não são "
"necessários:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1110,19 +1110,19 @@ msgstr[0] "O pacote %lu foi instalado automaticamente e já não é necessário.
msgstr[1] ""
"Os pacotes %lu foram instalados automaticamente e já não são necessários.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Utilize 'apt-get autoremove' para os remover."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Erro Interno, AllUpgrade estragou algo"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Você deve querer executar 'apt-get -f install' para corrigir estes:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1130,7 +1130,7 @@ msgstr ""
"Dependências não satisfeitas. Tente 'apt-get -f install' sem nenhum pacote "
"(ou especifique uma solução)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1142,73 +1142,73 @@ msgstr ""
"distribuição unstable em que alguns pacotes pedidos ainda não foram \n"
"criados ou foram movidos do Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Pacotes estragados"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Os seguintes pacotes extra serão instalados:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Pacotes sugeridos:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Pacotes recomendados:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Impossível encontrar o pacote %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s está definido para ser instalado automaticamente.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "A calcular a actualização... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Falhou"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Pronto"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Erro Interno, o solucionador de problemas estragou coisas"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Impossível criar acesso exclusivo ao directório de downloads"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Tem de especificar pelo menos um pacote para obter o código fonte de"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Não foi possível encontrar um pacote de código fonte para %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1218,7 +1218,7 @@ msgstr ""
"'%s' em:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1229,82 +1229,98 @@ msgstr ""
"bzr get %s\n"
"para obter as últimas actualizações (possivelmente por lançar) ao pacote.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "A saltar o ficheiro '%s', já tinha sido feito download'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Você não possui espaço livre suficiente em %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "É necessário obter %sB/%sB de arquivos de código fonte.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "É necessário obter %sB de arquivos de código fonte.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Obter código fonte %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Falhou obter alguns arquivos."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
"A saltar a descompactação do pacote de código fonte já descompactado em %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "O comando de descompactação '%s' falhou.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Verifique se o pacote 'dpkg-dev' está instalado.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "O comando de compilação '%s' falhou.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "O processo filho falhou"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Deve especificar pelo menos um pacote para verificar as dependências de "
"compilação"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
"Não foi possível obter informações de dependências de compilação para %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s não tem dependências de compilação.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"a dependência de %s para %s não pôde ser satisfeita porque o pacote %s não "
+"pôde ser encontrado"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1313,46 +1329,55 @@ msgstr ""
"a dependência de %s para %s não pôde ser satisfeita porque o pacote %s não "
"pôde ser encontrado"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Falha ao satisfazer a dependência %s para %s: O pacote instalado %s é "
+"demasiado novo"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"a dependência de %s para %s não pode ser satisfeita porque nenhuma versão "
"disponível do pacote %s pode satisfazer os requisitos de versão"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Falha ao satisfazer a dependência %s para %s: O pacote instalado %s é "
-"demasiado novo"
+"a dependência de %s para %s não pôde ser satisfeita porque o pacote %s não "
+"pôde ser encontrado"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Falha ao satisfazer a dependência %s para %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Não foi possível satisfazer as dependências de compilação para %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Falhou processar as dependências de compilação"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "A Ligar a %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Módulos Suportados:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1443,7 +1468,7 @@ msgstr ""
"apt-get(8), sources.list(5) e apt.conf(5)\n"
" Este APT tem Poderes de Super Vaca.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1760,8 +1785,8 @@ msgstr "O ficheiro %s/%s substitui o que está no pacote %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1794,7 +1819,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "A ler as listas de pacotes"
@@ -2162,38 +2187,32 @@ msgstr "Algo estranho aconteceu ao resolver '%s:%s' (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Não foi possível ligar a %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Nenhum keyring instalado em %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Erro interno: Assinatura válida, mas não foi possível determinar a impressão "
"digital da chave?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Pelo menos uma assinatura inválida foi encontrada."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Não foi possível executar 'gpgv' para verificar a assinatura (o gpgv está "
"instalado?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Erro desconhecido ao executar gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "As seguintes assinaturas eram inválidas:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2354,60 +2373,60 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "A selecção %s não foi encontrada"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Abreviatura de tipo desconhecida: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "A abrir o ficheiro de configuração %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Erro de sintaxe %s:%u: O bloco começa sem nome."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Erro de sintaxe %s:%u: Tag mal formada"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Erro de sintaxe %s:%u: Lixo extra depois do valor"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Erro de sintaxe %s:%u: Directivas só podem ser feitas no nível mais alto"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Erro de sintaxe %s:%u: Demasiados includes encadeados"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Erro de sintaxe %s:%u: Incluído a partir deste ponto"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Erro de sintaxe %s:%u: Directiva '%s' não suportada"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Erro de sintaxe %s:%u: directiva clara necessita de uma árvore de opções "
"como argumento"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Erro de sintaxe %s:%u: Lixo extra no final do ficheiro"
@@ -2553,7 +2572,7 @@ msgstr "O sub-processo %s retornou um código de erro (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "O sub-processo %s terminou inesperadamente"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Não foi possível abrir ficheiro o %s"
@@ -2783,7 +2802,7 @@ msgstr "Linha mal formada %u na lista de fontes %s (tipo)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "O tipo '%s' não é conhecido na linha %u na lista de fontes %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2792,7 +2811,7 @@ msgstr ""
"Não foi possível proceder à configuração imediata em '%s'. Para detalhes, "
"por favor veja man 5 apt.conf em APT::Immediate-Configure. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2804,7 +2823,7 @@ msgstr ""
"normalmente é mau, mas se você quer realmente fazer isso, active a opção "
"APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2840,7 +2859,7 @@ msgstr ""
"Não foi possível corrigir problemas, você tem pacotes mantidos (hold) "
"estragados."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2892,12 +2911,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
"Por favor insira o disco denominado: '%s' no leitor '%s' e pressione enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Sistema de empacotamento '%s' não é suportado"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr ""
"Não foi possível determinar um tipo de sistema de empacotamento adequado"
@@ -2925,17 +2944,24 @@ msgstr "Você terá que executar apt-get update para corrigir estes problemas"
msgid "The list of sources could not be read."
msgstr "A lista de fontes não pôde ser lida."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Registo inválido no ficheiro de preferências %s, sem cabeçalho Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Não foi possível entender o tipo de marca (pin) %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Nenhuma prioridade (ou zero) especificada para marcação (pin)"
@@ -3030,7 +3056,7 @@ msgstr "Não foi possível executar stat à lista de pacotes de código fonte %s
msgid "Collecting File Provides"
msgstr "A obter File Provides"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Erro de I/O ao gravar a cache de código fonte"
@@ -3043,8 +3069,8 @@ msgstr "falhou renomear, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5Sum não coincide"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Código de verificação hash não coincide"
@@ -3066,20 +3092,19 @@ msgstr ""
"Não existe qualquer chave pública disponível para as seguintes IDs de "
"chave:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Ficheiro Release expirou, a ignorar %s (inválido desde %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Distribuição em conflito: %s (esperado %s mas obtido %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3090,12 +3115,12 @@ msgstr ""
"GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Erro GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3105,7 +3130,7 @@ msgstr ""
"significar que você precisa corrigir manualmente este pacote. (devido a "
"arquitectura em falta)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3114,7 +3139,7 @@ msgstr ""
"Não foi possível localizar arquivo para o pacote %s. Isto pode significar "
"que você precisa consertar manualmente este pacote."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3122,7 +3147,7 @@ msgstr ""
"Os arquivos de índice de pacotes estão corrompidos. Nenhum campo Filename: "
"para o pacote %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Tamanho incorrecto"
@@ -3246,22 +3271,22 @@ msgstr "A escrever lista de novas source\n"
msgid "Source list entries for this disc are:\n"
msgstr "As entradas de listas de Source para este Disco são:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Escreveu %i registos.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Escreveu %i registos com %i ficheiros em falta.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Escreveu %i registos com %i ficheiros não coincidentes\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3283,6 +3308,17 @@ msgstr "Não foi possível encontrar registo de autenticação para: %s"
msgid "Hash mismatch for: %s"
msgstr "Hash não coincide para: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Nenhum keyring instalado em %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3547,6 +3583,9 @@ msgstr "Ligação encerrada prematuramente"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Erro interno, grupo '%s' não tem pseudo-pacote instalável"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Ficheiro Release expirou, a ignorar %s (inválido desde %s)"
+
#~ msgid "You must give exactly one pattern"
#~ msgstr "Você deve dar exactamente um pattern"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 958b4f937..8b12ec033 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-11-17 02:33-0200\n"
"Last-Translator: Felipe Augusto van de Wiel (faw) <faw@debian.org>\n"
"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
@@ -158,7 +158,7 @@ msgstr " Tabela de versão:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s para %s compilado em %s %s\n"
@@ -842,7 +842,7 @@ msgstr "A reinstalação de %s não é possível, não pode ser baixado.\n"
msgid "%s is already the newest version.\n"
msgstr "%s já é a versão mais nova.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s configurado para instalar manualmente.\n"
@@ -957,8 +957,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Depois desta operação, %sB de espaço em disco serão liberados.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Não foi possível determinar o espaço livre em %s"
@@ -995,7 +995,7 @@ msgstr "Abortar."
msgid "Do you want to continue [Y/n]? "
msgstr "Você quer continuar [S/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Falhou ao buscar %s %s\n"
@@ -1004,7 +1004,7 @@ msgstr "Falhou ao buscar %s %s\n"
msgid "Some files failed to download"
msgstr "Alguns arquivos falharam ao baixar"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Baixar completo e no modo somente baixar (\"download only\")"
@@ -1042,31 +1042,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Não foi possível executar \"stat\" na lista de pacotes fonte %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "O comando update não leva argumentos"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Nós não deveríamos apagar coisas, impossível iniciar AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1084,15 +1084,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "A informação a seguir pode ajudar a resolver a situação:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Erro Interno, o AutoRemover quebrou coisas"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1106,7 +1106,7 @@ msgstr[1] ""
"Os seguintes pacotes foram automaticamente instalados e não são mais "
"requeridos:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1118,19 +1118,19 @@ msgstr[1] ""
"Os seguintes pacotes foram automaticamente instalados e não são mais "
"requeridos:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Use 'apt-get autoremove' para removê-los."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Erro interno, AllUpgrade quebrou coisas"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Você deve querer executar 'apt-get -f install' para corrigí-los:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1138,7 +1138,7 @@ msgstr ""
"Dependências desencontradas. Tente 'apt-get -f install' sem nenhum pacote "
"(ou especifique uma solução)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1150,80 +1150,80 @@ msgstr ""
"distribuição instável, que alguns pacotes requeridos não foram\n"
"criados ainda ou foram retirados da \"Incoming\"."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Pacotes quebrados"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Os pacotes extra a seguir serão instalados:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Pacotes sugeridos:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Pacotes recomendados:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Impossível achar pacote %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s configurado para instalar manualmente.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Calculando atualização... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Falhou"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Pronto"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Erro interno, o solucionador de problemas quebrou coisas"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Impossível criar trava no diretório de download"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Deve-se especificar pelo menos um pacote para que se busque o fonte"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Impossível encontrar um pacote fonte para %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1231,80 +1231,96 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Pulando arquivo já baixado '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Você não possui espaço livre suficiente em %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Preciso obter %sB/%sB de arquivos fonte.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Preciso obter %sB de arquivos fonte.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Obter fonte %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Falhou ao buscar alguns arquivos."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Pulando o desempacotamento de fontes já desempacotados em %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Comando de desempacotamento '%s' falhou.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Confira se o pacote 'dpkg-dev' está instalado.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Comando de construção '%s' falhou.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Processo filho falhou"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Deve-se especificar pelo menos um pacote para que se cheque as dependências "
"de construção"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Impossível conseguir informações de dependência de construção para %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s não tem dependências de construção.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"a dependência de %s por %s não pode ser satisfeita porque o pacote %s não "
+"pode ser encontrado"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1313,46 +1329,55 @@ msgstr ""
"a dependência de %s por %s não pode ser satisfeita porque o pacote %s não "
"pode ser encontrado"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Falhou ao satisfazer a dependência de %s por %s: Pacote instalado %s é muito "
+"novo"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"a dependência de %s por %s não pode ser satisfeita porque nenhuma versão "
"disponível do pacote %s pode satisfazer os requerimentos de versão"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Falhou ao satisfazer a dependência de %s por %s: Pacote instalado %s é muito "
-"novo"
+"a dependência de %s por %s não pode ser satisfeita porque o pacote %s não "
+"pode ser encontrado"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Falhou ao satisfazer a dependência de %s por %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Não foi possível satisfazer as dependências de compilação para %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Falhou ao processar as dependências de construção"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Conectando em %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Módulos para os quais há suporte:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1440,7 +1465,7 @@ msgstr ""
"para mais informações e opções.\n"
" Este APT tem Poderes de Super Vaca.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1755,8 +1780,8 @@ msgstr "Arquivo %s/%s sobrescreve arquivo no pacote %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1788,7 +1813,7 @@ msgstr "Os diretórios info e temp precisam estar no mesmo sistema de arquivos"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Lendo listas de pacotes"
@@ -2157,39 +2182,33 @@ msgstr "Algo estranho aconteceu resolvendo '%s:%s' (%i)"
msgid "Unable to connect to %s:%s:"
msgstr "Impossível conectar em %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Abortando instalação."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Erro interno: Assinatura boa, mas não foi possível determinar a impressão "
"digital da chave?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Ao menos uma assinatura inválida foi encontrada."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Não foi possível executar '%s' para verificar a assinatura (o gpgv está "
"instalado?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Erro desconhecido executando gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "As seguintes assinaturas eram inválidas:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2346,59 +2365,59 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Seleção %s não encontrada"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Abreviação de tipo desconhecida: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Abrindo arquivo de configuração %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Erro de sintaxe %s:%u: Bloco inicia sem nome."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Erro de sintaxe %s:%u: Tag mal formada"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Erro de sintaxe %s:%u: Lixo extra depois do valor"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Erro de sintaxe %s:%u: Diretivas podem ser feitas somente no nível mais alto"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Erro de sintaxe %s:%u: Muitos \"includes\" aninhados"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Erro de sintaxe %s:%u: Incluído a partir deste ponto"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Erro de sintaxe %s:%u: Não há suporte para a diretiva '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Erro de sintaxe %s:%u: Diretivas podem ser feitas somente no nível mais alto"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Erro de sintaxe %s:%u: Lixo extra no final do arquivo"
@@ -2542,7 +2561,7 @@ msgstr "Sub-processo %s retornou um código de erro (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Sub-processo %s finalizou inesperadamente"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Não foi possível abrir arquivo %s"
@@ -2774,14 +2793,14 @@ msgstr "Linha mal formada %u no arquivo de fontes %s (tipo)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Tipo '%s' não é conhecido na linha %u na lista de fontes %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2793,7 +2812,7 @@ msgstr ""
"é ruim, mas se você realmente quer fazer isso, ative a opção APT::Force-"
"LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2825,7 +2844,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Impossível corrigir problemas, você manteve (hold) pacotes quebrados."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2877,12 +2896,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
"Por favor, insira o disco nomeado: '%s' na unidade '%s' e pressione enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Sistema de empacotamento '%s' não é suportado"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Impossível determinar um tipo de sistema de empacotamento aplicável."
@@ -2909,17 +2928,24 @@ msgstr "Você terá que executar apt-get update para corrigir estes problemas"
msgid "The list of sources could not be read."
msgstr "A lista de fontes não pode ser lida."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Registro inválido no arquivo de preferências, sem cabeçalho Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Não foi possível entender o tipo de \"pin\" %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Nenhuma prioridade (ou zero) especificada para \"pin\""
@@ -3014,7 +3040,7 @@ msgstr "Não foi possível executar \"stat\" na lista de pacotes fonte %s"
msgid "Collecting File Provides"
msgstr "Coletando Arquivo \"Provides\""
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Erro de E/S ao gravar cache fonte"
@@ -3027,8 +3053,8 @@ msgstr "renomeação falhou, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5Sum incorreto"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hash Sum incorreto"
@@ -3048,20 +3074,19 @@ msgstr "Impossível analisar arquivo de pacote %s (1)"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Não existem chaves públicas para os seguintes IDs de chaves:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3069,12 +3094,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3084,7 +3109,7 @@ msgstr ""
"que você precisa consertar manualmente este pacote. (devido a arquitetura "
"não especificada)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3093,7 +3118,7 @@ msgstr ""
"Não foi possível localizar arquivo para o pacote %s. Isto pode significar "
"que você precisa consertar manualmente este pacote."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3101,7 +3126,7 @@ msgstr ""
"Os arquivos de índice de pacotes estão corrompidos. Nenhum campo \"Filename:"
"\" para o pacote %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Tamanho incorreto"
@@ -3223,22 +3248,22 @@ msgstr "Gravando nova lista de fontes\n"
msgid "Source list entries for this disc are:\n"
msgstr "Entradas na lista de fontes para este disco são:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Gravados %i registros.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Gravados %i registros com %i arquivos faltando.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Gravados %i registros com %i arquivos que não combinam\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3260,6 +3285,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Hash Sum incorreto"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Abortando instalação."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/ro.po b/po/ro.po
index 3e10734cf..9fa1d8805 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ro\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-11-15 02:21+0200\n"
"Last-Translator: Eddy Petrișor <eddy.petrisor@gmail.com>\n"
"Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
@@ -159,7 +159,7 @@ msgstr " Tabela de versiuni:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s pentru %s compilat la %s %s\n"
@@ -843,7 +843,7 @@ msgstr "Reinstalarea lui %s nu este posibilă, nu poate fi descărcat.\n"
msgid "%s is already the newest version.\n"
msgstr "%s este deja la cea mai nouă versiune.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s este marcat ca fiind instalat manual.\n"
@@ -956,8 +956,8 @@ msgstr "După această operație vor fi folosiți din disc încă %sB.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "După această operație se vor elibera %sB din spațiul ocupat pe disc.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "N-am putut determina spațiul disponibil în %s"
@@ -995,7 +995,7 @@ msgstr "Renunțare."
msgid "Do you want to continue [Y/n]? "
msgstr "Vreți să continuați [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Eșec la aducerea lui %s %s\n"
@@ -1004,7 +1004,7 @@ msgstr "Eșec la aducerea lui %s %s\n"
msgid "Some files failed to download"
msgstr "Descărcarea unor fișiere a eșuat"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Descărcare completă și în modul doar descărcare"
@@ -1043,32 +1043,32 @@ msgstr[2] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Nu pot determina starea listei surse de pachete %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Comanda de actualizare nu are argumente"
# XXX: orice sugestie este bine-venită
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Nu este voie să se șteargă lucruri, nu se poate porni AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1087,15 +1087,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Următoarele informații ar putea să vă ajute la rezolvarea situației:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Eroare internă, AutoRemover a deteriorat diverse chestiuni"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1109,7 +1109,7 @@ msgstr[1] ""
msgstr[2] ""
"Următoarele pachete au fost instalate automat și nu mai sunt necesare:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1121,19 +1121,19 @@ msgstr[1] ""
msgstr[2] ""
"Următoarele pachete au fost instalate automat și nu mai sunt necesare:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Folosiți 'apt-get autoremove' pentru a le șterge."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Eroare internă, înnoire totală a defectat diverse chestiuni"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Ați putea porni 'apt-get -f install' pentru a corecta acestea:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1141,7 +1141,7 @@ msgstr ""
"Dependențe neîndeplinite. Încercați 'apt-get -f install' fără nici un pachet "
"(sau oferiți o altă soluție)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1154,81 +1154,81 @@ msgstr ""
"pachete\n"
"cerute n-au fost create încă sau au fost mutate din Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Pachete deteriorate"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Următoarele extra pachete vor fi instalate:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Pachete sugerate:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Pachete recomandate:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Nu pot găsi pachetul %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s este marcat ca fiind instalat manual.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Calculez înnoirea... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Eșec"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Terminat"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr ""
"Eroare internă, rezolvatorul de probleme a deteriorat diverse chestiuni"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Nu s-a putut bloca directorul de descărcare"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Trebuie specificat cel puțin un pachet pentru a-i aduce sursa"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Nu s-a putut găsi o sursă pachet pentru %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1236,80 +1236,96 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Sar peste fișierul deja descărcat '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Nu aveți suficient spațiu în %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Este nevoie să descărcați %sB/%sB din arhivele surselor.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Este nevoie să descărcați %sB din arhivele surselor.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Aducere sursa %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Eșec la aducerea unor arhive."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Sar peste despachetarea sursei deja despachetate în %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Comanda de despachetare '%s' eșuată.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Verificați dacă pachetul 'dpkg-dev' este instalat.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Comanda de construire '%s' eșuată.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Procesul copil a eșuat"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Trebuie specificat cel puțin un pachet pentru a-i verifica dependențele "
"înglobate"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Nu pot prelua informațiile despre dependențele înglobate ale lui %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s nu are dependențe înglobate.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"Dependența lui %s de %s nu poate fi satisfăcută deoarece pachetul %s nu "
+"poate fi găsit"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1318,46 +1334,55 @@ msgstr ""
"Dependența lui %s de %s nu poate fi satisfăcută deoarece pachetul %s nu "
"poate fi găsit"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Eșec la satisfacerea dependenței %s pentru %s: Pachetul instalat %s este "
+"prea nou"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"Dependența lui %s de %s nu poate fi satisfăcută deoarece nici o versiune "
"disponibilă a pachetului %s nu poate satisface versiunile cerute"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Eșec la satisfacerea dependenței %s pentru %s: Pachetul instalat %s este "
-"prea nou"
+"Dependența lui %s de %s nu poate fi satisfăcută deoarece pachetul %s nu "
+"poate fi găsit"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Eșec la satisfacerea dependenței %s pentru %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Dependențele înglobate pentru %s nu pot fi satisfăcute."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Eșec la prelucrarea dependențelor de compilare"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Conectare la %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Module suportate:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1446,7 +1471,7 @@ msgstr ""
"pentru mai multe informații și opțiuni.\n"
" Acest APT are puterile unei Super Vaci.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1761,8 +1786,8 @@ msgstr "Fișierul %s/%s îl suprascrie pe cel din pachetul %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1794,7 +1819,7 @@ msgstr "Directoarele info și temp trebuie să fie în același sistem de fișie
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Citire liste de pachete"
@@ -2170,38 +2195,32 @@ msgstr "S-a întâmplat ceva „necurat†la rezolvarea lui „%s:%s†(%i)"
msgid "Unable to connect to %s:%s:"
msgstr "Nu s-a putut realiza conexiunea cu %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Abandonez instalarea."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Eroare internă: Semnătură corespunzătoare, dar nu s-a putut determina "
"amprenta digitale a cheii?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Cel puțin o semnătură nevalidă a fost întâlnită."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Nu s-a putut executa „%s†pentru verificarea semnăturii (gpgv este instalat?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Eroare necunoscută în timp ce se execută gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Următoarele semnături nu au fost valide:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2359,59 +2378,59 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Selecția %s nu a fost găsită"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Abreviere de tip nerecunoscut: „%câ€"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Se deschide fișierul de configurare %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Eroare de sintaxă %s:%u: Blocul începe fără nume"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Eroare de sintaxă %s:%u: etichetă greșită"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Eroare de sintaxă %s:%u: mizerii suplimentare după valoare"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Eroare de sintaxă %s:%u: Directivele pot fi date doar la nivelul superior"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Eroare de sintaxă %s:%u: prea multe imbricări incluse"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Eroare de sintaxă %s:%u: incluse de aici"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Eroare de sintaxă %s:%u: directivă nesuportată '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Eroare de sintaxă %s:%u: Directivele pot fi date doar la nivelul superior"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Eroare de sintaxă %s:%u: mizerii suplimentare la sfârșitul fișierului"
@@ -2555,7 +2574,7 @@ msgstr "Subprocesul %s a întors un cod de eroare (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Subprocesul %s s-a terminat brusc"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Nu s-a putut deschide fișierul %s"
@@ -2782,14 +2801,14 @@ msgstr "Linie greșită %u în lista sursă %s (tip)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Tipul '%s' nu este cunoscut în linia %u din lista sursă %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2801,7 +2820,7 @@ msgstr ""
"nu-i de bine, dar dacă vreți întradevăr s-o faceți, activați opțiunea APT::"
"Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2832,7 +2851,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Nu pot corecta problema, ați ținut pachete deteriorate."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2884,12 +2903,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
"Vă rog introduceți discul numit: '%s' în unitatea '%s' și apăsați Enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Sistemul de pachete '%s' nu este suportat"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Nu s-a putut determina un tip de sistem de împachetare potrivit"
@@ -2917,17 +2936,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "Lista surselor nu poate fi citită."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Înregistrare invalidă în fișierul de preferințe, fără antet de pachet"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Nu s-a înțeles tipul de pin %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Fără prioritate (sau zero) specificată pentru pin"
@@ -3022,7 +3048,7 @@ msgstr "Nu pot determina starea listei surse de pachete %s"
msgid "Collecting File Provides"
msgstr "Colectare furnizori fișier"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Eroare IO în timpul salvării sursei cache"
@@ -3035,8 +3061,8 @@ msgstr "redenumire eșuată, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Nepotrivire MD5Sum"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Nepotrivire la suma de căutare"
@@ -3058,20 +3084,19 @@ msgstr ""
"Nu există nici o cheie publică disponibilă pentru următoarele "
"identificatoare de chei:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3079,12 +3104,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3093,7 +3118,7 @@ msgstr ""
"N-am putut localiza un fișier pentru pachetul %s. Aceasta ar putea însemna "
"că aveți nevoie să reparați manual acest pachet (din pricina unui arch lipsă)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3102,7 +3127,7 @@ msgstr ""
"N-am putut localiza un fișier pentru pachetul %s. Aceasta ar putea însemna "
"că aveți nevoie să depanați manual acest pachet."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3110,7 +3135,7 @@ msgstr ""
"Fișierele index de pachete sunt deteriorate. Fără câmpul 'nume fișier:' la "
"pachetul %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Nepotrivire dimensiune"
@@ -3233,22 +3258,22 @@ msgstr "Scriere noua listă sursă\n"
msgid "Source list entries for this disc are:\n"
msgstr "Intrările listei surselor pentru acest disc sunt:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "S-au scris %i înregistrări.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "S-au scris %i înregistrări cu %i fișiere lipsă.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "S-au scris %i înregistrări cu %i fișiere nepotrivite\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3269,6 +3294,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Nepotrivire la suma de căutare"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Abandonez instalarea."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/ru.po b/po/ru.po
index 95aa3ddaa..ceb5e60d0 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.0~pre1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-08-24 21:35+0400\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
@@ -163,7 +163,7 @@ msgstr " Таблица верÑий:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s Ð´Ð»Ñ %s Ñкомпилирован %s %s\n"
@@ -845,7 +845,7 @@ msgstr "ПереуÑтановка %s невозможна, он не Ñкачи
msgid "%s is already the newest version.\n"
msgstr "Уже уÑтановлена ÑÐ°Ð¼Ð°Ñ Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ %s.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s уÑтановлен вручную.\n"
@@ -965,8 +965,8 @@ msgstr ""
"ПоÑле данной операции, объём занÑтого диÑкового проÑтранÑтва уменьшитÑÑ Ð½Ð° "
"%sB.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Ðе удалоÑÑŒ определить количеÑтво Ñвободного меÑта в %s"
@@ -1005,7 +1005,7 @@ msgstr "Ðварийное завершение."
msgid "Do you want to continue [Y/n]? "
msgstr "Хотите продолжить [Д/н]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Ðе удалоÑÑŒ получить %s %s\n"
@@ -1014,7 +1014,7 @@ msgstr "Ðе удалоÑÑŒ получить %s %s\n"
msgid "Some files failed to download"
msgstr "Ðекоторые файлы Ñкачать не удалоÑÑŒ"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Указан режим \"только Ñкачивание\", и Ñкачивание завершено"
@@ -1059,31 +1059,31 @@ msgstr[2] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Замечание: Ñто Ñделано автоматичеÑки и Ñпециально программой dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "ИгнорируетÑÑ Ð½ÐµÐ´Ð¾Ñтупный выпуÑк '%s' пакета '%s'"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "ИÑпользуетÑÑ '%s' в качеÑтве иÑходного пакета вмеÑто '%s'\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "ИгнорируетÑÑ Ð½ÐµÐ´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ '%s' пакета '%s'"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Команде update не нужны аргументы"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Ðе предполагалоÑÑŒ удалÑÑ‚ÑŒ stuff, невозможно запуÑтить AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1101,15 +1101,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ, возможно, поможет вам:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°, AutoRemover вÑÑ‘ поломал"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1121,7 +1121,7 @@ msgstr[1] ""
msgstr[2] ""
"Следующие пакеты уÑтанавливалиÑÑŒ автоматичеÑки и больше не требуютÑÑ:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1130,21 +1130,21 @@ msgstr[0] "%lu пакет был уÑтановлен автоматичеÑки
msgstr[1] "%lu пакета было уÑтановлено автоматичеÑки и больше не требуетÑÑ.\n"
msgstr[2] "%lu пакетов было уÑтановлены автоматичеÑки и больше не требуютÑÑ.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Ð”Ð»Ñ Ð¸Ñ… ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ñпользуйте 'apt-get autoremove'."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°, AllUpgrade вÑÑ‘ поломал"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"Возможно, длÑ иÑправлениÑ Ñтих ошибок вы захотите воÑпользоватьÑÑ `apt-get -"
"f install':"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1152,7 +1152,7 @@ msgstr ""
"Ðеудовлетворённые завиÑимоÑти. ПопытайтеÑÑŒ выполнить 'apt-get -f install', "
"не ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ Ð¸Ð¼ÐµÐ½Ð¸ пакета, (или найдите другое решение)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1163,74 +1163,74 @@ msgstr ""
"или же иÑпользуете неÑтабильную верÑию диÑтрибутива, где запрошенные вами\n"
"пакеты ещё не Ñозданы или были удалены из Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Сломанные пакеты"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Будут уÑтановлены Ñледующие дополнительные пакеты:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Предлагаемые пакеты:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Рекомендуемые пакеты:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Ðе удалоÑÑŒ найти пакет %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s выбран Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой уÑтановки.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "РаÑчёт обновлений... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Ðеудачно"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Готово"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°, решатель проблем вÑÑ‘ поломал"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Ðевозможно заблокировать каталог, куда ÑкладываютÑÑ Ñкачиваемые файлы"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"Укажите как минимум один пакет, иÑходный код которого необходимо получить"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Ðевозможно найти пакет Ñ Ð¸Ñходным кодом Ð´Ð»Ñ %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1239,7 +1239,7 @@ msgstr ""
"Ð’ÐИМÐÐИЕ: упаковка %s поддерживаетÑÑ Ð² ÑиÑтеме ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð²ÐµÑ€Ñий %s:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1250,80 +1250,96 @@ msgstr ""
"bzr get %s\n"
"Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñледних (возможно не выпущенных) обновлений пакета.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "ПропуÑкаем уже Ñкачанный файл %s\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "ÐедоÑтаточно меÑта в %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Ðеобходимо получить %sб/%sб архивов иÑходного кода.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Ðеобходимо получить %sб архивов иÑходного кода.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Получение иÑходного кода %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Ðекоторые архивы не удалоÑÑŒ получить."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "ПропуÑкаетÑÑ Ñ€Ð°Ñпаковка уже раÑпакованного иÑходного кода в %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Команда раÑпаковки '%s' завершилаÑÑŒ неудачно.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Проверьте, уÑтановлен ли пакет 'dpkg-dev'.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Команда Ñборки '%s' завершилаÑÑŒ неудачно.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Порождённый процеÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»ÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ завиÑимоÑтей Ð´Ð»Ñ Ñборки необходимо указать как минимум один "
"пакет"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Ðевозможно получить информацию о завиÑимоÑÑ‚ÑÑ… Ð´Ð»Ñ Ñборки %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s не имеет завиÑимоÑтей Ð´Ð»Ñ Ñборки.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"ЗавиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ %s не может быть удовлетворена, так как пакет %s не "
+"найден"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1332,46 +1348,55 @@ msgstr ""
"ЗавиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ %s не может быть удовлетворена, так как пакет %s не "
"найден"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Ðе удалоÑÑŒ удовлетворить завиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s: УÑтановленный "
+"пакет %s новее, чем надо"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"ЗавиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ %s не может быть удовлетворена, поÑкольку ни одна из "
"верÑий пакета %s не удовлетворÑет требованиÑм"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Ðе удалоÑÑŒ удовлетворить завиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s: УÑтановленный "
-"пакет %s новее, чем надо"
+"ЗавиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ %s не может быть удовлетворена, так как пакет %s не "
+"найден"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Ðевозможно удовлетворить завиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "ЗавиÑимоÑти Ð´Ð»Ñ Ñборки %s не могут быть удовлетворены."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Обработка завиÑимоÑтей Ð´Ð»Ñ Ñборки завершилаÑÑŒ неудачно"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Соединение Ñ %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Поддерживаемые модули:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1464,7 +1489,7 @@ msgstr ""
"ÑодержитÑÑ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ опиÑание параметров.\n"
" Ð’ APT еÑÑ‚ÑŒ ÐºÐ¾Ñ€Ð¾Ð²ÑŒÑ Ð¡Ð£ÐŸÐ•Ð Ð¡Ð˜Ð›Ð.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1779,8 +1804,8 @@ msgstr "Файл %s/%s перепиÑывает файл в пакете %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1812,7 +1837,7 @@ msgstr "Каталоги info и temp должны находитьÑÑ Ð½Ð° оÐ
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Чтение ÑпиÑков пакетов"
@@ -2185,36 +2210,30 @@ msgstr "Что-то Ñтранное произошло при определеÐ
msgid "Unable to connect to %s:%s:"
msgstr "Ðевозможно ÑоединитьÑÑ Ñ %s: %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "СвÑзка ключей в %s не уÑтановлена."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: ÐŸÑ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ, но не удалоÑÑŒ определить отпечаток "
"ключа?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Ðайдена как минимум одна Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "Ðе удалоÑÑŒ выполнить gpgv Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ подпиÑи (gpgv уÑтановлена?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при выполнении gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Следующие подпиÑи неверные:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2374,61 +2393,61 @@ msgstr "%liÑ"
msgid "Selection %s not found"
msgstr "Ðе найдено: %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð°Ð±Ð±Ñ€ÐµÐ²Ð¸Ð°Ñ‚ÑƒÑ€Ð° типа: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Открытие файла наÑтройки %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: в начале блока нет имени."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: иÑкажённый тег"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: лишние Ñимволы поÑле значениÑ"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: директивы могут задаватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на верхнем "
"уровне"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: Ñлишком много вложенных include"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u вызвана include из Ñтого меÑта"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: не Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: Ð´Ð»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñ‹ clear требуетÑÑ Ñ‚Ñ€ÐµÑ‚Ð¸Ð¹ параметр в "
"качеÑтве аргумента"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: лишние Ñимволы в конце файла"
@@ -2576,7 +2595,7 @@ msgstr "Порождённый процеÑÑ %s вернул код ошибкÐ
msgid "Sub-process %s exited unexpectedly"
msgstr "Порождённый процеÑÑ %s неожиданно завершилÑÑ"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Ðе удалоÑÑŒ открыть файл %s"
@@ -2808,7 +2827,7 @@ msgstr "ИÑÐºÐ°Ð¶Ñ‘Ð½Ð½Ð°Ñ Ñтрока %u в ÑпиÑке иÑточникоÐ
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "ÐеизвеÑтный тип '%s' в Ñтроке %u в ÑпиÑке иÑточников %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2817,7 +2836,7 @@ msgstr ""
"Ðе удалоÑÑŒ выполнить оперативную наÑтройку '%s'. Подробней, Ñмотрите в man 5 "
"apt.conf о APT::Immediate-Configure. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2830,7 +2849,7 @@ msgstr ""
"ЕÑли вы дейÑтвительно хотите продолжить, уÑтановите параметр APT::Force-"
"LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2863,7 +2882,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Ðевозможно иÑправить ошибки, у Ð²Ð°Ñ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ñ‹ (held) битые пакеты."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2914,12 +2933,12 @@ msgstr "Метод %s запуÑтилÑÑ Ð½Ðµ корректно"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Ð’Ñтавьте диÑк Ñ Ð¼ÐµÑ‚ÐºÐ¾Ð¹ '%s' в уÑтройÑтво '%s' и нажмите ввод."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Менеджер пакетов '%s' не поддерживаетÑÑ"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Ðевозможно определить подходÑщий тип менеджера пакетов"
@@ -2944,17 +2963,24 @@ msgstr "Ð’Ñ‹ можете запуÑтить 'apt-get update' Ð´Ð»Ñ Ð¸ÑпраÐ
msgid "The list of sources could not be read."
msgstr "Ðе читаетÑÑ Ð¿ÐµÑ€ÐµÑ‡ÐµÐ½ÑŒ иÑточников."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле параметров %s: отÑутÑтвует заголовок Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "ÐеизвеÑтный тип фикÑации %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Ð”Ð»Ñ Ñ„Ð¸ÐºÑации не указан приоритет (или указан нулевой)"
@@ -3044,7 +3070,7 @@ msgstr "Ðе удалоÑÑŒ получить атрибуты ÑпиÑка паÐ
msgid "Collecting File Provides"
msgstr "Сбор информации о Provides"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Ошибка ввода/вывода при попытке Ñохранить кÑш иÑточников"
@@ -3057,8 +3083,8 @@ msgstr "переименовать не удалоÑÑŒ, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5Sum не Ñовпадает"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Хеш Ñумма не Ñовпадает"
@@ -3078,20 +3104,19 @@ msgstr "Ðевозможно разобрать Ñодержимое файла
msgid "There is no public key available for the following key IDs:\n"
msgstr "ÐедоÑтупен открытый ключ Ð´Ð»Ñ Ñледующих ID ключей:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Файл Release проÑрочен, игнорируетÑÑ %s (недоÑтоверный Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Конфликт раÑпроÑтранениÑ: %s (ожидалÑÑ %s, но получен %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3101,12 +3126,12 @@ msgstr ""
"иÑпользованы предыдущие индекÑные файлы. Ошибка GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Ошибка GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3115,7 +3140,7 @@ msgstr ""
"Ðе удалоÑÑŒ обнаружить файл пакета %s. Это может означать, что вам придётÑÑ "
"вручную иÑправить Ñтот пакет (возможно, пропущен arch)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3124,13 +3149,13 @@ msgstr ""
"Ðе удалоÑÑŒ обнаружить файл пакета %s. Это может означать, что вам придётÑÑ "
"вручную иÑправить Ñтот пакет."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "Ðекорректный перечень пакетов. Ðет Ð¿Ð¾Ð»Ñ Filename: Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Ðе Ñовпадает размер"
@@ -3254,22 +3279,22 @@ msgstr "ЗапиÑÑŒ нового ÑпиÑка иÑточников\n"
msgid "Source list entries for this disc are:\n"
msgstr "ЗапиÑи в ÑпиÑке иÑточников Ð´Ð»Ñ Ñтого диÑка:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Сохранено %i запиÑей.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Сохранено %i запиÑей Ñ %i отÑутÑтвующими файлами.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Сохранено %i запиÑей Ñ %i неÑовпадающими файлами\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3291,6 +3316,17 @@ msgstr "Ðе удалоÑÑŒ найти аутентификационную за
msgid "Hash mismatch for: %s"
msgstr "Ðе Ñовпадает хеш Ñумма длÑ: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "СвÑзка ключей в %s не уÑтановлена."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3555,6 +3591,10 @@ msgstr "Соединение закрыто преждевременно"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°, группа %s не уÑтанавливаетÑÑ Ð¿Ñевдо-пакетом"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr ""
+#~ "Файл Release проÑрочен, игнорируетÑÑ %s (недоÑтоверный Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ %s)"
+
#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
#~ msgstr ""
#~ "E: Слишком большой ÑпиÑок параметров у Acquire::gpgv::Options. Завершение "
diff --git a/po/sk.po b/po/sk.po
index f62b5c613..474b66881 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-08-24 23:57+0100\n"
"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -157,7 +157,7 @@ msgstr " Tabuľka verzií:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s pre %s skompilovaný %s %s\n"
@@ -831,7 +831,7 @@ msgstr "Nie je možná reinštalácia %s, pretože sa nedá stiahnuť.\n"
msgid "%s is already the newest version.\n"
msgstr "%s je už najnovšej verzie.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s je oznaÄený ako manuálne nainÅ¡talovaný.\n"
@@ -945,8 +945,8 @@ msgstr "Po tejto operácii sa na disku použije Äalších %sB.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Po tejto operácii sa na disku uvoľní %sB.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Na %s sa nedá zistiť veľkosť voľného miesta"
@@ -983,7 +983,7 @@ msgstr "Prerušené."
msgid "Do you want to continue [Y/n]? "
msgstr "Chcete pokraÄovaÅ¥ [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Zlyhalo stiahnutie %s %s\n"
@@ -992,7 +992,7 @@ msgstr "Zlyhalo stiahnutie %s %s\n"
msgid "Some files failed to download"
msgstr "Niektoré súbory sa nedajú stiahnuť"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "SÅ¥ahovanie ukonÄené v režime „iba stiahnuť“"
@@ -1037,31 +1037,31 @@ msgstr[2] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Pozn.: Toto robí dpkg automaticky a zámerne."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignorovať nedostupné cieľové vydanie „%s“ balíka „%s“"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Vyberá sa „%s“ ako zdrojový balík namiesto „%s“\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignorovať nedostupnú verziu „%s“ balíka „%s“"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Príkaz update neprijíma žiadne argumenty"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Nemajú sa odstraňovať veci, nespustí sa AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1079,15 +1079,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Nasledovné informácie vám možno pomôžu vyriešiť túto situáciu:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Vnútorná chyba, AutoRemover nieÄo pokazil"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1100,7 +1100,7 @@ msgstr[1] ""
msgstr[2] ""
"Nasledovné balíky boli nainštalované automaticky a už viac nie sú potrebné:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1112,19 +1112,19 @@ msgstr[1] ""
msgstr[2] ""
"%lu balíkov bolo nainštalovaných automaticky a už viac nie sú potrebné.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Na ich odstránenie použite „apt-get autoremove“."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Vnútorná chyba, AllUpgrade pokazil veci"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Možno to budete chcieť napraviť spustením „apt-get -f install“:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1132,7 +1132,7 @@ msgstr ""
"Nesplnené závislosti. Skúste spustiť „apt-get -f install“ bez balíkov (alebo "
"navrhnite riešenie)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1144,73 +1144,73 @@ msgstr ""
"požadované balíky ešte neboli vytvorené alebo presunuté z fronty\n"
"Novoprichádzajúcich (Incoming) balíkov."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Poškodené balíky"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Nainštalujú sa nasledovné extra balíky:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Navrhované balíky:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "OdporúÄané balíky:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Balík %s sa nedá nájsť"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s je oznaÄený ako automaticky nainÅ¡talovaný.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "PrepoÄítava sa aktualizácia... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Chyba"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Hotovo"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Vnútorná chyba, „problem resolver“ nieÄo pokazil"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Adresár pre sťahovanie sa nedá zamknúť"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Musíte zadať aspoň jeden balík, pre ktorý sa stiahnu zdrojové texty"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Nedá sa nájsť zdrojový balík pre %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1220,7 +1220,7 @@ msgstr ""
"adrese:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1232,125 +1232,146 @@ msgstr ""
"ak chcete získať najnovšie (a pravdepodobne zatiaľ nevydané) aktualizácie "
"balíka.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Preskakuje sa už stiahnutý súbor „%s“\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Na %s nemáte dostatok voľného miesta"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Je potrebné stiahnuť %sB/%sB zdrojových archívov.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Je potrebné stiahnuť %sB zdrojových archívov.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Stiahnuť zdroj %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Zlyhalo stiahnutie niektorých archívov."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Preskakuje sa rozbalenie už rozbaleného zdroja v %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Príkaz na rozbalenie „%s“ zlyhal.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Skontrolujte, Äi je nainÅ¡talovaný balík „dpkg-dev“.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Príkaz na zostavenie „%s“ zlyhal.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Proces potomka zlyhal"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Musíte zadať aspoň jeden balík, pre ktorý sa budú overovať závislosti na "
"zostavenie"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Nedajú sa získať závislosti na zostavenie %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s nemá žiadne závislosti na zostavenie.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "%s závislosť pre %s sa nemôže splniť, pretože sa nedá nájsť balík %s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "%s závislosť pre %s sa nemôže splniť, pretože sa nedá nájsť balík %s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Zlyhalo splnenie %s závislosti pre %s: Inštalovaný balík %s je príliš nový"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s závislosť pre %s sa nedá splniť, pretože sa nedá nájsť verzia balíka %s, "
"ktorá zodpovedá požiadavke na verziu"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr ""
-"Zlyhalo splnenie %s závislosti pre %s: Inštalovaný balík %s je príliš nový"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "%s závislosť pre %s sa nemôže splniť, pretože sa nedá nájsť balík %s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Zlyhalo splnenie %s závislosti pre %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Závislosti na zostavenie %s sa nedajú splniť."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Spracovanie závislostí na zostavenie zlyhalo"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Pripája sa k %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Podporované moduly:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1439,7 +1460,7 @@ msgstr ""
"a apt.conf(5).\n"
" Tento APT má schopnosti posvätnej kravy.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1751,8 +1772,8 @@ msgstr "Súbor %s/%s prepisuje ten z balíka %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1784,7 +1805,7 @@ msgstr "Adresáre info a temp musia byť na tom istom súborovom systéme"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "NaÄítavajú sa zoznamy balíkov"
@@ -2152,34 +2173,28 @@ msgstr "NieÄo veľmi zlé sa prihodilo pri preklade „%s:%s“ (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Nedá sa pripojiť k %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "V %s nie je nainÅ¡talovaný žiaden zväzok kľúÄov."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "Vnútorná chyba: Správna signatúra, ale sa nedá zistiÅ¥ odtlaÄok kľúÄa?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Bola zistená aspoň jedna nesprávna signatúra."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "Nedá sa spustiť „gpgv“ kvôli overeniu podpisu (je nainštalované gpgv?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Neznáma chyba pri spustení gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Nasledovné signatúry sú neplatné:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2339,59 +2354,59 @@ msgstr "%li s"
msgid "Selection %s not found"
msgstr "Voľba %s nenájdená"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Nerozpoznaná skratka typu: „%c“"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Otvára sa konfiguraÄný súbor %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaktická chyba %s:%u: Blok zaÄína bez názvu."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaktická chyba %s:%u: Skomolená znaÄka"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaktická chyba %s:%u: Za hodnotou nasledujú chybné údaje"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Syntaktická chyba %s:%u: Direktívy sa dajú vykonať len na najvyššej úrovni"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaktická chyba %s:%u: Príliš mnoho vnorených prepojení (include)"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaktická chyba %s:%u: Zahrnuté odtiaľ"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaktická chyba %s:%u: Nepodporovaná direktíva „%s“"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Syntaktická chyba %s:%u: direktíva clear vyžaduje ako argument strom volieb"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaktická chyba %s:%u: Na konci súboru sú chybné údaje"
@@ -2534,7 +2549,7 @@ msgstr "Podproces %s vrátil chybový kód (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Podproces %s neoÄakávane skonÄil"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Nedá sa otvoriť súbor %s"
@@ -2762,7 +2777,7 @@ msgstr "Skomolený riadok %u v zozname zdrojov %s (typ)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Typ „%s“ je neznámy na riadku %u v zozname zdrojov %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2771,7 +2786,7 @@ msgstr ""
"Nebolo možné vykonať okamžitú konfiguráciu „%s“. Pozri prosím podrobnosti v "
"man 5 apt.conf pod APT::Immediate-Configure (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2782,7 +2797,7 @@ msgstr ""
"kvôli sluÄke v Conflicts/Pre-Depends. ÄŒasto je to nevhodné, ale ak to chcete "
"naozaj urobiť, aktivujte možnosť APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2814,7 +2829,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Problémy sa nedajú opraviť, niektoré balíky držíte v poškodenom stave."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2865,12 +2880,12 @@ msgstr "Spôsob %s nebol správne spustený"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Vložte disk nazvaný „%s“ do mechaniky „%s“ a stlaÄte Enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Systém balíkov „%s“ nie je podporovaný"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Nedá sa urÄiÅ¥ vhodný typ systému balíkov"
@@ -2895,17 +2910,24 @@ msgstr "Na opravu týchto problémov môžete skúsiť spustiť apt-get update"
msgid "The list of sources could not be read."
msgstr "Nedá sa naÄítaÅ¥ zoznam zdrojov."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Neplatný záznam v súbore nastavení %s, chýba hlaviÄka Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Nezrozumiteľné pridržanie typu %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Nebola zadaná žiadna (alebo nulová) priorita na pridržanie"
@@ -2996,7 +3018,7 @@ msgstr "Nedá sa vyhodnotiť zoznam zdrojových balíkov %s"
msgid "Collecting File Provides"
msgstr "Collecting File poskytuje"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "V/V chyba pri ukladaní zdrojovej vyrovnávacej pamäti"
@@ -3009,8 +3031,8 @@ msgstr "premenovanie zlyhalo, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Nezhoda kontrolných MD5 súÄtov"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Nezhoda kontrolných haÅ¡ súÄtov"
@@ -3030,20 +3052,19 @@ msgstr "Nedá spracovať súbor Release %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Nie sú dostupné žiadne verejné kľúÄe ku kľúÄom s nasledovnými ID:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Platnosť súboru Release vypršala, ignoruje sa %s (neplatný od %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "V konflikte s distribúciou: %s (oÄakávalo sa %s ale dostali sme %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3053,12 +3074,12 @@ msgstr ""
"použijú sa predošlé indexové súbory. Chyba GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Chyba GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3067,7 +3088,7 @@ msgstr ""
"Nedá sa nájsť súbor s balíkom %s. To by mohlo znamenať, že tento balík je "
"potrebné opraviť manuálne (kvôli chýbajúcej architektúre)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3076,13 +3097,13 @@ msgstr ""
"Nedá sa nájsť súbor s balíkom %s. Asi budete musieť opraviť tento balík "
"manuálne."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "Indexové súbory balíka sú narušené. Chýba pole Filename: pre balík %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Veľkosti sa nezhodujú"
@@ -3206,22 +3227,22 @@ msgstr "Zapisuje sa nový zoznam zdrojov\n"
msgid "Source list entries for this disc are:\n"
msgstr "Položky zoznamu zdrojov pre tento disk sú:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Zapísaných %i záznamov.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Zapísaných %i záznamov s %i chýbajúcimi súbormi.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Zapísaných %i záznamov s %i chybnými súbormi\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Zapísaných %i záznamov s %i chýbajúcimi a %i chybnými súbormi\n"
@@ -3241,6 +3262,17 @@ msgstr "Nebolo možné nájsÅ¥ autentifikaÄný záznam pre: %s"
msgid "Hash mismatch for: %s"
msgstr "Nezhoda kontrolných haÅ¡ súÄtov: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "V %s nie je nainÅ¡talovaný žiaden zväzok kľúÄov."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3495,3 +3527,6 @@ msgstr "Spojenie bolo predÄasne ukonÄené"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Vnútorná chyba, skupina „%s“ nemá žiaden inštalovateľný pseudobalík"
+
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Platnosť súboru Release vypršala, ignoruje sa %s (neplatný od %s)"
diff --git a/po/sl.po b/po/sl.po
index bc80a208c..0e2252543 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.5\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2011-03-06 15:47+0000\n"
"Last-Translator: Andrej Znidarsic <andrej.znidarsic@gmail.com>\n"
"Language-Team: Slovenian <sl@li.org>\n"
@@ -157,7 +157,7 @@ msgstr " Preglednica razliÄic:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s za %s kodno preveden na %s %s\n"
@@ -829,7 +829,7 @@ msgstr "Ponovna namestitev %s ni možna, ker prejem ni možen.\n"
msgid "%s is already the newest version.\n"
msgstr "NajnovejÅ¡a razliÄica %s je že nameÅ¡Äena.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s je bil nastavljen na roÄno nameÅ¡Äen.\n"
@@ -943,8 +943,8 @@ msgstr "Po tem opravilu bo porabljenega %sB dodatnega prostora.\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Po tem opravilu bo sproÅ¡Äenega %sB prostora na disku.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Ni mogoÄe doloÄiti prostega prostora v %s"
@@ -981,7 +981,7 @@ msgstr "Prekini."
msgid "Do you want to continue [Y/n]? "
msgstr "Ali želite nadaljevati [Y/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Ni mogoÄe dobiti %s %s\n"
@@ -990,7 +990,7 @@ msgstr "Ni mogoÄe dobiti %s %s\n"
msgid "Some files failed to download"
msgstr "Prejem nekaterih datotek ni uspel"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Prejem je dokonÄan in uporabljen je naÄin samo prejema"
@@ -1038,33 +1038,33 @@ msgstr[3] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Opomba: To je dpkg storil samodejno in namenoma."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Prezri nerazpoložljiv cilj izdaje '%s' paketa '%s'"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Izbiranje '%s' kot vir paketa namesto '%s'\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Prezri nerazpoložljivo razliÄico '%s' paketa '%s'"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Ukaz update ne sprejema argumentov"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Program ne bi smel brisati stvari, ni mogoÄe zagnati "
"SamodejnegaOdstranjevalnika"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1083,15 +1083,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Naslednji podatki vam bodo morda pomagali rešiti težavo:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Notranja napaka, SamodejniOdstranjevalnik je pokvaril stvari"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1103,7 +1103,7 @@ msgstr[2] ""
"Naslednja paketa sta bila samodejno nameÅ¡Äena in nista veÄ zahtevana:"
msgstr[3] "Naslednji paketi so bili samodejno nameÅ¡Äeni in niso veÄ zahtevani:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1113,19 +1113,19 @@ msgstr[1] "%lu paket je bil samodejno nameÅ¡Äen in ni bil veÄ zahtevan.\n"
msgstr[2] "%lu paketa sta bila samodejno nameÅ¡Äena in nista veÄ zahtevana.\n"
msgstr[3] "%lu paketi so bili samodejno nameÅ¡Äeni in niso veÄ zahtevani.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Uporabite 'apt-get autoremove' za njihovo odstranitev."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Notranja napaka zaradi AllUpgrade."
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Poskusite zagnati 'apt-get -f install', Äe želite popraviti naslednje:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1133,7 +1133,7 @@ msgstr ""
"Nerešene odvisnosti. Poskusite 'apt-get -f install' brez paketov (ali "
"navedite rešitev)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1145,74 +1145,74 @@ msgstr ""
", da nekateri zahtevani paketi Å¡e niso ustvarjeni ali premaknjeni\n"
" iz PrihajajoÄega."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Pokvarjeni paketi"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Naslednji dodatni paketi bodo nameÅ¡Äeni:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Predlagani paketi:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "PriporoÄeni paketi:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Ni mogoÄe najti paketa %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s je nastavljen na samodejno nameÅ¡Äen.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "PreraÄunavanje nadgradnje ... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Spodletelo"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Opravljeno"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Notranja napaka, reševalnik težav je pokvaril stvari"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Ni mogoÄe zakleniti mape prejemov"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr "Prejemanje %s %s"
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"Potrebno je navesti vsaj en paket, za katerega želite dobiti izvorno kodo"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Izvornega paketa za %s ni mogoÄe najti"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1221,7 +1221,7 @@ msgstr ""
"OPOMBA: pakiranje '%s' vzdrževano v sistemu nadzora razliÄice '%s' na:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1232,125 +1232,146 @@ msgstr ""
"bzr get %s\n"
"za pridobivanje zadnjih (morda neizdanih) posodobitev paketa.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Preskok že prejete datoteke '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Nimate dovolj prostora na %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Potrebno je dobiti %sB/%sB izvornih arhivov.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Potrebno je dobiti %sB izvornih arhivov.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Dobi vir %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Nekaterih arhivov ni mogoÄe pridobiti."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Odpakiranje že odpakiranih izvornih paketov v %s je bilo preskoÄeno\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Ukaz odpakiranja '%s' ni uspel.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Izberite, Äe je paket 'dpkg-dev' nameÅ¡Äen.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Ukaz gradnje '%s' ni uspel.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Podrejeno opravilo ni uspelo"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Potrebno je navesti vsaj en paket, za katerega želite preveriti odvisnosti "
"za gradnjo"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Ni mogoÄe dobiti podrobnosti o odvisnostih za gradnjo za %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s nima odvisnosti za gradnjo.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "%s odvisnosti za %s ni mogoÄe zadostiti, ker ni mogoÄe najti paketa %s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "%s odvisnosti za %s ni mogoÄe zadostiti, ker ni mogoÄe najti paketa %s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Ni mogoÄe zadostiti %s odvisnosti za %s. NameÅ¡Äen paket %s je preveÄ nov"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s odvisnosti za %s ni mogoÄe zadostiti, ker nobena razliÄica paketa %s ne "
"more zadostiti zahtevi po razliÄici"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr ""
-"Ni mogoÄe zadostiti %s odvisnosti za %s. NameÅ¡Äen paket %s je preveÄ nov"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "%s odvisnosti za %s ni mogoÄe zadostiti, ker ni mogoÄe najti paketa %s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Ni mogoÄe zadostiti %s odvisnosti za %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Odvisnosti za gradnjo %s ni bilo mogoÄe zadostiti."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Obdelava odvisnosti za gradnjo je spodletela"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, c-format
msgid "Changelog for %s (%s)"
msgstr "Dnevnik sprememb za %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Podprti moduli:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1440,7 +1461,7 @@ msgstr ""
"sources.list(5) in apt.conf(5).\n"
" Ta APT ima zmožnosti Super krave.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1754,8 +1775,8 @@ msgstr "Datoteka %s/%s prepisuje datoteko v paketu %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1787,7 +1808,7 @@ msgstr "Podatki in zaÄasne mape morajo biti na istem datoteÄnem sistemu"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Branje seznama paketov"
@@ -2154,35 +2175,29 @@ msgstr "Nekaj Äudnega se je zgodilo med razreÅ¡evanjem '%s:%s' (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Ni se mogoÄe povezati z %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "V %s ni nameÅ¡Äenih zbirk kljuÄev."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Notranja napaka: Dober podpis, toda ni mogoÄe doloÄiti podpisa kljuÄa?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Najden je bil vsaj en neveljaven podpis."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "Ni mogoÄe izvesti 'gpgv' za preverjanje podpisa (je gpgv nameÅ¡Äen?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Neznana napaka med izvajanjem gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Naslednji podpisi so bili neveljavni:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2340,59 +2355,59 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Izbire %s ni mogoÄe najti"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Neprepoznana vrsta okrajšave: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Odpiranje nastavitvene datoteke %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Skladenjska napaka %s:%u: Blok se zaÄne brez imena."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Skladenjska napaka %s:%u: Slabo oblikovana oznaka."
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Skladenjska napaka %s:%u: Dodatna krama za vrednostjo."
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Skladenjska napaka %s:%u: Napotki se lahko izvedejo le na vrhnji ravni."
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Skladenjska napaka %s:%u: PreveÄ vgnezdenih vkljuÄitev"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Skladenjska napaka %s:%u: VkljuÄeno od tu"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Skladenjska napaka %s:%u: Nepodprt napotek '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Skladenjska napaka %s:%u: poÄisti ukaz zahteva drevo možnosti kot argument"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Skladenjska napaka %s:%u: Dodatna krama na koncu datoteke"
@@ -2536,7 +2551,7 @@ msgstr "Pod-opravilo %s je vrnilo kodo napake (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Pod-opravilo %s se je nepriÄakovano zakljuÄilo"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Ni mogoÄe odpreti datoteke %s"
@@ -2769,7 +2784,7 @@ msgstr "Slabo oblikovana vrstica %u v seznamu virov %s (vrsta)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Vrsta '%s' v vrstici %u na seznamu virov %s ni znana"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2778,7 +2793,7 @@ msgstr ""
"Ni mogoÄe izvesti takojÄ…nje nastavitve na '%s'. Oglejte si man5 apt.conf pod "
"APT::TakojÄ…nja-nastavitev za podrobnosti. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2789,7 +2804,7 @@ msgstr ""
"zanke spora/predodvisnosti. To je ponavadi slabo, toda Äe zares želite "
"nadaljevati, vkljuÄite možnost APT::Force-LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2821,7 +2836,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Ni mogoÄe popraviti težav. Imate pokvarjene pakete."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
"used instead."
@@ -2871,12 +2886,12 @@ msgstr "NaÄin %s se ni zaÄel pravilno"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Vstavite disk z oznako '%s' v pogon '%s' in pritisnite vnosno tipko."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Paketni sistem '%s' ni podprt"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Ni mogoÄe doloÄiti ustrezne vrste paketnega sistema"
@@ -2901,17 +2916,24 @@ msgstr "Za odpravljanje težav poskusite zagnati apt-get update."
msgid "The list of sources could not be read."
msgstr "Seznama virov ni mogoÄe brati."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Neveljaven zapis v datoteki možnosti %s, ni glave paketa"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Ni mogoÄe razumeti vrste bucike %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Prednost bucike ni navedena ali pa je niÄ."
@@ -3000,7 +3022,7 @@ msgstr "Ni mogoÄe doloÄiti seznama izvornih paketov %s"
msgid "Collecting File Provides"
msgstr "Zbiranje dobaviteljev datotek"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Napaka VI med shranjevanjem predpomnilnika virov"
@@ -3013,8 +3035,8 @@ msgstr "preimenovanje je spodletelo, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Neujemanje vsote MD5"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Neujemanje vsote razpršil"
@@ -3036,20 +3058,19 @@ msgstr "Ni mogoÄe najti vsote razprÅ¡evanja za '%s' v datoteki Release"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Za naslednje ID-je kljuÄa ni na voljo javnih kljuÄev:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Datoteka Release je potekla, prezrtje %s (neveljavno od %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Distribucija v sporu: %s (priÄakovana %s, toda dobljena %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3059,12 +3080,12 @@ msgstr ""
"zato bodo uporabljene predhodne datoteke kazal. Napaka GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Napaka GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3073,7 +3094,7 @@ msgstr ""
"Ni bilo mogoÄe najti datoteke za paket %s. Morda boste morali roÄno "
"popraviti ta paket (zaradi manjkajoÄega arhiva)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3082,7 +3103,7 @@ msgstr ""
"Ni bilo mogoÄe najti datoteke za paket %s. Morda boste morali roÄno "
"popraviti ta paket."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3090,7 +3111,7 @@ msgstr ""
"Datoteke s kazali paketov so pokvarjene. Brez imena datotek: polje za paket "
"%s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Neujemanje velikosti"
@@ -3214,22 +3235,22 @@ msgstr "Pisanje novega seznama virov\n"
msgid "Source list entries for this disc are:\n"
msgstr "Izvorni vnosi za ta disk so:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Zapisanih je bilo %i zapisov.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Zapisanih je bilo %i zapisov z %i manjkajoÄimi datotekami.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Zapisanih je bilo %i zapisov z %i neujemajoÄimi datotekami.\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3251,6 +3272,17 @@ msgstr "Ni mogoÄe najti zapisa overitve za: %s"
msgid "Hash mismatch for: %s"
msgstr "Neujemanje razpršila za: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "V %s ni nameÅ¡Äenih zbirk kljuÄev."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3506,6 +3538,9 @@ msgstr "Povezava se je prezgodaj zaprla"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Notranja napaka, skupina '%s' nima namestljivega psevdo paketa"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Datoteka Release je potekla, prezrtje %s (neveljavno od %s)"
+
#~ msgid "short read in buffer_copy %s"
#~ msgstr "kratko branje v kopiji_medpomnilnika %s"
diff --git a/po/sv.po b/po/sv.po
index 64e98cc46..b999d7591 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-08-24 21:18+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <debian-l10n-swedish@debian.org>\n"
@@ -157,7 +157,7 @@ msgstr " Versionstabell:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s för %s kompilerad den %s %s\n"
@@ -839,7 +839,7 @@ msgstr "Ominstallation av %s är inte möjlig, det kan inte hämtas.\n"
msgid "%s is already the newest version.\n"
msgstr "%s är redan den senaste versionen.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s är satt till manuellt installerad.\n"
@@ -954,8 +954,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Efter denna åtgärd kommer %sB att frigöras på disken.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Kunde inte fastställa ledigt utrymme i %s"
@@ -993,7 +993,7 @@ msgstr "Avbryter."
msgid "Do you want to continue [Y/n]? "
msgstr "Vill du fortsätta [J/n]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Misslyckades med att hämta %s %s\n"
@@ -1002,7 +1002,7 @@ msgstr "Misslyckades med att hämta %s %s\n"
msgid "Some files failed to download"
msgstr "Misslyckades med att hämta vissa filer"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Hämtningen färdig i \"endast-hämta\"-läge"
@@ -1044,32 +1044,32 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Observera: Detta sker med automatik och vid behov av dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "Ignorera otillgängliga målutgåvan \"%s\" av paketet \"%s\""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Väljer \"%s\" som källkodspaket istället för \"%s\"\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "Ignorera otillgängliga versionen \"%s\" av paketet \"%s\""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Uppdateringskommandot tar inga argument"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
"Det är inte meningen att vi ska ta bort något, kan inte starta AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1087,15 +1087,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Följande information kan vara till hjälp för att lösa situationen:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Internt fel, AutoRemover förstörde något"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1106,7 +1106,7 @@ msgstr[0] ""
msgstr[1] ""
"Följande paket har installerats automatiskt och är inte längre nödvändiga:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1116,19 +1116,19 @@ msgstr[0] ""
msgstr[1] ""
"%lu paket blev installerade automatiskt och är inte längre nödvändiga.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Använd \"apt-get autoremove\" för att ta bort dem."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Internt fel, AllUpgrade förstörde något"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Du bör köra \"apt-get -f install\" för att korrigera dessa:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1136,7 +1136,7 @@ msgstr ""
"Otillfredsställda beroenden. Prova med \"apt-get -f install\" utan paket "
"(eller ange en lösning)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1148,73 +1148,73 @@ msgstr ""
"att några nödvändiga paket ännu inte har skapats eller flyttats\n"
"ut från \"Incoming\"."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Trasiga paket"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Följande ytterligare paket kommer att installeras:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Föreslagna paket:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Rekommenderade paket:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Kunde inte hitta paketet %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s är satt till automatiskt installerad.\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Beräknar uppgradering... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Misslyckades"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Färdig"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Internt fel, problemlösaren förstörde någonting"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Kunde inte låsa hämtningskatalogen"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Du måste ange minst ett paket att hämta källkod för"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Kunde inte hitta något källkodspaket för %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1224,7 +1224,7 @@ msgstr ""
"på:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1235,78 +1235,94 @@ msgstr ""
"bzr get %s\n"
"för att hämta senaste (möjligen inte utgivna) uppdateringar av paketet.\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Hoppar över redan hämtade filen \"%s\"\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Du har inte tillräckligt mycket ledigt utrymme i %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Behöver hämta %sB/%sB källkodsarkiv.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Behöver hämta %sB källkodsarkiv.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Hämtar källkoden %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Misslyckades med att hämta vissa arkiv."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Packar inte upp redan uppackad källkod i %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Uppackningskommandot \"%s\" misslyckades.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Försäkra dig om att paketet \"dpkg-dev\" är installerat.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Byggkommandot \"%s\" misslyckades.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Barnprocessen misslyckades"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "Du måste ange minst ett paket att kontrollera byggberoenden för"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Kunde inte hämta information om byggberoenden för %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s har inga byggberoenden.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"%s-beroendet på %s kan inte tillfredsställas eftersom paketet %s inte kan "
+"hittas"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1315,47 +1331,56 @@ msgstr ""
"%s-beroendet på %s kan inte tillfredsställas eftersom paketet %s inte kan "
"hittas"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Misslyckades med att tillfredsställa %s-beroendet för %s: Det installerade "
+"paketet %s är för nytt"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"%s-beroendet på %s kan inte tillfredsställas eftersom inga tillgängliga "
"versioner av paketet %s tillfredsställer versionskraven"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Misslyckades med att tillfredsställa %s-beroendet för %s: Det installerade "
-"paketet %s är för nytt"
+"%s-beroendet på %s kan inte tillfredsställas eftersom paketet %s inte kan "
+"hittas"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Misslyckades med att tillfredsställa %s-beroendet för %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Byggberoenden för %s kunde inte tillfredsställas."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Misslyckades med att behandla byggberoenden"
# Felmeddelande för misslyckad chdir
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Ansluter till %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Moduler som stöds:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1443,7 +1468,7 @@ msgstr ""
"för mer information och flaggor.\n"
" Denna APT har Speciella Ko-Krafter.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1762,8 +1787,8 @@ msgstr "Filen %s/%s skriver över den i paketet %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1795,7 +1820,7 @@ msgstr "Katalogerna info och temp måste vara på samma filsystem"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Läser paketlistor"
@@ -2169,37 +2194,31 @@ msgstr "Något konstigt hände när \"%s:%s\" slogs upp (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Kunde inte ansluta till %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Ingen nyckelring installerad i %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Internt fel: Korrekt signatur men kunde inte fastställa nyckelns "
"fingeravtryck?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Minst en ogiltig signatur träffades på."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Kunde inte köra \"gpgv\" för att verifiera signatur (är gpgv installerad?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Okänt fel vid körning av gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Följande signaturer är ogiltiga:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2360,57 +2379,57 @@ msgstr "%lis"
msgid "Selection %s not found"
msgstr "Valet %s hittades inte"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Okänd typförkortning: \"%c\""
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Öppnar konfigurationsfilen %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntaxfel %s:%u: Block börjar utan namn."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntaxfel %s:%u: Felformat märke"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntaxfel %s:%u: Överflödigt skräp efter värde"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Syntaxfel %s:%u: Direktiv kan endast utföras på toppnivån"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntaxfel %s:%u: För många nästlade inkluderingar"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntaxfel %s:%u: Inkluderad härifrån"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntaxfel %s:%u: Direktivet \"%s\" stöds inte"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "Syntaxfel %s:%u: clear-direktivet kräver ett flaggträd som argument"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntaxfel %s:%u: Överflödigt skräp vid filens slut"
@@ -2555,7 +2574,7 @@ msgstr "Underprocessen %s svarade med en felkod (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Underprocessen %s avslutades oväntat"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Kunde inte öppna filen %s"
@@ -2785,7 +2804,7 @@ msgstr "Rad %u i källistan %s har fel format (typ)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Typ \"%s\" är inte känd på rad %u i listan över källor %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2794,7 +2813,7 @@ msgstr ""
"Kunde inte genomföra omedelbar konfiguration på \"%s\". Se man 5 apt.conf "
"under APT::Immediate-Configure för information. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2806,7 +2825,7 @@ msgstr ""
"Detta är oftast en dålig idé, men om du verkligen vill göra det kan du "
"aktivera flaggan \"APT::Force-LoopBreak\"."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2839,7 +2858,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Kunde inte korrigera problemen, du har hållit tillbaka trasiga paket."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2891,13 +2910,13 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
"Mata in skivan med etiketten \"%s\" i enheten \"%s\" och tryck på Enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Paketsystemet \"%s\" stöds inte"
#
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Kunde inte fastställa en lämplig paketsystemstyp"
@@ -2922,18 +2941,25 @@ msgstr "Du kan möjligen rätta till problemet genom att köra \"apt-get update\
msgid "The list of sources could not be read."
msgstr "Listan över källor kunde inte läsas."
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
# "Package" är en sträng i konfigurationsfilen
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Ogiltig post i konfigurationsfilen %s, \"Package\"-rubriken saknas"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Förstod inte nåltypen %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Prioritet ej angiven (eller noll) för nål"
@@ -3025,7 +3051,7 @@ msgstr "Kunde inte ta status på källkodspaketlistan %s"
msgid "Collecting File Provides"
msgstr "Samlar filtillhandahållningar"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "In-/utfel vid lagring av källcache"
@@ -3038,8 +3064,8 @@ msgstr "namnbyte misslyckades, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "MD5-kontrollsumman stämmer inte"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hash-kontrollsumman stämmer inte"
@@ -3059,20 +3085,19 @@ msgstr "Kunde inte tolka \"Release\"-filen %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Det finns ingen öppen nyckel tillgänglig för följande nyckel-id:n:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Release-filen har gått ut, ignorerar %s (ogiltig sedan %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Konflikt i distribution: %s (förväntade %s men fick %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3083,12 +3108,12 @@ msgstr ""
"%s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "GPG-fel: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3097,7 +3122,7 @@ msgstr ""
"Jag kunde inte hitta någon fil för paketet %s. Detta kan betyda att du "
"manuellt måste reparera detta paket (på grund av saknad arkitektur)."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3106,13 +3131,13 @@ msgstr ""
"Jag kunde inte hitta någon fil för paketet %s. Detta kan betyda att du "
"manuellt måste reparera detta paket."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "Paketindexfilerna är skadede. Inget \"Filename:\"-fält för paketet %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Storleken stämmer inte"
@@ -3236,22 +3261,22 @@ msgstr "Skriver ny källista\n"
msgid "Source list entries for this disc are:\n"
msgstr "Poster i källistan för denna skiva:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Skrev %i poster.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Skrev %i poster med %i saknade filer.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Skrev %i poster med %i filer som inte stämmer\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Skrev %i poster med %i saknade filer och %i filer som inte stämmer\n"
@@ -3271,6 +3296,17 @@ msgstr "Kan inte hitta autentiseringspost för: %s"
msgid "Hash mismatch for: %s"
msgstr "Hash-kontrollsumman stämmer inte för: %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Ingen nyckelring installerad i %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3530,6 +3566,9 @@ msgstr "Anslutningen stängdes i förtid"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Internt fel, gruppen \"%s\" har inget installerbart pseudo-paket"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Release-filen har gått ut, ignorerar %s (ogiltig sedan %s)"
+
#~ msgid "E: Too many keyrings should be passed to gpgv. Exiting."
#~ msgstr "F: För många nyckelringar skulle skickas till gpgv. Avslutar."
diff --git a/po/th.po b/po/th.po
index 6cdf871e3..a1316d10e 100644
--- a/po/th.po
+++ b/po/th.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2008-11-06 15:54+0700\n"
"Last-Translator: Theppitak Karoonboonyanan <thep@linux.thai.net>\n"
"Language-Team: Thai <thai-l10n@googlegroups.com>\n"
@@ -156,7 +156,7 @@ msgstr " ตารางรุ่น:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s สำหรับ %s คอมไพล์เมื่อ %s %s\n"
@@ -825,7 +825,7 @@ msgstr "ไม่สามารถติดตั้ง %s ซ้ำได้ à
msgid "%s is already the newest version.\n"
msgstr "%s เป็นรุ่นใหม่ล่าสุดอยู่à¹à¸¥à¹‰à¸§\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "à¸à¸³à¸«à¸™à¸” %s ให้เป็นà¸à¸²à¸£à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¹€à¸¥à¸·à¸­à¸à¹€à¸­à¸‡à¹à¸¥à¹‰à¸§\n"
@@ -937,8 +937,8 @@ msgstr "หลังจาà¸à¸à¸²à¸£à¸à¸£à¸°à¸—ำนี้ ต้องใà¸
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "หลังจาà¸à¸à¸²à¸£à¸à¸£à¸°à¸—ำนี้ เนื้อที่บนดิสà¸à¹Œà¸ˆà¸°à¸§à¹ˆà¸²à¸‡à¹€à¸žà¸´à¹ˆà¸¡à¸­à¸µà¸ %sB\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "ไม่สามารถคำนวณพื้นที่ว่างใน %s"
@@ -975,7 +975,7 @@ msgstr "เลิà¸à¸—ำ"
msgid "Do you want to continue [Y/n]? "
msgstr "คุณต้องà¸à¸²à¸£à¸ˆà¸°à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸­à¹„ปหรือไม่ [Y/n]?"
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "ไม่สามารถดาวน์โหลด %s %s\n"
@@ -984,7 +984,7 @@ msgstr "ไม่สามารถดาวน์โหลด %s %s\n"
msgid "Some files failed to download"
msgstr "ดาวน์โหลดบางà¹à¸Ÿà¹‰à¸¡à¹„ม่สำเร็จ"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "ดาวน์โหลดสำเร็จà¹à¸¥à¹‰à¸§ à¹à¸¥à¸°à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚หมดดาวน์โหลดอย่างเดียว"
@@ -1022,31 +1022,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "ไม่สามารถ stat รายà¸à¸²à¸£à¹à¸žà¸à¹€à¸à¸ˆà¸‹à¸­à¸£à¹Œà¸ª %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "คำสั่ง update ไม่รับอาร์à¸à¸´à¸§à¹€à¸¡à¸™à¸•à¹Œà¹€à¸žà¸´à¹ˆà¸¡"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "apt ถูà¸à¸à¸³à¸«à¸™à¸”ไม่ให้มีà¸à¸²à¸£à¸¥à¸šà¹ƒà¸”ๆ จึงไม่สามารถดำเนินà¸à¸²à¸£à¸–อดถอนอัตโนมัติได้"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1064,15 +1064,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "ข้อมูลต่อไปนี้อาจช่วยà¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¹„ด้:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดภายใน: AutoRemover ทำความเสียหาย"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1082,7 +1082,7 @@ msgid_plural ""
msgstr[0] "à¹à¸žà¸à¹€à¸à¸ˆà¸•à¹ˆà¸­à¹„ปนี้ถูà¸à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¸­à¸±à¸•à¹‚นมัติไว้ à¹à¸¥à¸°à¹„ม่ต้องใช้อีà¸à¸•à¹ˆà¸­à¹„ปà¹à¸¥à¹‰à¸§:"
msgstr[1] "à¹à¸žà¸à¹€à¸à¸ˆà¸•à¹ˆà¸­à¹„ปนี้ถูà¸à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¸­à¸±à¸•à¹‚นมัติไว้ à¹à¸¥à¸°à¹„ม่ต้องใช้อีà¸à¸•à¹ˆà¸­à¹„ปà¹à¸¥à¹‰à¸§:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1090,19 +1090,19 @@ msgid_plural ""
msgstr[0] "à¹à¸žà¸à¹€à¸à¸ˆà¸•à¹ˆà¸­à¹„ปนี้ถูà¸à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¸­à¸±à¸•à¹‚นมัติไว้ à¹à¸¥à¸°à¹„ม่ต้องใช้อีà¸à¸•à¹ˆà¸­à¹„ปà¹à¸¥à¹‰à¸§:"
msgstr[1] "à¹à¸žà¸à¹€à¸à¸ˆà¸•à¹ˆà¸­à¹„ปนี้ถูà¸à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¸­à¸±à¸•à¹‚นมัติไว้ à¹à¸¥à¸°à¹„ม่ต้องใช้อีà¸à¸•à¹ˆà¸­à¹„ปà¹à¸¥à¹‰à¸§:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "ใช้ 'apt-get autoremove' เพื่อลบà¹à¸žà¸à¹€à¸à¸ˆà¸”ังà¸à¸¥à¹ˆà¸²à¸§à¹„ด้"
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดภายใน: AllUpgrade ทำความเสียหาย"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "คุณอาจเรียภ'apt-get -f install' เพื่อà¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¸™à¸µà¹‰à¹„ด้:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1110,7 +1110,7 @@ msgstr ""
"มีปัà¸à¸«à¸²à¸„วามขึ้นต่อà¸à¸±à¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¹à¸žà¸à¹€à¸à¸ˆ à¸à¸£à¸¸à¸“าลองใช้ 'apt-get -f install' โดยไม่ระบุà¹à¸žà¸à¹€à¸à¸ˆ "
"(หรือจะระบุทางà¹à¸à¹‰à¸à¹‡à¹„ด้)"
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1121,80 +1121,80 @@ msgstr ""
"หรือถ้าคุณà¸à¸³à¸¥à¸±à¸‡à¹ƒà¸Šà¹‰à¸£à¸¸à¹ˆà¸™ unstable à¸à¹‡à¹€à¸›à¹‡à¸™à¹„ปได้ว่าà¹à¸žà¸à¹€à¸à¸ˆà¸—ี่จำเป็นบางรายà¸à¸²à¸£\n"
"ยังไม่ถูà¸à¸ªà¸£à¹‰à¸²à¸‡à¸‚ึ้น หรือถูà¸à¸¢à¹‰à¸²à¸¢à¸­à¸­à¸à¸ˆà¸²à¸ Incoming"
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "à¹à¸žà¸à¹€à¸à¸ˆà¸¡à¸µà¸›à¸±à¸à¸«à¸²"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "จะติดตั้งà¹à¸žà¸à¹€à¸à¸ˆà¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•à¸´à¸¡à¸•à¹ˆà¸­à¹„ปนี้:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่à¹à¸™à¸°à¸™à¸³:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่ควรใช้ร่วมà¸à¸±à¸™:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "ไม่พบà¹à¸žà¸à¹€à¸à¸ˆ %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "à¸à¸³à¸«à¸™à¸” %s ให้เป็นà¸à¸²à¸£à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¹€à¸¥à¸·à¸­à¸à¹€à¸­à¸‡à¹à¸¥à¹‰à¸§\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸„ำนวณà¸à¸²à¸£à¸›à¸£à¸±à¸šà¸£à¸¸à¹ˆà¸™... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "ล้มเหลว"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "เสร็จà¹à¸¥à¹‰à¸§"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดภายใน: à¸à¸¥à¹„à¸à¸à¸²à¸£à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¸—ำความเสียหาย"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "ไม่สามารถล็อคไดเรà¸à¸—อรีดาวน์โหลด"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "ต้องระบุà¹à¸žà¸à¹€à¸à¸ˆà¸­à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸­à¸¢à¸«à¸™à¸¶à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่จะดาวน์โหลดซอร์สโค้ด"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "ไม่พบà¹à¸žà¸à¹€à¸à¸ˆà¸‹à¸­à¸£à¹Œà¸ªà¹‚ค้ดสำหรับ %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1202,122 +1202,143 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "จะข้ามà¹à¸Ÿà¹‰à¸¡ '%s' ที่ดาวน์โหลดไว้à¹à¸¥à¹‰à¸§\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "คุณมีพื้นที่ว่างเหลือไม่พอใน %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "ต้องดาวน์โหลดซอร์สโค้ด %sB/%sB\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "ต้องดาวน์โหลดซอร์สโค้ด %sB\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "ดาวน์โหลดซอร์ส %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "ไม่สามารถดาวน์โหลดบางà¹à¸Ÿà¹‰à¸¡"
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "จะข้ามà¸à¸²à¸£à¹à¸•à¸à¸‹à¸­à¸£à¹Œà¸ªà¸‚องซอร์สที่à¹à¸•à¸à¹„ว้à¹à¸¥à¹‰à¸§à¹ƒà¸™ %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "คำสั่งà¹à¸•à¸à¹à¸Ÿà¹‰à¸¡ '%s' ล้มเหลว\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "à¸à¸£à¸¸à¸“าตรวจสอบว่าได้ติดตั้งà¹à¸žà¸à¹€à¸à¸ˆ 'dpkg-dev' à¹à¸¥à¹‰à¸§\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "คำสั่ง build '%s' ล้มเหลว\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "โพรเซสลูà¸à¸¥à¹‰à¸¡à¹€à¸«à¸¥à¸§"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "ต้องระบุà¹à¸žà¸à¹€à¸à¸ˆà¸­à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸­à¸¢à¸«à¸™à¸¶à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่จะตรวจสอบสิ่งที่ต้องà¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£ build"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "ไม่สามารถอ่านข้อมูลสิ่งที่ต้องà¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£ build ของ %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s ไม่ต้องà¸à¸²à¸£à¸ªà¸´à¹ˆà¸‡à¹ƒà¸”สำหรับ build\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "ไม่สามารถติดตั้งสิ่งเชื่อมโยง %s สำหรับ %s ได้ เพราะไม่พบà¹à¸žà¸à¹€à¸à¸ˆ %s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "ไม่สามารถติดตั้งสิ่งเชื่อมโยง %s สำหรับ %s ได้ เพราะไม่พบà¹à¸žà¸à¹€à¸à¸ˆ %s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr "ไม่สามารถติดตั้งสิ่งเชื่อมโยง %s สำหรับ %s ได้: à¹à¸žà¸à¹€à¸à¸ˆ %s ที่ติดตั้งไว้ใหม่เà¸à¸´à¸™à¹„ป"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"ไม่สามารถติดตั้งสิ่งเชื่อมโยง %s สำหรับ %s ได้ เพราะไม่มีà¹à¸žà¸à¹€à¸à¸ˆ %s "
"รุ่นที่จะสอดคล้องà¸à¸±à¸šà¸„วามต้องà¸à¸²à¸£à¸£à¸¸à¹ˆà¸™à¸‚องà¹à¸žà¸à¹€à¸à¸ˆà¹„ด้"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr "ไม่สามารถติดตั้งสิ่งเชื่อมโยง %s สำหรับ %s ได้: à¹à¸žà¸à¹€à¸à¸ˆ %s ที่ติดตั้งไว้ใหม่เà¸à¸´à¸™à¹„ป"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "ไม่สามารถติดตั้งสิ่งเชื่อมโยง %s สำหรับ %s ได้ เพราะไม่พบà¹à¸žà¸à¹€à¸à¸ˆ %s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "ไม่สามารถติดตั้งสิ่งเชื่อมโยง %s สำหรับ %s ได้: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "ไม่สามารถติดตั้งสิ่งที่จำเป็นสำหรับà¸à¸²à¸£ build ของ %s ได้"
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "ติดตั้งสิ่งที่จำเป็นสำหรับà¸à¸²à¸£ build ไม่สำเร็จ"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "เชื่อมต่อไปยัง %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "มอดูลที่รองรับ:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1403,7 +1424,7 @@ msgstr ""
"à¹à¸¥à¸° apt.conf(5)\n"
" APT นี้มีพลังของ Super Cow\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1711,8 +1732,8 @@ msgstr "à¹à¸Ÿà¹‰à¸¡ %s/%s เขียนทับà¹à¸Ÿà¹‰à¸¡à¹ƒà¸™à¹à¸žà¸à¹
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1744,7 +1765,7 @@ msgstr "ไดเรà¸à¸—อรี info à¹à¸¥à¸° temp ต้องอยู่
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸­à¹ˆà¸²à¸™à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­à¹à¸žà¸à¹€à¸à¸ˆ"
@@ -2108,35 +2129,29 @@ msgstr "เà¸à¸´à¸”ปัà¸à¸«à¸²à¸£à¹‰à¸²à¸¢à¹à¸£à¸‡à¸šà¸²à¸‡à¸­à¸¢à¹ˆà¸²à¸‡
msgid "Unable to connect to %s:%s:"
msgstr "ไม่สามารถเชื่อมต่อไปยัง %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "จะล้มเลิà¸à¸à¸²à¸£à¸•à¸´à¸”ตั้ง"
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "ข้อผิดพลาดภายใน: ลายเซ็นใช้à¸à¸²à¸£à¹„ด้ à¹à¸•à¹ˆà¹„ม่สามารถระบุลายนิ้วมือของà¸à¸¸à¸à¹à¸ˆ?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "พบลายเซ็นที่ใช้à¸à¸²à¸£à¹„ม่ได้อย่างน้อยหนึ่งรายà¸à¸²à¸£"
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "ไม่สามารถเรียภ'%s' เพื่อตรวจสอบลายเซ็น (ได้ติดตั้ง gpgv ไว้หรือไม่?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดไม่ทราบสาเหตุขณะเรียภgpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "ลายเซ็นต่อไปนี้ใช้à¸à¸²à¸£à¹„ม่ได้:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2291,57 +2306,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "ไม่พบรายà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸ %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "พบตัวย่อของชนิดที่ข้อมูลไม่รู้จัà¸: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "ขณะเปิดà¹à¸Ÿà¹‰à¸¡à¸„่าตั้ง %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: เริ่มบล็อคโดยไม่มีชื่อ"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: à¹à¸—็à¸à¸œà¸´à¸”รูปà¹à¸šà¸š"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: มีขยะเà¸à¸´à¸™à¸«à¸¥à¸±à¸‡à¸„่า"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: สามารถใช้ directive ที่ระดับบนสุดได้เท่านั้น"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: ใช้ include ซ้อนà¸à¸±à¸™à¸¡à¸²à¸à¹€à¸à¸´à¸™à¹„ป"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: include จาà¸à¸—ี่นี่"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: พบ directive '%s' ที่ไม่รองรับ"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: สามารถใช้ directive ที่ระดับบนสุดได้เท่านั้น"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: มีขยะเà¸à¸´à¸™à¸«à¸¥à¸±à¸‡à¸ˆà¸šà¹à¸Ÿà¹‰à¸¡"
@@ -2484,7 +2499,7 @@ msgstr "โพรเซสย่อย %s คืนค่าข้อผิดà¸
msgid "Sub-process %s exited unexpectedly"
msgstr "โพรเซสย่อย %s จบà¸à¸²à¸£à¸—ำงานà¸à¸£à¸°à¸—ันหัน"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "ไม่สามารถเปิดà¹à¸Ÿà¹‰à¸¡ %s"
@@ -2711,14 +2726,14 @@ msgstr "บรรทัด %u ในà¹à¸Ÿà¹‰à¸¡à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­à¹à¸«à¸¥à¹
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "ไม่รู้จัà¸à¸Šà¸™à¸´à¸” '%s' ที่บรรทัด %u ในà¹à¸Ÿà¹‰à¸¡à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­à¹à¸«à¸¥à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆ %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2730,7 +2745,7 @@ msgstr ""
"ซึ่งà¹à¸žà¸à¹€à¸à¸ˆà¸”ังà¸à¸¥à¹ˆà¸²à¸§à¹€à¸›à¹‡à¸™à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่จำเป็นสำหรับระบบ à¸à¸²à¸£à¸¥à¸šà¸”ังà¸à¸¥à¹ˆà¸²à¸§à¸¡à¸±à¸à¹€à¸›à¹‡à¸™à¸­à¸±à¸™à¸•à¸£à¸²à¸¢ "
"à¹à¸•à¹ˆà¸–้าคุณต้องà¸à¸²à¸£à¸—ำเช่นนั้นจริงๆ à¸à¹‡à¹ƒà¸«à¹‰à¹€à¸›à¸´à¸”ตัวเลือภAPT::Force-LoopBreak"
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2760,7 +2775,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "ไม่สามารถà¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¹„ด้ คุณได้คงรุ่นà¹à¸žà¸à¹€à¸à¸ˆà¸—ี่เสียอยู่ไว้"
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2809,12 +2824,12 @@ msgstr "ไม่สามารถเรียà¸à¸—ำงานวิธีà¸
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "à¸à¸£à¸¸à¸“าใส่à¹à¸œà¹ˆà¸™à¸Šà¸·à¹ˆà¸­: '%s' ลงในไดรว์ '%s' à¹à¸¥à¹‰à¸§à¸à¸” enter"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "ไม่รองรับระบบà¹à¸žà¸à¹€à¸à¸ˆ '%s'"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "ไม่สามารถระบุชนิดของระบบà¹à¸žà¸à¹€à¸à¸ˆà¸—ี่เหมาะสมได้"
@@ -2839,17 +2854,24 @@ msgstr "คุณอาจเรียภ`apt-get update' เพื่อà¹à¸
msgid "The list of sources could not be read."
msgstr "ไม่สามารถอ่านรายชื่อà¹à¸«à¸¥à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆà¹„ด้"
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "ระเบียนผิดรูปà¹à¸šà¸šà¹ƒà¸™à¹à¸Ÿà¹‰à¸¡à¸„่าปรับà¹à¸•à¹ˆà¸‡: ไม่มีข้อมูลส่วนหัว 'Package'"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "ไม่เข้าใจชนิดà¸à¸²à¸£à¸•à¸£à¸¶à¸‡ %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "ไม่ได้ระบุลำดับความสำคัภ(หรือค่าศูนย์) สำหรับà¸à¸²à¸£à¸•à¸£à¸¶à¸‡"
@@ -2938,7 +2960,7 @@ msgstr "ไม่สามารถ stat รายà¸à¸²à¸£à¹à¸žà¸à¹€à¸à¸ˆà¸‹
msgid "Collecting File Provides"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸à¹‡à¸šà¸‚้อมูลà¹à¸Ÿà¹‰à¸¡à¸—ี่ตระเตรียมให้"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "เà¸à¸´à¸”ข้อผิดพลาด IO ขณะบันทึà¸à¹à¸„ชของซอร์ส"
@@ -2951,8 +2973,8 @@ msgstr "เปลี่ยนชื่อไม่สำเร็จ: %s (%s ->
msgid "MD5Sum mismatch"
msgstr "MD5Sum ไม่ตรงà¸à¸±à¸™"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "ผลรวมà¹à¸®à¸Šà¹„ม่ตรงà¸à¸±à¸™"
@@ -2972,20 +2994,19 @@ msgstr "ไม่สามารถà¹à¸ˆà¸‡à¹à¸Ÿà¹‰à¸¡à¹à¸žà¸à¹€à¸à¸ˆ %s (1
msgid "There is no public key available for the following key IDs:\n"
msgstr "ไม่มีà¸à¸¸à¸à¹à¸ˆà¸ªà¸²à¸˜à¸²à¸£à¸“ะสำหรับà¸à¸¸à¸à¹à¸ˆà¸«à¸¡à¸²à¸¢à¹€à¸¥à¸‚ต่อไปนี้:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -2993,32 +3014,32 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package. (due to missing arch)"
msgstr "ไม่พบà¹à¸Ÿà¹‰à¸¡à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸à¹€à¸à¸ˆ %s คุณอาจต้องà¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¹à¸žà¸à¹€à¸à¸ˆà¸™à¸µà¹‰à¹€à¸­à¸‡ (ไม่มี arch)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package."
msgstr "ไม่พบà¹à¸Ÿà¹‰à¸¡à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸à¹€à¸à¸ˆ %s คุณอาจต้องà¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¹à¸žà¸à¹€à¸à¸ˆà¸™à¸µà¹‰à¹€à¸­à¸‡"
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "à¹à¸Ÿà¹‰à¸¡à¸”ัชนีà¹à¸žà¸à¹€à¸à¸ˆà¹€à¸ªà¸µà¸¢à¸«à¸²à¸¢ ไม่มีข้อมูล Filename: (ชื่อà¹à¸Ÿà¹‰à¸¡) สำหรับà¹à¸žà¸à¹€à¸à¸ˆ %s"
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "ขนาดไม่ตรงà¸à¸±à¸™"
@@ -3140,22 +3161,22 @@ msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸‚ียนรายชื่อà¹à¸«à¸¥à¹ˆà¸‡à¹à¸ž
msgid "Source list entries for this disc are:\n"
msgstr "บรรทัดรายชื่อà¹à¸«à¸¥à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆà¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸œà¹ˆà¸™à¸™à¸µà¹‰à¸„ือ:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "เขียนà¹à¸¥à¹‰à¸§ %i ระเบียน\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "เขียนà¹à¸¥à¹‰à¸§ %i ระเบียน โดยมีà¹à¸Ÿà¹‰à¸¡à¸‚าดหาย %i à¹à¸Ÿà¹‰à¸¡\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "เขียนà¹à¸¥à¹‰à¸§ %i ระเบียน โดยมีà¹à¸Ÿà¹‰à¸¡à¸œà¸´à¸”ขนาด %i à¹à¸Ÿà¹‰à¸¡\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "เขียนà¹à¸¥à¹‰à¸§ %i ระเบียน โดยมีà¹à¸Ÿà¹‰à¸¡à¸‚าดหาย %i à¹à¸Ÿà¹‰à¸¡ à¹à¸¥à¸°à¹à¸Ÿà¹‰à¸¡à¸œà¸´à¸”ขนาด %i à¹à¸Ÿà¹‰à¸¡\n"
@@ -3175,6 +3196,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "ผลรวมà¹à¸®à¸Šà¹„ม่ตรงà¸à¸±à¸™"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "จะล้มเลิà¸à¸à¸²à¸£à¸•à¸´à¸”ตั้ง"
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/tl.po b/po/tl.po
index 297619725..5d5b37c7b 100644
--- a/po/tl.po
+++ b/po/tl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2007-03-29 21:36+0800\n"
"Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
"Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
@@ -161,7 +161,7 @@ msgstr " Talaang Bersyon:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s para sa %s %s kinompile noong %s %s\n"
@@ -846,7 +846,7 @@ msgstr "Ang pagluklok muli ng %s ay hindi maaari, hindi ito makuha.\n"
msgid "%s is already the newest version.\n"
msgstr "%s ay pinakabagong bersyon na.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "ngunit ang %s ay iluluklok"
@@ -965,8 +965,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Matapos magbuklat ay %sB na puwang sa disk ang mapapalaya.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Hindi matantsa ang libreng puwang sa %s"
@@ -1003,7 +1003,7 @@ msgstr "Abort."
msgid "Do you want to continue [Y/n]? "
msgstr "Nais niyo bang magpatuloy [O/h]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Bigo sa pagkuha ng %s %s\n"
@@ -1012,7 +1012,7 @@ msgstr "Bigo sa pagkuha ng %s %s\n"
msgid "Some files failed to download"
msgstr "May mga talaksang hindi nakuha"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Kumpleto ang pagkakuha ng mga talaksan sa modong pagkuha lamang"
@@ -1050,31 +1050,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Hindi ma-stat ang talaan ng pagkukunan ng pakete %s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Ang utos na update ay hindi tumatanggap ng mga argumento"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1090,17 +1090,17 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr ""
"Ang sumusunod na impormasyon ay maaaring makatulong sa pag-ayos ng problema:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Error na internal, may nasira ang problem resolver"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1110,7 +1110,7 @@ msgid_plural ""
msgstr[0] "Ang sumusunod na mga paketeng BAGO ay iluluklok:"
msgstr[1] "Ang sumusunod na mga paketeng BAGO ay iluluklok:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1118,20 +1118,20 @@ msgid_plural ""
msgstr[0] "Ang sumusunod na mga paketeng BAGO ay iluluklok:"
msgstr[1] "Ang sumusunod na mga paketeng BAGO ay iluluklok:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Internal error, nakasira ng bagay-bagay ang AllUpgrade"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"Maaaring patakbuhin niyo ang 'apt-get -f install' upang ayusin ang mga ito:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1139,7 +1139,7 @@ msgstr ""
"May mga dependensiyang kulang. Subukan ang 'apt-get -f install' na walang "
"mga pakete (o magtakda ng solusyon)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1150,80 +1150,80 @@ msgstr ""
"o kung kayo'y gumagamit ng pamudmod na unstable ay may ilang mga paketeng\n"
"kailangan na hindi pa nalikha o linipat mula sa Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Sirang mga pakete"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Ang mga sumusunod na extra na pakete ay luluklokin:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Mga paketeng mungkahi:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Mga paketeng rekomendado:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Hindi mahanap ang paketeng %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "ngunit ang %s ay iluluklok"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Sinusuri ang pag-upgrade... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Bigo"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Tapos"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Error na internal, may nasira ang problem resolver"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Hindi maaldaba ang directory ng download"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Kailangang magtakda ng kahit isang pakete na kunan ng source"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Hindi mahanap ang paketeng source para sa %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1231,78 +1231,94 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Linaktawan ang nakuha na na talaksan '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Kulang kayo ng libreng puwang sa %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Kailangang kumuha ng %sB/%sB ng arkibong source.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Kailangang kumuha ng %sB ng arkibong source.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Kunin ang Source %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Bigo sa pagkuha ng ilang mga arkibo."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Linaktawan ang pagbuklat ng nabuklat na na source sa %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Bigo ang utos ng pagbuklat '%s'.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Paki-siguro na nakaluklok ang paketeng 'dpkg-dev'.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Utos na build '%s' ay bigo.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Bigo ang prosesong anak"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "Kailangang magtakda ng kahit isang pakete na susuriin ang builddeps"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Hindi makuha ang impormasyong build-dependency para sa %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "Walang build depends ang %s.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"Dependensiyang %s para sa %s ay hindi mabuo dahil ang paketeng %s ay hindi "
+"mahanap"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1311,46 +1327,55 @@ msgstr ""
"Dependensiyang %s para sa %s ay hindi mabuo dahil ang paketeng %s ay hindi "
"mahanap"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Bigo sa pagbuo ng dependensiyang %s para sa %s: Ang naka-instol na paketeng "
+"%s ay bagong-bago pa lamang."
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"Dependensiyang %s para sa %s ay hindi mabuo dahil walang magamit na bersyon "
"ng paketeng %s na tumutugon sa kinakailangang bersyon"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Bigo sa pagbuo ng dependensiyang %s para sa %s: Ang naka-instol na paketeng "
-"%s ay bagong-bago pa lamang."
+"Dependensiyang %s para sa %s ay hindi mabuo dahil ang paketeng %s ay hindi "
+"mahanap"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Bigo sa pagbuo ng dependensiyang %s para sa %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Hindi mabuo ang build-dependencies para sa %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Bigo sa pagproseso ng build dependencies"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Kumokonekta sa %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Suportadong mga Module:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1435,7 +1460,7 @@ msgstr ""
"para sa karagdagang impormasyon at mga option.\n"
" Ang APT na ito ay may Kapangyarihan Super Kalabaw.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1747,8 +1772,8 @@ msgstr "Ang talaksang %s/%s ay pumapatong sa isang talaksan sa paketeng %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1780,7 +1805,7 @@ msgstr "Ang info at temp directory ay kailangang nasa parehong filesystem"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Binabasa ang Listahan ng mga Pakete"
@@ -2149,38 +2174,32 @@ msgstr "May naganap na kababalaghan sa pagresolba ng '%s:%s' (%i)"
msgid "Unable to connect to %s:%s:"
msgstr "Hindi maka-konekta sa %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "Ina-abort ang pag-instol."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Error na internal: Tanggap na lagda, ngunit hindi malaman ang key "
"fingerprint?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Hindi kukulang sa isang hindi tanggap na lagda ang na-enkwentro."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Hindi maitakbo ang '%s' upang maberipika ang lagda (nakaluklok ba ang gpgv?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Hindi kilalang error sa pag-execute ng gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Ang sumusunod na mga lagda ay imbalido:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2338,59 +2357,59 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Piniling %s ay hindi nahanap"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Hindi kilalang katagang uri: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Binubuksan ang talaksang pagsasaayos %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Syntax error %s:%u: Nag-umpisa ang block na walang pangalan."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Syntax error %s:%u: Maling anyo ng Tag"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Syntax error %s:%u: May basura matapos ng halaga"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Syntax error %s:%u: Maaari lamang gawin ang mga direktiba sa tuktok na antas"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Syntax error %s:%u: Labis ang pagkaka-nest ng mga include"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Syntax error %s:%u: Sinama mula dito"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Syntax error %s:%u: Di suportadong direktiba '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Syntax error %s:%u: Maaari lamang gawin ang mga direktiba sa tuktok na antas"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Syntax error %s:%u: May basura sa dulo ng talaksan"
@@ -2538,7 +2557,7 @@ msgstr "Naghudyat ang sub-process %s ng error code (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Ang sub-process %s ay lumabas ng di inaasahan"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Hindi mabuksan ang talaksang %s"
@@ -2766,14 +2785,14 @@ msgstr "Maling anyo ng linyang %u sa talaksang pagkukunan %s (uri)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Hindi kilalang uri '%s' sa linyang %u sa talaksan ng pagkukunan %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2785,7 +2804,7 @@ msgstr ""
"loop. Madalas ay masama ito, ngunit kung nais niyo talagang gawin ito, i-"
"activate ang APT::Force-LoopBreak na option."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2818,7 +2837,7 @@ msgid "Unable to correct problems, you have held broken packages."
msgstr ""
"Hindi maayos ang mga problema, mayroon kayong sirang mga pakete na naka-hold."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2870,12 +2889,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
"Ikasa ang disk na may pangalang: '%s' sa drive '%s' at pindutin ang enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Hindi suportado ang sistema ng paketeng '%s'"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Hindi matuklasan ang akmang uri ng sistema ng pakete "
@@ -2903,17 +2922,24 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "Hindi mabasa ang talaan ng pagkukunan (sources)."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Di tanggap na record sa talaksang pagtatangi, walang Package header"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Hindi naintindihan ang uri ng pin %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Walang prioridad (o sero) na nakatakda para sa pin"
@@ -3005,7 +3031,7 @@ msgstr "Hindi ma-stat ang talaan ng pagkukunan ng pakete %s"
msgid "Collecting File Provides"
msgstr "Kinukuha ang Talaksang Provides"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "IO Error sa pag-imbak ng source cache"
@@ -3018,8 +3044,8 @@ msgstr "pagpalit ng pangalan ay bigo, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "Di tugmang MD5Sum"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
#, fuzzy
msgid "Hash Sum mismatch"
msgstr "Di tugmang MD5Sum"
@@ -3040,20 +3066,19 @@ msgstr "Hindi ma-parse ang talaksang pakete %s (1)"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Walang public key na magamit para sa sumusunod na key ID:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3061,12 +3086,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3075,7 +3100,7 @@ msgstr ""
"Hindi ko mahanap ang talaksan para sa paketeng %s. Maaaring kailanganin "
"niyong ayusin ng de kamay ang paketeng ito. (dahil sa walang arch)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3084,7 +3109,7 @@ msgstr ""
"Hindi ko mahanap ang talaksan para sa paketeng %s. Maaaring kailanganin "
"niyong ayusin ng de kamay ang paketeng ito."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3092,7 +3117,7 @@ msgstr ""
"Sira ang talaksang index ng mga pakete. Walang Filename: field para sa "
"paketeng %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Di tugmang laki"
@@ -3215,22 +3240,22 @@ msgstr "Sinusulat ang bagong listahan ng pagkukunan\n"
msgid "Source list entries for this disc are:\n"
msgstr "Mga nakatala sa Listahan ng Source para sa Disc na ito ay:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Nagsulat ng %i na record.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Nagsulat ng %i na record na may %i na talaksang kulang.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Nagsulat ng %i na record na may %i na talaksang mismatch\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3252,6 +3277,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Di tugmang MD5Sum"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "Ina-abort ang pag-instol."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/uk.po b/po/uk.po
index b228470cd..96dd4cc5b 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-all\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2006-07-29 15:57+0300\n"
"Last-Translator: Artem Bondarenko <artem.brz@gmail.com>\n"
"Language-Team: УкраїнÑька <uk@li.org>\n"
@@ -157,7 +157,7 @@ msgstr " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð²ÐµÑ€Ñій:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s Ð´Ð»Ñ %s %s Ñкомпільовано %s %s\n"
@@ -847,7 +847,7 @@ msgstr "ПеревÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s неможливе, бо він не
msgid "%s is already the newest version.\n"
msgstr "Вже вÑтановлена найновіша верÑÑ–Ñ %s.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "але %s буде вÑтановлений"
@@ -964,8 +964,8 @@ msgid "After this operation, %sB disk space will be freed.\n"
msgstr ""
"ПіÑÐ»Ñ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єм зайнÑтого диÑкового проÑтору зменшитьÑÑ Ð½Ð° %sB.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ вільного міÑÑ†Ñ Ð² %s"
@@ -1004,7 +1004,7 @@ msgstr "Перервано."
msgid "Do you want to continue [Y/n]? "
msgstr "Бажаєте продовжити [Т/н]? "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ %s %s\n"
@@ -1013,7 +1013,7 @@ msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ %s %s\n"
msgid "Some files failed to download"
msgstr "ДеÑкі файли не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Вказано режим \"тільки завантаженнÑ\", Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¾"
@@ -1051,31 +1051,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ атрибути переліку вихідних текÑтів%s"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Команді update не потрібні аргументи"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1093,16 +1093,16 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "ÐаÑтупна Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ допоможе Вам:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, вирішувач проблем вÑе поламав"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1112,7 +1112,7 @@ msgid_plural ""
msgstr[0] "ÐОВІ пакунки були вÑтановлені автоматично Ñ– більше не потрібні:"
msgstr[1] "ÐОВІ пакунки були вÑтановлені автоматично Ñ– більше не потрібні:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1120,21 +1120,21 @@ msgid_plural ""
msgstr[0] "ÐОВІ пакунки були вÑтановлені автоматично Ñ– більше не потрібні:"
msgstr[1] "ÐОВІ пакунки були вÑтановлені автоматично Ñ– більше не потрібні:"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "ВикориÑтовуйте 'apt-get autoremove' щоб видалити Ñ—Ñ…."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, AllUpgrade вÑе поламав"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr ""
"Можливо, Ð´Ð»Ñ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ð¸Ñ… помилок Ви захочете ÑкориÑтатиÑÑ 'apt-get -f "
"install':"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1142,7 +1142,7 @@ msgstr ""
"Ðезадоволені залежноÑÑ‚Ñ–. Спробуйте виконати 'apt-get -f install', не "
"вказуючи імені пакунка (або знайдіть інше рішеннÑ)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1153,82 +1153,82 @@ msgstr ""
"або ж викориÑтаєте неÑтабільний диÑтрибутив, Ñ– запитані Вами пакунки\n"
"ще не Ñтворені або були вилучені з Incoming."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Зламані пакунки"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Будуть вÑтановлені наÑтупні додаткові пакунки:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Пропоновані пакунки:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Рекомендовані пакунки:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Ðе можу знайти пакунок %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "але %s буде вÑтановлений"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "ОбчиÑÐ»ÐµÐ½Ð½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½ÑŒ... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Ðевдача"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Виконано"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, вирішувач проблем вÑе поламав"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Ðеможливо заблокувати теку Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr ""
"Вкажіть Ñк мінімум один пакунок, Ð´Ð»Ñ Ñкого необхідно завантажити вихідні "
"текÑти"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Ðеможливо знайти пакунок з вихідними текÑтами Ð´Ð»Ñ %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1236,82 +1236,97 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "ПропуÑкаємо вже завантажений файл '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "ÐедоÑтатньо міÑÑ†Ñ Ð² %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Ðеобхідно завантажити %sB/%sB з архівів вихідних текÑтів.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Потрібно завантажити %sB архівів з вихідними текÑтами.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… текÑтів %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "ДеÑкі архіви не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
"Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… текÑтів пропущено, тому що в %s вже перебувають "
"розпаковані вихідні текÑти\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Команда Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ '%s' завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Перевірте, чи вÑтановлений пакунок 'dpkg-dev'.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Команда побудови '%s' закінчилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Породжений Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð²ÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ залежноÑтей Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ необхідно вказати Ñк мінімум один "
"пакунок"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Ðеможливо одержати інформацію про залежноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s не має залежноÑтей Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr ""
+"ЗалежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ %s не може бути задоволена, бо пакунок %s не знайдено"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1319,46 +1334,54 @@ msgid ""
msgstr ""
"ЗалежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ %s не може бути задоволена, бо пакунок %s не знайдено"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr ""
+"Ðе вдалоÑÑ Ð·Ð°Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ залежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° %s: Ð’Ñтановлений "
+"пакунок %s новіше, аніж треба"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"ЗалежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ %s не може бути задоволена, бо ні одна з верÑій "
"пакунка %s не задовольнÑÑ” умови"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
msgstr ""
-"Ðе вдалоÑÑ Ð·Ð°Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ залежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° %s: Ð’Ñтановлений "
-"пакунок %s новіше, аніж треба"
+"ЗалежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ %s не може бути задоволена, бо пакунок %s не знайдено"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Ðеможливо задовольнити залежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° %s: %s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "ЗалежноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ %s не можуть бути задоволені."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Обробка залежноÑтей Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ закінчилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Підтримувані модулі:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1447,7 +1470,7 @@ msgstr ""
"міÑÑ‚ÑÑ‚ÑŒ більше інформації.\n"
" This APT has Super Cow Powers.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1761,8 +1784,8 @@ msgstr "Файл %s/%s перезапиÑує інший з пакету %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1794,7 +1817,7 @@ msgstr "Теки info Ñ– temp повинні бути на тій Ñамій Ñ„Ð
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÑ–Ð² пакетів"
@@ -2167,37 +2190,31 @@ msgstr "СталоÑÑ Ñ‰Ð¾ÑÑŒ дивне при Ñпробі отримати
msgid "Unable to connect to %s:%s:"
msgstr "Ðе можливо під'єднатиÑÑ Ð´Ð¾ %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "ПерериваєтьÑÑ Ð²ÑтановленнÑ."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
"Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Вірний Ð¿Ñ–Ð´Ð¿Ð¸Ñ (signature), але не можливо визначити його "
"відбиток?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Знайдено Ñк мінімум один невірний підпиÑ."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "Ðеможливо виконати '%s' Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ підпиÑу, gpgv вÑтановлено?"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Ðевідома помилка Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Слідуючі підпиÑи були невірними:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2357,61 +2374,61 @@ msgstr ""
msgid "Selection %s not found"
msgstr "Вибір %s не знайдено"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Ðерозпізнаваний тип абревіатури: '%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "ВідкриваєтьÑÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¸Ð¹ файл %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "СинтакÑова помилка %s:%u: Блок починаєтьÑÑ Ð±ÐµÐ· назви."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "СинтакÑова помилка %s:%u: Ñпотворений тег"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "СинтакÑова помилка %s:%u: зайві Ñимволи піÑÐ»Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð¸"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, fuzzy, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"СинтакÑова помилка %s:%u: Директиви можуть бути виконані тільки на "
"найвищому рівні"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "СинтакÑова помилка %s:%u: Забагато вмонтованих включень"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "СинтакÑова помилка %s:%u: Включена звідÑи"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "СинтакÑова помилка %s:%u: Директива '%s' не підтримуєтьÑÑ"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"СинтакÑова помилка %s:%u: Директиви можуть бути виконані тільки на "
"найвищому рівні"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "СинтакÑова помилка %s:%u: зайві Ñимволи в кінці файла"
@@ -2558,7 +2575,7 @@ msgstr "ÐŸÑ–Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s повернув код помилки (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "ÐŸÑ–Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s раптово завершивÑÑ"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Ðе можливо відкрити файл %s"
@@ -2789,14 +2806,14 @@ msgstr "Спотворена Ð»Ñ–Ð½Ñ–Ñ %u у переліку джерел %s (
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Ðевідомий тип '%s' в лінії %u в переліку джерел %s"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2808,7 +2825,7 @@ msgstr ""
"погано, але Ñкщо Ви дійÑно бажаєте зробити це, активуйте параметр APT::Force-"
"LoopBreak."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2840,7 +2857,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "Ðеможливо уÑунути проблеми, Ви маєте поламані зафікÑовані пакунки."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2892,12 +2909,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
"Будь-лаÑка, вÑтавте диÑк з поміткою: '%s' в CD привід '%s' Ñ– натиÑніть Enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "СиÑтема Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ '%s' не підтримуєтьÑÑ"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Ðеможливо визначити тип необхідної ÑиÑтеми Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ "
@@ -2922,17 +2939,24 @@ msgstr "Можливо, Ð´Ð»Ñ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ð¸Ñ… помилок Ви
msgid "The list of sources could not be read."
msgstr "Ðеможливо прочитати перелік джерел."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "Ðевірний Ð·Ð°Ð¿Ð¸Ñ Ð² preferences файлі, відÑутній заголовок Package"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Ðе зрозумів тип %s Ð´Ð»Ñ pin"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Ðе вÑтановлено пріоритету (або вÑтановлено 0) Ð´Ð»Ñ pin"
@@ -3023,7 +3047,7 @@ msgstr "Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ атрибути переліку
msgid "Collecting File Provides"
msgstr "Ð—Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— про файлів "
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Помилка IO під Ñ‡Ð°Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ кешу"
@@ -3036,8 +3060,8 @@ msgstr "Ðе вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸, %s (%s -> %s)."
msgid "MD5Sum mismatch"
msgstr "ÐевідповідніÑÑ‚ÑŒ MD5Sum"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
#, fuzzy
msgid "Hash Sum mismatch"
msgstr "ÐевідповідніÑÑ‚ÑŒ MD5Sum"
@@ -3059,20 +3083,19 @@ msgstr "Ðеможливо обробити файл %s пакунку (1)"
msgid "There is no public key available for the following key IDs:\n"
msgstr "ВідÑутній публічний ключ Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ… ID ключа:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3080,12 +3103,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3094,7 +3117,7 @@ msgstr ""
"Я не можу знайти файл Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÑƒ %s. Можливо, Ви захочете влаÑноруч "
"виправити цей пакунок. (due to missing arch)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3103,14 +3126,14 @@ msgstr ""
"Я не можу знайти файл Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÑƒ %s. Можливо, Ви захочете влаÑноруч "
"виправити цей пакунок."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
"ІндекÑні файли пакунків пошкоджені. Ðемає Ð¿Ð¾Ð»Ñ Filename Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÑƒ %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "ÐевідповідніÑÑ‚ÑŒ розміру"
@@ -3231,22 +3254,22 @@ msgstr "ЗапиÑуєтьÑÑ Ð½Ð¾Ð²Ð¸Ð¹ перелік джерел\n"
msgid "Source list entries for this disc are:\n"
msgstr "Перелік джерел Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ диÑку:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "ЗапиÑано %i запиÑів.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "ЗапиÑано %i запиÑів з %i відÑутніми файлами.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "ЗапиÑано %i запиÑів з %i невідповідними файлам\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "ЗапиÑано %i запиÑів з %i відÑутніми Ñ– %i невідповідними файлами\n"
@@ -3266,6 +3289,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "ÐевідповідніÑÑ‚ÑŒ MD5Sum"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "ПерериваєтьÑÑ Ð²ÑтановленнÑ."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
diff --git a/po/vi.po b/po/vi.po
index c2588a6dc..8dcef7fc5 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.0~pre1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-09-29 21:36+0930\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -155,7 +155,7 @@ msgstr " Bảng phiên bản:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s cho %s được biên dịch trên %s %s\n"
@@ -858,7 +858,7 @@ msgstr "Không thể cài đặt lại %s vì không thể tải vỠnó.\n"
msgid "%s is already the newest version.\n"
msgstr "%s là phiên bản mơi nhất.\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s được đặt thành « được cài đặt bằng tay ».\n"
@@ -973,8 +973,8 @@ msgstr "Sau thao tác này, %sB sức chứa đĩa thêm sẽ được chiếm.\
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "Sau thao tác này, %sB sức chứa đĩa thêm sẽ được giải phóng.\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Không thể quyết định chỗ rảnh trong %s"
@@ -1012,7 +1012,7 @@ msgstr "Hủy bá»."
msgid "Do you want to continue [Y/n]? "
msgstr "Bạn có muốn tiếp tục không? [C/k] "
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Việc lấy %s bị lỗi %s\n"
@@ -1021,7 +1021,7 @@ msgstr "Việc lấy %s bị lỗi %s\n"
msgid "Some files failed to download"
msgstr "Một số tập tin không tải vỠđược"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "Má»›i tải vá» xong và trong chế Ä‘á»™ chỉ tải vá»"
@@ -1062,31 +1062,31 @@ msgstr[0] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "Ghi chú : thay đổi này được tự động làm bởi dpkg."
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "BỠqua bản phát hành đích không sẵn sàng « %s » của gói « %s »"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "Äang chá»n « %s » làm gói nguồn, thay cho « %s »\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "BỠqua phiên bản không sẵn sàng « %s » của gói « %s »"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "Lệnh cập nhật không chấp nhận đối số"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "Không nên xoá gì thì không thể khởi chạy Bộ Gỡ bỠTự động"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1104,15 +1104,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "Có lẽ thông tin theo đây sẽ giúp đỡ quyết định trÆ°á»ng hợp:"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Lỗi nội bộ : Bộ Gỡ bỠTự động đã làm hư gì."
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1121,26 +1121,26 @@ msgid_plural ""
msgstr[0] ""
"Gói nào theo đây đã được tự động cài đặt nên không còn cần thiết lại:"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
"%lu packages were automatically installed and are no longer required.\n"
msgstr[0] "%lu gói đã được tự động cài đặt nên không còn cần thiết lại.\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Hãy sử dụng lệnh « apt-get autoremove » để gỡ bỠchúng."
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Lỗi nội bộ: AllUpgrade (toàn bộ nâng cấp) đã ngắt gì"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "Có lẽ bạn hãy chạy lênh « apt-get -f install » để sửa hết:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1148,7 +1148,7 @@ 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 ghi rõ cách quyết định)."
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1160,73 +1160,73 @@ msgstr ""
"bất định, có lẽ chưa tạo một số gói cần thiết,\n"
"hoặc chÆ°a di chuyển chúng ra phần Incoming (Äến)."
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "Gói bị há»ng"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "Những gói thêm theo đây sẽ được cài đặt:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "Gói đỠnghị:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "Gói khuyến khích:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "Không tìm thấy gói %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s được lập thành « được tự động cài đặt ».\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "Äang tính bÆ°á»›c nâng cấp... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "Bị lỗi"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "Hoàn tất"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "Lỗi nội bộ : bộ tháo gỡ vấn đỠđã ngắt gì"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "Không thể khoá thÆ° mục tải vá»"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "Phải ghi rõ ít nhất một gói cho đó cần lấy mã nguồn"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Không tìm thấy gói nguồn cho %s"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1236,7 +1236,7 @@ msgstr ""
"bản « %s » tại:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1247,124 +1247,145 @@ msgstr ""
"bzr get %s\n"
"để lấy các bản cập nhật gói mới nhất (có thể là chưa phát hành).\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Äang bá» qua tập tin đã được tải vỠ« %s »\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Không đủ sức chứa còn rảnh trong %s"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Cần phải lấy %sB/%sB kho nguồn.\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Cần phải lấy %sB kho nguồn.\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "Lấy nguồn %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "Việc lấy một số kho bị lỗi."
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "Äang bá» qua giải nén nguồn đã giải nén trong %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Lệnh giải nén « %s » bị lỗi.\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Hãy kiểm tra xem gói « dpkg-dev » có được cài đặt chưa.\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Lệnh xây dụng « %s » bị lỗi.\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "Tiến trình con bị lỗi"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Phải ghi rõ ít nhất một gói cần kiểm tra cách phụ thuộc khi xây dụng cho nó"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Không thể lấy thông tin vỠcách phụ thuộc khi xây dụng cho %s"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s không phụ thuộc vào gì khi xây dụng.\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+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"
+
+#: cmdline/apt-get.cc:2889
#, c-format
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"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, 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 quá má»›i"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"cách phụ thuá»™c %s cho %s không thể được thá»a vì không có phiên bản sẵn sàng "
"của gói %s có thể thá»a Ä‘iá»u kiện phiên bản."
-#: cmdline/apt-get.cc:2855
-#, 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 quá má»›i"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+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"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Việc cố thá»a cách phụ thuá»™c %s cho %s bị lá»—i: %s."
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Không thể thá»a cách phụ thuá»™c khi xây dụng cho %s."
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "Việc xử lý cách phụ thuộc khi xây dụng bị lỗi"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "Äang kết nối đến %s (%s)..."
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "Mô-đun đã hỗ trợ :"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1460,7 +1481,7 @@ msgstr ""
"sources.list(5) và apt.conf(5).\n"
" Trình APT này có năng lực của siêu bò.\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1774,8 +1795,8 @@ msgstr "Tập tin %s/%s ghi đè lên Ä‘iá»u trong gói %s"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1809,7 +1830,7 @@ msgstr ""
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "Äang Ä‘á»c các danh sách gói..."
@@ -2179,35 +2200,29 @@ msgstr "Gặp lá»—i nghiệm trá»ng khi tháo gỡ « %s:%s » (%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "Không thể kết nối đến %s: %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "Không có vòng khoá nào được cài đặt vào %s."
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "Lỗi nội bộ : chữ ký đúng, nhưng không thể quyết định vân tay khóa ?!"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "Gặp ít nhất một chữ ký không hợp lệ."
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
"Không thể thực hiện « gpgv » để thẩm tra chữ ký (gpgv có được cài đặt chưa?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "Gặp lỗi không rõ khi thực hiện gpgv"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "Những chữ ký theo đây vẫn không hợp lệ:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2370,58 +2385,58 @@ msgstr "%ligiây"
msgid "Selection %s not found"
msgstr "Không tìm thấy vùng chá»n %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "Không nhận biết viết tắt kiểu: « %c »"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "Äang mở tập tin cấu hình %s..."
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Gặp lỗi cú pháp %s:%u: khối bắt đầu không có tên."
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Gặp lỗi cú pháp %s:%u: thẻ dạng sai"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Gặp lỗi cú pháp %s:%u: có rác thêm sau giá trị"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "Gặp lỗi cú pháp %s:%u: có thể thực hiện chỉ thị chỉ tại mức đầu"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Gặp lá»—i cú pháp %s:%u: quá nhiá»u Ä‘iá»u bao gồm lồng nhau"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Gặp lỗi cú pháp %s:%u: đã bao gồm từ đây"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Gặp lỗi cú pháp %s:%u: chưa hỗ trợ chỉ thị « %s »"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr ""
"Gặp lá»—i cú pháp %s:%u: chỉ thị rõ thì yêu cầu má»™t cây tuỳ chá»n làm đối số"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Gặp lỗi cú pháp %s:%u: gặp rác thêm tại kết thúc tập tin"
@@ -2564,7 +2579,7 @@ msgstr "Tiến trình phụ %s đã trả lá»i mã lá»—i (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "Tiến trình phụ %s đã thoát bất thÆ°á»ng"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "Không thể mở tập tin %s"
@@ -2801,7 +2816,7 @@ msgstr "Gặp dòng dạng sai %u trong danh sách nguồn %s (kiểu)."
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "Không biết kiểu « %s » trên dòng %u trong danh sách nguồn %s."
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2810,7 +2825,7 @@ msgstr ""
"Không thể thực hiện ngay lập tức tiến trình cấu hình « %s ». Xem « man 5 apt."
"conf » dưới « APT::Immediate-Configure » để tìm chi tiết. (%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2822,7 +2837,7 @@ msgstr ""
"bạn thật sá»± muốn tiếp tục, có thể hoạt hóa tuy chá»n « APT::Force-LoopBreak "
"» (buộc ngắt vòng lặp)."
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2854,7 +2869,7 @@ msgstr ""
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."
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2905,12 +2920,12 @@ msgstr "Phương pháp %s đã không bắt đầu cho đúng."
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Hãy nạp đĩa có nhãn « %s » vào ổ « %s » và bấm nút Enter."
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Không hỗ trợ hệ thống đóng gói « %s »"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "Không thể quyết định kiểu hệ thống đóng gói thích hợp"
@@ -2938,18 +2953,25 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr "Không thể Ä‘á»c danh sách nguồn."
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
"Gặp mục ghi sai trong tập tin tùy thích %s: không có dòng đầu Package (Gói)."
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "Không hiểu kiểu ghim %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "Chưa ghi rõ ưu tiên (hay số không) cho ghim"
@@ -3040,7 +3062,7 @@ msgstr "Không thể lấy các thông tin vỠdanh sách gói nguồn %s"
msgid "Collecting File Provides"
msgstr "Äang tập hợp các trÆ°á»ng hợp « tập tin miá»…n là »"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "Lỗi nhập/xuất khi lưu bộ nhớ tạm nguồn"
@@ -3053,8 +3075,8 @@ msgstr "việc thay đổi tên bị lỗi, %s (%s → %s)."
msgid "MD5Sum mismatch"
msgstr "Sai khớp MD5Sum (tổng kiểm)"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Sai khớp tổng chuỗi duy nhất (hash sum)"
@@ -3074,20 +3096,19 @@ msgstr "Không thể phân tích cú pháp của tập tin Phát hành %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "Không có khóa công sẵn sàng cho những mã số khoá theo đây:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Tập tin phát hành đã hết hạn nên bỠqua %s (không hợp lệ kể từ %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "Bản phát hành xung đột: %s (mong đợi %s còn nhận %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3098,12 +3119,12 @@ msgstr ""
"Lá»—i GPG: %s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "Lá»—i GPG: %s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3112,7 +3133,7 @@ msgstr ""
"Không tìm thấy tập tin liên quan đến gói %s. Có lẽ bạn cần phải tự sửa gói "
"này, do thiếu kiến trúc."
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3121,7 +3142,7 @@ msgstr ""
"Không tìm thấy tập tin liên quan đến gói %s. Có lẽ bạn cần phải tự sửa gói "
"này."
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
@@ -3129,7 +3150,7 @@ msgstr ""
"Các tập tin chỉ mục của gói này bị há»ng. Không có trÆ°á»ng Filename: (Tên tập "
"tin:) cho gói %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "Sai khớp kích cỡ"
@@ -3255,22 +3276,22 @@ msgstr "Äang ghi danh sách nguồn má»›i\n"
msgid "Source list entries for this disc are:\n"
msgstr "Các mục nhập danh sách nguồn cho đĩa này:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "Mới ghi %i mục ghi.\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Mới ghi %i mục ghi với %i tập tin còn thiếu.\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Mới ghi %i mục ghi với %i tập tin không khớp với nhau\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -3292,6 +3313,17 @@ msgstr "Không tìm thấy mục ghi xác thực cho : %s"
msgid "Hash mismatch for: %s"
msgstr "Sai khớp chuỗi duy nhất cho : %s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "Không có vòng khoá nào được cài đặt vào %s."
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3541,3 +3573,6 @@ msgstr "Kết nối bị đóng quá sớm."
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "Gặp lỗi nội bộ, nhóm « %s » không có gói giả có thể cài đặt"
+
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Tập tin phát hành đã hết hạn nên bỠqua %s (không hợp lệ kể từ %s)"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index c1888ac03..0ae36fef2 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.0~pre1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2010-08-26 14:42+0800\n"
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -156,7 +156,7 @@ msgstr " 版本列表:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s,用于 %s 构架,编译于 %s %s\n"
@@ -828,7 +828,7 @@ msgstr "ä¸èƒ½é‡æ–°å®‰è£… %s,因为无法下载它。\n"
msgid "%s is already the newest version.\n"
msgstr "%s å·²ç»æ˜¯æœ€æ–°çš„版本了。\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s 被设置为手动安装。\n"
@@ -940,8 +940,8 @@ msgstr "解压缩åŽä¼šæ¶ˆè€—掉 %sB çš„é¢å¤–空间。\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "解压缩åŽå°†ä¼šç©ºå‡º %sB 的空间。\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "无法获知您在 %s 上的å¯ç”¨ç©ºé—´"
@@ -978,7 +978,7 @@ msgstr "中止执行。"
msgid "Do you want to continue [Y/n]? "
msgstr "您希望继续执行å—?[Y/n]"
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "无法下载 %s %s\n"
@@ -987,7 +987,7 @@ msgstr "无法下载 %s %s\n"
msgid "Some files failed to download"
msgstr "有一些文件无法下载"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "下载完毕,目å‰æ˜¯â€œä»…下载â€æ¨¡å¼"
@@ -1024,31 +1024,31 @@ msgstr[0] "以下软件包因为文件已被其他软件包覆盖而消失:"
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr "注æ„:这是自动被 dpkg 有æ„完æˆçš„。"
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr "忽略ä¸å¯ç”¨çš„软件包 %2$s 的目标å‘行版本 %1$s"
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "选择 %s 作为æºä»£ç åŒ…è€Œéž %s\n"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr "忽略ä¸å¯ç”¨çš„ %2$s 软件包的 %1$s 版"
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr " update 命令ä¸éœ€è¦å‚æ•°"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "我们ä¸åº”该进行删除,无法å¯åŠ¨è‡ªåŠ¨åˆ é™¤å™¨"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1064,15 +1064,15 @@ msgstr "似乎自动å¸è½½å·¥å…·æŸå了一些软件,这ä¸åº”该å‘生。请
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "下列信æ¯å¯èƒ½ä¼šå¯¹è§£å†³é—®é¢˜æœ‰æ‰€å¸®åŠ©ï¼š"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "内部错误,自动å¸è½½å·¥å…·å事了"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
msgid ""
"The following package was automatically installed and is no longer required:"
msgid_plural ""
@@ -1080,26 +1080,26 @@ msgid_plural ""
"required:"
msgstr[0] "下列软件包是自动安装的并且现在ä¸éœ€è¦äº†ï¼š"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
"%lu packages were automatically installed and are no longer required.\n"
msgstr[0] "%lu 个自动安装的的软件包现在已ä¸å†éœ€è¦äº†ã€‚\n"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "使用'apt-get autoremove'æ¥å¸è½½å®ƒä»¬"
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "内部错误,全部å‡çº§å·¥å…·å事了"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "您å¯èƒ½éœ€è¦è¿è¡Œâ€œapt-get -f installâ€æ¥çº æ­£ä¸‹åˆ—错误:"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1107,7 +1107,7 @@ msgstr ""
"有未能满足的ä¾èµ–关系。请å°è¯•ä¸æŒ‡æ˜Žè½¯ä»¶åŒ…çš„åå­—æ¥è¿è¡Œâ€œapt-get -f installâ€(也å¯"
"以指定一个解决办法)。"
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1118,73 +1118,73 @@ msgstr ""
"因为系统无法达到您è¦æ±‚的状æ€é€ æˆçš„。该版本中å¯èƒ½ä¼šæœ‰ä¸€äº›æ‚¨éœ€è¦çš„软件\n"
"包尚未被创建或是它们已被从新到(Incoming)目录移出。"
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "ç ´æŸçš„软件包"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "将会安装下列é¢å¤–的软件包:"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "建议安装的软件包:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "推è安装的软件包:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "无法找到软件包 %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s 被设置为手动安装。\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "正在对å‡çº§è¿›è¡Œè®¡ç®—... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "失败"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "完æˆ"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "内部错误,问题解决工具å事了"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "无法é”定下载目录"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "è¦ä¸‹è½½æºä»£ç ï¼Œå¿…须指定至少一个对应的软件包"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "无法找到与 %s 对应的æºä»£ç åŒ…"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
@@ -1193,7 +1193,7 @@ msgstr ""
"æ示:%s 的打包工作被维护于以下ä½ç½®çš„ %s 版本控制系统中:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1204,122 +1204,143 @@ msgstr ""
"bzr get %s\n"
"获得该软件包的最近更新(å¯èƒ½å°šæœªæ­£å¼å‘布)。\n"
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "忽略已下载过的文件“%sâ€\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "您在 %s 上没有足够的å¯ç”¨ç©ºé—´"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "需è¦ä¸‹è½½ %sB/%sB çš„æºä»£ç åŒ…。\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "需è¦ä¸‹è½½ %sB çš„æºä»£ç åŒ…。\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "下载æºä»£ç  %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "有一些包文件无法下载。"
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "忽略已ç»è¢«è§£åŒ…到 %s 目录的æºä»£ç åŒ…\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "è¿è¡Œè§£åŒ…的命令“%sâ€å‡ºé”™ã€‚\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "请检查是å¦å®‰è£…了“dpkg-devâ€è½¯ä»¶åŒ…。\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "执行构造软件包命令“%sâ€å¤±è´¥ã€‚\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "å­è¿›ç¨‹å‡ºé”™"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "è¦æ£€æŸ¥ç”Ÿæˆè½¯ä»¶åŒ…的构建ä¾èµ–关系,必须指定至少一个软件包"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "无法获得 %s 的构建ä¾èµ–关系信æ¯"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr " %s 没有构建ä¾èµ–关系信æ¯ã€‚\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "由于无法找到软件包 %3$s ,因此ä¸èƒ½æ»¡è¶³ %2$s 所è¦æ±‚çš„ %1$s ä¾èµ–关系"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "由于无法找到软件包 %3$s ,因此ä¸èƒ½æ»¡è¶³ %2$s 所è¦æ±‚çš„ %1$s ä¾èµ–关系"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr "无法满足 %2$s 所è¦æ±‚ %1$s ä¾èµ–关系:已安装的软件包 %3$s 太新"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"由于无法找到符åˆè¦æ±‚的软件包 %3$s çš„å¯ç”¨ç‰ˆæœ¬ï¼Œå› æ­¤ä¸èƒ½æ»¡è¶³ %2$s 所è¦æ±‚çš„ "
"%1$s ä¾èµ–关系"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr "无法满足 %2$s 所è¦æ±‚ %1$s ä¾èµ–关系:已安装的软件包 %3$s 太新"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "由于无法找到软件包 %3$s ,因此ä¸èƒ½æ»¡è¶³ %2$s 所è¦æ±‚çš„ %1$s ä¾èµ–关系"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "无法满足 %2$s 所è¦æ±‚ %1$s ä¾èµ–关系:%3$s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "ä¸èƒ½æ»¡è¶³è½¯ä»¶åŒ… %s 所è¦æ±‚的构建ä¾èµ–关系。"
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "无法处ç†æž„建ä¾èµ–关系"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "正在连接 %s (%s)"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "支æŒçš„模å—:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1407,7 +1428,7 @@ msgstr ""
"以获å–更多信æ¯å’Œé€‰é¡¹ã€‚\n"
" 本 APT 具有超级牛力。\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1716,8 +1737,8 @@ msgstr "文件 %s/%s 会覆盖属于软件包 %s 中的åŒå文件"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1749,7 +1770,7 @@ msgstr "info å’Œ temp 目录è¦æ±‚处于åŒä¸€æ–‡ä»¶ç³»ç»Ÿä¹‹ä¸‹"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "正在读å–软件包列表"
@@ -2115,34 +2136,28 @@ msgstr "解æžâ€œ%s:%sâ€æ—¶ï¼Œå‡ºçŽ°äº†æŸäº›æ•…éšœ(%i - %s)"
msgid "Unable to connect to %s:%s:"
msgstr "ä¸èƒ½è¿žæŽ¥åˆ° %s:%s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr "%s 中没有安装密钥环。"
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "内部错误:签å正确无误,但是无法确认密钥指纹?ï¼"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "至少å‘现一个无效的签å。"
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "无法è¿è¡Œ gpgv 以验è¯ç­¾å(您安装了 gpgv å—?)"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "è¿è¡Œ gpgv æ—¶å‘生未知错误"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "下列签å无效:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2297,57 +2312,57 @@ msgstr "%li秒"
msgid "Selection %s not found"
msgstr "找ä¸åˆ°æ‚¨é€‰åˆ™çš„ %s"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "无法识别的类型缩写:“%câ€"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "正在打开é…置文件 %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "语法错误 %s:%u:é…ç½®å°èŠ‚没有以å字开头"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "语法错误 %s:%u:标签格å¼æœ‰è¯¯"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "语法错误 %s:%u:é…置值åŽæœ‰å¤šä½™çš„æ— æ„义数æ®"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "语法错误 %s:%u:åªèƒ½åœ¨é¡¶å±‚é…置文件中使用指示"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "语法错误 %s:%u:太多的嵌套 include 命令"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "语法错误 %s:%u:Included from here"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "语法错误 %s:%u:ä¸æ”¯æŒçš„指令“%sâ€"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "语法错误 %s:%u:clean 指令需è¦ä¸€ä¸ªé€‰é¡¹æ ‘作为å‚æ•°"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "语法错误 %s:%u:文件尾部有多余的无æ„义的数æ®"
@@ -2490,7 +2505,7 @@ msgstr "å­è¿›ç¨‹ %s è¿”å›žäº†ä¸€ä¸ªé”™è¯¯å· (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "å­è¿›ç¨‹ %s 异常退出"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "无法打开文件 %s"
@@ -2717,7 +2732,7 @@ msgstr "在æºåˆ—表 %2$s 中第 %1$u 行的格å¼æœ‰è¯¯(类型)"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "无法识别在æºåˆ—表 %3$s 里,第 %2$u 行中的软件包类别“%1$sâ€"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
@@ -2726,7 +2741,7 @@ msgstr ""
"无法立å³å¯¹ %s 进行é…置。请查看 man 5 apt.conf 中的 APT::Immediate-Configure "
"(%d)"
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2737,7 +2752,7 @@ msgstr ""
"少的软件包 %s。通常并ä¸å»ºè®®è¿™æ ·åšï¼Œä½†æ˜¯å¦‚果您确实希望如此,å¯ä»¥æ‰“å¼€ APT::"
"Force-LoopBreak 选项。"
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2771,7 +2786,7 @@ msgstr ""
"无法修正错误,因为您è¦æ±‚æŸäº›è½¯ä»¶åŒ…ä¿æŒçŽ°çŠ¶ï¼Œå°±æ˜¯å®ƒä»¬ç ´å了软件包间的ä¾èµ–å…³"
"系。"
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2821,12 +2836,12 @@ msgstr "获å–è½¯ä»¶åŒ…çš„æ¸ é“ %s 所需的驱动程åºæ²¡æœ‰æ­£å¸¸å¯åŠ¨ã€‚"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "请把标有“%sâ€çš„盘片æ’入驱动器“%sâ€å†æŒ‰å›žè½¦é”®ã€‚"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "ä¸æ”¯æŒâ€œ%sâ€æ‰“包系统"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "无法确定适åˆçš„打包系统类型"
@@ -2851,17 +2866,24 @@ msgstr "您å¯èƒ½éœ€è¦è¿è¡Œ apt-get update æ¥è§£å†³è¿™äº›é—®é¢˜"
msgid "The list of sources could not be read."
msgstr "无法读å–æºåˆ—表。"
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "首选项文件 %s 中å‘现有无效的记录,无 Package 字段头"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "无法识别é”定的类型 %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "没有为版本é”定指定优先级(或为零)"
@@ -2950,7 +2972,7 @@ msgstr "无法获å–æºè½¯ä»¶åŒ…列表 %s 的状æ€"
msgid "Collecting File Provides"
msgstr "正在收集文件所æ供的软件包"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "无法读å–或写入软件æºç¼“å­˜"
@@ -2963,8 +2985,8 @@ msgstr "无法é‡å‘½å文件,%s (%s -> %s)。"
msgid "MD5Sum mismatch"
msgstr "MD5 校验和ä¸ç¬¦"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hash 校验和ä¸ç¬¦"
@@ -2984,20 +3006,19 @@ msgstr "无法解æžè½¯ä»¶åŒ…仓库 Release 文件 %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "以下 ID 的密钥没有å¯ç”¨çš„公钥:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Release 文件已过期,忽略 %s (从 %s 起无效)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "冲çªçš„å‘行版:%s (期望 %s 但得到 %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -3006,12 +3027,12 @@ msgstr ""
"校验签å出错。此仓库未被更新,ä»ç„¶ä½¿ç”¨ä»¥å‰çš„索引文件。GPG 错误:%s: %s\n"
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr "GPG 错误:%s: %s"
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3020,7 +3041,7 @@ msgstr ""
"我无法找到一个对应 %s 软件包的文件。在这ç§æƒ…况下å¯èƒ½éœ€è¦æ‚¨æ‰‹åŠ¨ä¿®æ­£è¿™ä¸ªè½¯ä»¶"
"包。(缘于架构缺失)"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3028,13 +3049,13 @@ msgid ""
msgstr ""
"我无法找到对应 %s 软件包的文件。在这ç§æƒ…况下您å¯èƒ½éœ€è¦æ‰‹åŠ¨ä¿®æ­£è¿™ä¸ªè½¯ä»¶åŒ…。"
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "软件包的索引文件已æŸå。找ä¸åˆ°å¯¹åº”软件包 %s çš„ Filename: 字段。"
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "大å°ä¸ç¬¦"
@@ -3158,22 +3179,22 @@ msgstr "正在写入新的æºåˆ—表\n"
msgid "Source list entries for this disc are:\n"
msgstr "对应于该盘片的软件æºè®¾ç½®é¡¹æ˜¯ï¼š\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "已写入 %i æ¡è®°å½•ã€‚\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "已写入 %i æ¡è®°å½•ï¼Œå¹¶æœ‰ %i 个文件缺失。\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "已写入 %i æ¡è®°å½•ï¼Œå¹¶æœ‰ %i 个文件ä¸åŒ¹é…\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "已写入 %i æ¡è®°å½•ï¼Œå¹¶æœ‰ %i ä¸ªç¼ºå¤±ï¼Œä»¥åŠ %i 个文件ä¸åŒ¹é…\n"
@@ -3193,6 +3214,17 @@ msgstr "无法找到认è¯è®°å½•ï¼š%s"
msgid "Hash mismatch for: %s"
msgstr "Hash 校验和ä¸ç¬¦ï¼š%s"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr "%s 中没有安装密钥环。"
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3428,6 +3460,9 @@ msgstr "连接被永久关闭"
#~ msgid "Internal error, group '%s' has no installable pseudo package"
#~ msgstr "内部错误,组 %s 没有å¯å®‰è£…çš„ pseudo 软件包"
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Release 文件已过期,忽略 %s (从 %s 起无效)"
+
#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
#~ msgstr "错误:Acquire::gpgv::Options çš„å‚数列表太长。结æŸè¿è¡Œã€‚"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index f664e8ee1..dcac41019 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.5.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-05 13:23+0100\n"
+"POT-Creation-Date: 2011-07-26 12:05+0200\n"
"PO-Revision-Date: 2009-01-28 10:41+0800\n"
"Last-Translator: Tetralet <tetralet@gmail.com>\n"
"Language-Team: Debian-user in Chinese [Big5] <debian-chinese-big5@lists."
@@ -157,7 +157,7 @@ msgstr " 版本列表:"
#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s 是用於 %s 並在 %s %s 上編譯的\n"
@@ -828,7 +828,7 @@ msgstr "無法é‡æ–°å®‰è£ %s,因為它無法下載。\n"
msgid "%s is already the newest version.\n"
msgstr "%s 已經是最新版本了。\n"
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr "%s 被設定為手動安è£ã€‚\n"
@@ -940,8 +940,8 @@ msgstr "æ­¤æ“作完æˆä¹‹å¾Œï¼Œæœƒå¤šä½”用 %sB çš„ç£ç¢Ÿç©ºé–“。\n"
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "æ­¤æ“作完æˆä¹‹å¾Œï¼Œæœƒç©ºå‡º %sB çš„ç£ç¢Ÿç©ºé–“。\n"
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
-#: cmdline/apt-get.cc:2495
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499
+#: cmdline/apt-get.cc:2502
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "ç„¡æ³•ç¢ºèª %s 的未使用空間"
@@ -978,7 +978,7 @@ msgstr "放棄執行。"
msgid "Do you want to continue [Y/n]? "
msgstr "是å¦ç¹¼çºŒé€²è¡Œ [Y/n]?"
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "無法å–å¾— %s,%s\n"
@@ -987,7 +987,7 @@ msgstr "無法å–å¾— %s,%s\n"
msgid "Some files failed to download"
msgstr "有部份檔案無法下載"
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576
msgid "Download complete and in download only mode"
msgstr "下載完æˆï¼Œä¸”這是『僅下載ã€æ¨¡å¼"
@@ -1025,31 +1025,31 @@ msgstr[1] ""
msgid "Note: This is done automatic and on purpose by dpkg."
msgstr ""
-#: cmdline/apt-get.cc:1497
+#: cmdline/apt-get.cc:1505
#, c-format
msgid "Ignore unavailable target release '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1537
#, fuzzy, c-format
msgid "Picking '%s' as source package instead of '%s'\n"
msgstr "無法å–得來æºå¥—件列表 %s 的狀態"
#. if (VerTag.empty() == false && Last == 0)
-#: cmdline/apt-get.cc:1567
+#: cmdline/apt-get.cc:1575
#, c-format
msgid "Ignore unavailable version '%s' of package '%s'"
msgstr ""
-#: cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1591
msgid "The update command takes no arguments"
msgstr "update 指令ä¸éœ€ä»»ä½•åƒæ•¸"
-#: cmdline/apt-get.cc:1645
+#: cmdline/apt-get.cc:1653
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr "我們沒有計劃è¦åˆªé™¤ä»»ä½•æ±è¥¿ï¼Œç„¡æ³•å•Ÿå‹• AutoRemover"
-#: cmdline/apt-get.cc:1740
+#: cmdline/apt-get.cc:1748
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1067,15 +1067,15 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913
+#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921
msgid "The following information may help to resolve the situation:"
msgstr "以下的資訊或許有助於解決當å‰çš„情æ³ï¼š"
-#: cmdline/apt-get.cc:1747
+#: cmdline/apt-get.cc:1755
msgid "Internal Error, AutoRemover broke stuff"
msgstr "內部錯誤,AutoRemover 處ç†å¤±æ•—"
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1762
#, fuzzy
msgid ""
"The following package was automatically installed and is no longer required:"
@@ -1085,7 +1085,7 @@ msgid_plural ""
msgstr[0] "以下套件是被自動安è£é€²ä¾†çš„,且已ä¸å†æœƒè¢«ç”¨åˆ°äº†ï¼š"
msgstr[1] "以下套件是被自動安è£é€²ä¾†çš„,且已ä¸å†æœƒè¢«ç”¨åˆ°äº†ï¼š"
-#: cmdline/apt-get.cc:1758
+#: cmdline/apt-get.cc:1766
#, fuzzy, c-format
msgid "%lu package was automatically installed and is no longer required.\n"
msgid_plural ""
@@ -1093,19 +1093,19 @@ msgid_plural ""
msgstr[0] "以下套件是被自動安è£é€²ä¾†çš„,且已ä¸å†æœƒè¢«ç”¨åˆ°äº†ï¼š"
msgstr[1] "以下套件是被自動安è£é€²ä¾†çš„,且已ä¸å†æœƒè¢«ç”¨åˆ°äº†ï¼š"
-#: cmdline/apt-get.cc:1760
+#: cmdline/apt-get.cc:1768
msgid "Use 'apt-get autoremove' to remove them."
msgstr "使用 'apt-get autoremove' 來將其移除。"
-#: cmdline/apt-get.cc:1779
+#: cmdline/apt-get.cc:1787
msgid "Internal error, AllUpgrade broke stuff"
msgstr "內部錯誤,AllUpgrade 造æˆäº†æ壞"
-#: cmdline/apt-get.cc:1878
+#: cmdline/apt-get.cc:1886
msgid "You might want to run 'apt-get -f install' to correct these:"
msgstr "您也許得執行 'apt-get -f install' 以修正這些å•é¡Œï¼š"
-#: cmdline/apt-get.cc:1882
+#: cmdline/apt-get.cc:1890
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1113,7 +1113,7 @@ msgstr ""
"未能滿足相ä¾é—œä¿‚。請試著ä¸æŒ‡å®šå¥—件來執行 'apt-get -f install'(或採å–其它的解"
"決方案)。"
-#: cmdline/apt-get.cc:1898
+#: cmdline/apt-get.cc:1906
msgid ""
"Some packages could not be installed. This may mean that you have\n"
"requested an impossible situation or if you are using the unstable\n"
@@ -1123,80 +1123,80 @@ msgstr ""
"有些套件無法安è£ã€‚這å¯èƒ½æ„謂著您的è¦æ±‚難以解決,或是若您使用的是\n"
"unstable 發行版,å¯èƒ½æœ‰äº›å¿…è¦çš„套件尚未建立,或是被移出 Incoming 了。"
-#: cmdline/apt-get.cc:1916
+#: cmdline/apt-get.cc:1924
msgid "Broken packages"
msgstr "æ毀的套件"
-#: cmdline/apt-get.cc:1942
+#: cmdline/apt-get.cc:1950
msgid "The following extra packages will be installed:"
msgstr "下列的é¡å¤–套件將被安è£ï¼š"
-#: cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:2040
msgid "Suggested packages:"
msgstr "建議套件:"
-#: cmdline/apt-get.cc:2033
+#: cmdline/apt-get.cc:2041
msgid "Recommended packages:"
msgstr "推薦套件:"
-#: cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:2083
#, c-format
msgid "Couldn't find package %s"
msgstr "無法找到套件 %s"
-#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61
#, fuzzy, c-format
msgid "%s set to automatically installed.\n"
msgstr "%s 被設定為手動安è£ã€‚\n"
-#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105
msgid ""
"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
"instead."
msgstr ""
-#: cmdline/apt-get.cc:2106
+#: cmdline/apt-get.cc:2114
msgid "Calculating upgrade... "
msgstr "籌備å‡ç´šä¸­... "
-#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr "失敗"
-#: cmdline/apt-get.cc:2114
+#: cmdline/apt-get.cc:2122
msgid "Done"
msgstr "完æˆ"
-#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
+#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197
msgid "Internal error, problem resolver broke stuff"
msgstr "內部錯誤,å•é¡ŒæŽ’除器造æˆäº†æ壞"
-#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
+#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254
msgid "Unable to lock the download directory"
msgstr "無法鎖定下載目錄"
-#: cmdline/apt-get.cc:2297
+#: cmdline/apt-get.cc:2305
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2361
msgid "Must specify at least one package to fetch source for"
msgstr "在å–得原始碼時必須至少指定一個套件"
-#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
+#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713
#, c-format
msgid "Unable to find a source package for %s"
msgstr "無法找到 %s 的原始碼套件"
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2418
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
@@ -1204,121 +1204,142 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2469
+#: cmdline/apt-get.cc:2476
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "ç•¥éŽå·²ä¸‹è¼‰çš„檔案 '%s'\n"
-#: cmdline/apt-get.cc:2506
+#: cmdline/apt-get.cc:2513
#, c-format
msgid "You don't have enough free space in %s"
msgstr "在 %s 裡沒有足夠的的未使用空間"
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2515
+#: cmdline/apt-get.cc:2522
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "需è¦ä¸‹è¼‰ %sB/%sB 的原始套件檔。\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
-#: cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:2527
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "需è¦ä¸‹è¼‰ %sB 的原始套件檔。\n"
-#: cmdline/apt-get.cc:2526
+#: cmdline/apt-get.cc:2533
#, c-format
msgid "Fetch source %s\n"
msgstr "å–得原始碼 %s\n"
-#: cmdline/apt-get.cc:2564
+#: cmdline/apt-get.cc:2571
msgid "Failed to fetch some archives."
msgstr "無法å–å¾—æŸäº›å¥—件檔。"
-#: cmdline/apt-get.cc:2595
+#: cmdline/apt-get.cc:2602
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr "ä¸è§£é–‹ï¼Œå› åŽŸå§‹ç¢¼å·²è§£é–‹è‡³ %s\n"
-#: cmdline/apt-get.cc:2607
+#: cmdline/apt-get.cc:2614
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "解開指令 '%s' 失敗。\n"
-#: cmdline/apt-get.cc:2608
+#: cmdline/apt-get.cc:2615
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "請檢查是å¦å·²å®‰è£äº† 'dpkg-dev' 套件。\n"
-#: cmdline/apt-get.cc:2625
+#: cmdline/apt-get.cc:2637
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "編譯指令 '%s' 失敗。\n"
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2657
msgid "Child process failed"
msgstr "å­ç¨‹åºå¤±æ•—"
-#: cmdline/apt-get.cc:2664
+#: cmdline/apt-get.cc:2676
msgid "Must specify at least one package to check builddeps for"
msgstr "在檢查編譯相ä¾é—œä¿‚時必須至少指定一個套件"
-#: cmdline/apt-get.cc:2695
+#: cmdline/apt-get.cc:2701
+#, c-format
+msgid ""
+"No architecture information available for %s. See apt.conf(5) APT::"
+"Architectures for setup"
+msgstr ""
+
+#: cmdline/apt-get.cc:2718
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "無法å–å¾— %s 的編譯相ä¾é—œä¿‚資訊"
-#: cmdline/apt-get.cc:2715
+#: cmdline/apt-get.cc:2738
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s 沒有編譯相ä¾é—œä¿‚。\n"
-#: cmdline/apt-get.cc:2766
+#: cmdline/apt-get.cc:2868
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s can't be satisfied because %s is not allowed on '%s' "
+"packages"
+msgstr "無法滿足 %2$s 所è¦æ±‚çš„ %1$s 相ä¾é—œä¿‚,因為找ä¸åˆ°å¥—件 %3$s"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr "無法滿足 %2$s 所è¦æ±‚çš„ %1$s 相ä¾é—œä¿‚,因為找ä¸åˆ°å¥—件 %3$s"
-#: cmdline/apt-get.cc:2819
+#: cmdline/apt-get.cc:2912
#, c-format
+msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
+msgstr "無法滿足 %2$s 的相ä¾é—œä¿‚ %1$s:已安è£çš„套件 %3$s 太新了"
+
+#: cmdline/apt-get.cc:2951
+#, fuzzy, c-format
msgid ""
-"%s dependency for %s cannot be satisfied because no available versions of "
-"package %s can satisfy version requirements"
+"%s dependency for %s cannot be satisfied because candidate version of "
+"package %s can't satisfy version requirements"
msgstr ""
"無法滿足 %2$s 所è¦æ±‚çš„ %1$s 相ä¾é—œä¿‚,因為套件 %3$s 沒有版本符åˆå…¶ç‰ˆæœ¬éœ€æ±‚"
-#: cmdline/apt-get.cc:2855
-#, c-format
-msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr "無法滿足 %2$s 的相ä¾é—œä¿‚ %1$s:已安è£çš„套件 %3$s 太新了"
+#: cmdline/apt-get.cc:2957
+#, fuzzy, c-format
+msgid ""
+"%s dependency for %s cannot be satisfied because package %s has no candidate "
+"version"
+msgstr "無法滿足 %2$s 所è¦æ±‚çš„ %1$s 相ä¾é—œä¿‚,因為找ä¸åˆ°å¥—件 %3$s"
-#: cmdline/apt-get.cc:2882
+#: cmdline/apt-get.cc:2980
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "無法滿足 %2$s 的相ä¾é—œä¿‚ %1$s:%3$s"
-#: cmdline/apt-get.cc:2898
+#: cmdline/apt-get.cc:2996
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "無法滿足套件 %s 的編譯相ä¾é—œä¿‚。"
-#: cmdline/apt-get.cc:2903
+#: cmdline/apt-get.cc:3001
msgid "Failed to process build dependencies"
msgstr "無法處ç†ç·¨è­¯ç›¸ä¾é—œä¿‚"
-#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
+#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106
#, fuzzy, c-format
msgid "Changelog for %s (%s)"
msgstr "正和 %s (%s) 連線"
-#: cmdline/apt-get.cc:3127
+#: cmdline/apt-get.cc:3225
msgid "Supported modules:"
msgstr "已支æ´æ¨¡çµ„:"
-#: cmdline/apt-get.cc:3168
+#: cmdline/apt-get.cc:3266
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1404,7 +1425,7 @@ msgstr ""
"以å–得更多資訊和é¸é …。\n"
" 該 APT 有著超級牛力。\n"
-#: cmdline/apt-get.cc:3330
+#: cmdline/apt-get.cc:3429
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1711,8 +1732,8 @@ msgstr "檔案 %s/%s 覆寫了套件 %s 中的相åŒæª”案"
#. Only warn if there is no sources.list file.
#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100
-#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104
+#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1744,7 +1765,7 @@ msgstr "資料目錄與暫存目錄需ä½æ–¼åŒä¸€æª”案系統中"
#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
-#: apt-pkg/pkgcachegen.cc:1304
+#: apt-pkg/pkgcachegen.cc:1320
msgid "Reading package lists"
msgstr "正在讀å–套件清單"
@@ -2109,35 +2130,29 @@ msgstr "åœ¨è§£æž '%s:%s' (%i) 時出了怪事"
msgid "Unable to connect to %s:%s:"
msgstr "無法連線至 %s %s:"
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, fuzzy, c-format
-msgid "No keyring installed in %s."
-msgstr "放棄安è£ã€‚"
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr "內部錯誤:簽章無誤,但å»ç„¡æ³•è¾¨è­˜å¯†é‘°çš„指紋碼?ï¼"
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr "至少發ç¾ä¸€å€‹ç„¡æ•ˆçš„簽章。"
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
#, fuzzy
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr "無法執行 '%s' 來驗證簽章(gpgv 是å¦å®‰è£äº†ï¼Ÿï¼‰"
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr "在執行 gpgv 時發生未知的錯誤"
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr "以下簽å無效:\n"
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -2294,57 +2309,57 @@ msgstr ""
msgid "Selection %s not found"
msgstr "é¸é … %s 找ä¸åˆ°"
-#: apt-pkg/contrib/configuration.cc:452
+#: apt-pkg/contrib/configuration.cc:465
#, c-format
msgid "Unrecognized type abbreviation: '%c'"
msgstr "無法辨識的縮寫類型:'%c'"
-#: apt-pkg/contrib/configuration.cc:510
+#: apt-pkg/contrib/configuration.cc:523
#, c-format
msgid "Opening configuration file %s"
msgstr "開啟設定檔 %s"
-#: apt-pkg/contrib/configuration.cc:678
+#: apt-pkg/contrib/configuration.cc:691
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "語法錯誤 %s:%u:å€å¡Šé–‹é ­æ²’有å稱。"
-#: apt-pkg/contrib/configuration.cc:697
+#: apt-pkg/contrib/configuration.cc:710
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "語法錯誤 %s:%u:標籤格å¼éŒ¯èª¤"
-#: apt-pkg/contrib/configuration.cc:714
+#: apt-pkg/contrib/configuration.cc:727
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "語法錯誤 %s:%u:數值後有多餘的垃圾"
-#: apt-pkg/contrib/configuration.cc:754
+#: apt-pkg/contrib/configuration.cc:767
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr "語法錯誤 %s:%u:指令åªèƒ½æ–¼æœ€é«˜å±¤ç´šåŸ·è¡Œ"
-#: apt-pkg/contrib/configuration.cc:761
+#: apt-pkg/contrib/configuration.cc:774
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "語法錯誤 %s:%u: 太多巢狀引入檔"
-#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770
+#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "語法錯誤 %s:%u:從此引入"
-#: apt-pkg/contrib/configuration.cc:774
+#: apt-pkg/contrib/configuration.cc:787
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "語法錯誤 %s:%u:ä¸æ”¯æ´çš„指令 '%s'"
-#: apt-pkg/contrib/configuration.cc:777
+#: apt-pkg/contrib/configuration.cc:790
#, fuzzy, c-format
msgid "Syntax error %s:%u: clear directive requires an option tree as argument"
msgstr "語法錯誤 %s:%u:指令åªèƒ½æ–¼æœ€é«˜å±¤ç´šåŸ·è¡Œ"
-#: apt-pkg/contrib/configuration.cc:827
+#: apt-pkg/contrib/configuration.cc:840
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "語法錯誤 %s:%u:在檔案çµå°¾æœ‰å¤šé¤˜çš„垃圾"
@@ -2487,7 +2502,7 @@ msgstr "å­ç¨‹åº %s 傳回錯誤碼 (%u)"
msgid "Sub-process %s exited unexpectedly"
msgstr "å­ç¨‹åº %s ä¸é æœŸå¾—çµæŸ"
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr "無法開啟檔案 %s"
@@ -2714,14 +2729,14 @@ msgstr "來æºåˆ—表 %2$s 中的第 %1$u 行的格å¼éŒ¯èª¤ï¼ˆé¡žåž‹ï¼‰"
msgid "Type '%s' is not known on line %u in source list %s"
msgstr "未知的類型 '%1$s',ä½æ–¼åœ¨ä¾†æºåˆ—表 %3$s 中的第 %2$u è¡Œ"
-#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:548
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2731,7 +2746,7 @@ msgstr ""
"此安è£å› è¡çªæˆ–é å…ˆç›¸ä¾é—œä¿‚,需暫時刪除 %s 這個基本套件。這通常ä¸æ˜¯å¥½ä¸»æ„,但"
"若您執æ„進行,請設定 APT::Force-LoopBreak é¸é …。"
-#: apt-pkg/packagemanager.cc:596
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2761,7 +2776,7 @@ msgstr ""
msgid "Unable to correct problems, you have held broken packages."
msgstr "無法修正å•é¡Œï¼Œæ‚¨ä¿ç•™ (hold) 了æ毀的套件。"
-#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
#, fuzzy
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
@@ -2810,12 +2825,12 @@ msgstr "安è£æ–¹å¼ %s 沒有正確啟動"
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "請把標籤為 '%s' 的光碟放入 '%s' è£ç½®ä¸­ï¼Œç„¶å¾ŒæŒ‰ä¸‹ [Enter] éµã€‚"
-#: apt-pkg/init.cc:143
+#: apt-pkg/init.cc:147
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "ä¸æ”¯æ´çš„套件包è£ç³»çµ± '%s'"
-#: apt-pkg/init.cc:159
+#: apt-pkg/init.cc:163
msgid "Unable to determine a suitable packaging system type"
msgstr "無法確èªåˆé©çš„套件包è£ç³»çµ±é¡žåž‹"
@@ -2840,17 +2855,24 @@ msgstr "您也許得執行 apt-get update 以修正這些å•é¡Œ"
msgid "The list of sources could not be read."
msgstr "無法讀å–來æºåˆ—表。"
-#: apt-pkg/policy.cc:375
+#: apt-pkg/policy.cc:71
+#, c-format
+msgid ""
+"The value '%s' is invalid for APT::Default-Release as such a release is not "
+"available in the sources"
+msgstr ""
+
+#: apt-pkg/policy.cc:389
#, fuzzy, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr "個人設定檔中有些ä¸æ­£ç¢ºè³‡æ–™ï¼Œæ²’有以 Package é–‹é ­"
-#: apt-pkg/policy.cc:397
+#: apt-pkg/policy.cc:411
#, c-format
msgid "Did not understand pin type %s"
msgstr "無法分æžéŽ–定類型 %s"
-#: apt-pkg/policy.cc:405
+#: apt-pkg/policy.cc:419
msgid "No priority (or zero) specified for pin"
msgstr "銷定並沒有優先順åºä¹‹åˆ†ï¼ˆæˆ–零)"
@@ -2939,7 +2961,7 @@ msgstr "無法å–得來æºå¥—件列表 %s 的狀態"
msgid "Collecting File Provides"
msgstr "正在收集檔案æ供者"
-#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
+#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266
msgid "IO Error saving source cache"
msgstr "在儲存來æºå¿«å–時 IO 錯誤"
@@ -2952,8 +2974,8 @@ msgstr "無法é‡æ–°å‘½å,%s (%s -> %s)。"
msgid "MD5Sum mismatch"
msgstr "MD5Sum ä¸ç¬¦"
-#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846
-#: apt-pkg/acquire-item.cc:1989
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr "Hash Sum ä¸ç¬¦"
@@ -2973,20 +2995,19 @@ msgstr "無法辨別 Release 檔 %s"
msgid "There is no public key available for the following key IDs:\n"
msgstr "無法å–得以下的密鑰 ID 的公鑰:\n"
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1476
-#, fuzzy, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
-msgstr "Release 檔已éŽæœŸï¼Œç•¥éŽ %sï¼ˆæœ‰æ•ˆæœŸé™ %s)"
+#: apt-pkg/acquire-item.cc:1477
+#, c-format
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
+msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr "發行版本è¡çªï¼š%s(應當是 %s 但å»å¾—到 %s)"
-#: apt-pkg/acquire-item.cc:1530
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
@@ -2994,12 +3015,12 @@ msgid ""
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
-#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1637
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
@@ -3008,20 +3029,20 @@ msgstr ""
"找ä¸åˆ° %s 套件的æŸå€‹æª”案。這æ„味著您å¯èƒ½è¦æ‰‹å‹•ä¿®å¾©é€™å€‹å¥—件。(因為找ä¸åˆ°å¹³"
"å°ï¼‰"
-#: apt-pkg/acquire-item.cc:1696
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package."
msgstr "找ä¸åˆ° %s 套件的æŸå€‹æª”案。這æ„味著您å¯èƒ½è¦æ‰‹å‹•ä¿®å¾©é€™å€‹å¥—件。"
-#: apt-pkg/acquire-item.cc:1751
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr "這個套件的索引檔æ壞了。沒有套件 %s çš„ Filename: 欄ä½ã€‚"
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr "大å°ä¸ç¬¦"
@@ -3141,22 +3162,22 @@ msgstr "正在寫入新的來æºåˆ—表\n"
msgid "Source list entries for this disc are:\n"
msgstr "該碟片的來æºåˆ—表項目為:\n"
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr "寫入 %i 筆紀錄。\n"
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "寫入 %i 筆紀綠,其中有 %i 個檔案éºå¤±äº†ã€‚\n"
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "寫入 %i 筆紀綠,其中有 %i 個檔案ä¸ç¬¦\n"
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "寫入 %i 筆紀綠,其中有 %i 個檔案éºå¤±äº†ï¼Œæœ‰ %i 個檔案ä¸ç¬¦\n"
@@ -3176,6 +3197,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr "Hash Sum ä¸ç¬¦"
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, fuzzy, c-format
+msgid "No keyring installed in %s."
+msgstr "放棄安è£ã€‚"
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -3408,6 +3440,10 @@ msgstr "連線çªç„¶çµ‚æ­¢"
#~ msgid "Internal error, could not locate member"
#~ msgstr "內部錯誤:無法找到æˆå“¡"
+#, fuzzy
+#~ msgid "Release file expired, ignoring %s (invalid since %s)"
+#~ msgstr "Release 檔已éŽæœŸï¼Œç•¥éŽ %sï¼ˆæœ‰æ•ˆæœŸé™ %s)"
+
#~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
#~ msgstr "錯誤:Acquire::gpgv::Options çš„åƒæ•¸åˆ—表éŽé•·ã€‚çµæŸåŸ·è¡Œã€‚"
diff --git a/test/Makefile b/test/Makefile
new file mode 100644
index 000000000..da0a49b0c
--- /dev/null
+++ b/test/Makefile
@@ -0,0 +1,16 @@
+# -*- make -*-
+
+# This is the top level test makefile for APT, it recurses to each lower
+# level make file and runs it with the proper target
+ifndef NOISY
+.SILENT:
+endif
+
+.PHONY: headers library clean veryclean all binary program doc test
+all clean veryclean binary program dirs test:
+ $(MAKE) -C libapt $@
+ $(MAKE) -C interactive-helper $@
+
+# Some very common aliases
+.PHONY: maintainer-clean dist-clean distclean pristine sanity
+maintainer-clean dist-clean distclean pristine sanity: veryclean
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages
deleted file mode 100644
index 3e7265438..000000000
--- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages
+++ /dev/null
@@ -1,25 +0,0 @@
-Package: libglib2.0-data
-Priority: optional
-Section: misc
-Installed-Size: 2288
-Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com>
-Original-Maintainer: Loic Minier <lool@dooz.org>
-Architecture: all
-Source: glib2.0
-Version: 2.13.6-1ubuntu1
-Replaces: libglib1.3, libglib1.3-data
-Depends: libglib2.0-0 (>= 2.13.6-1ubuntu1)
-Conflicts: libglib1.3-data
-Filename: ./libglib2.0-data_2.13.6-1ubuntu1_all.deb
-Size: 958
-MD5sum: 803fc5e2e31a4345b3e9c771e1eae49f
-SHA1: 75b2c62b21bae60c58e694dd40ed6d4df946e304
-SHA256: 142d8466eac252f06bc957d76fe1bb87f86f2d3512b99c8d4b08c1ad79fbe59e
-Description: Common files for GLib library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package is needed for the runtime libraries to display messages in
- languages other than English.
-
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release
deleted file mode 100644
index 7ecd4cd19..000000000
--- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release
+++ /dev/null
@@ -1,13 +0,0 @@
-Date: Fri, 27 Jul 2007 14:39:41 UTC
-MD5Sum:
- 4672dadea6a144839f823c9f3d5fd44b 934 Packages
- 82ebcf09a8d78a2b9cf7759349da4936 603 Packages.gz
- d41d8cd98f00b204e9800998ecf8427e 0 Release
-SHA1:
- fa0f294aa30789529371066b10e9497be1284d26 934 Packages
- f4032808663b2810d87b4a4dab6f5ae4a1e8fa8e 603 Packages.gz
- da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release
-SHA256:
- 92c9b605480dc74e6be79c0ddc24738bfcbd6dd3148af531acd68717de528049 934 Packages
- 659ccc0d07ff21f0247f9fa5abe149221c90d5e17da52c7afddb035b93c23d39 603 Packages.gz
- e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg
deleted file mode 100644
index 85c356e6f..000000000
--- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQBGqgOwliSD4VZixzQRAs6jAJ9p7Aiob9gzkUNCtoW8UPrBo0E/YwCdEaz0
-CQJszU6fRYX5jGWXSWzfc5c=
-=ugH0
------END PGP SIGNATURE-----
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages
deleted file mode 100644
index 3e7265438..000000000
--- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages
+++ /dev/null
@@ -1,25 +0,0 @@
-Package: libglib2.0-data
-Priority: optional
-Section: misc
-Installed-Size: 2288
-Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com>
-Original-Maintainer: Loic Minier <lool@dooz.org>
-Architecture: all
-Source: glib2.0
-Version: 2.13.6-1ubuntu1
-Replaces: libglib1.3, libglib1.3-data
-Depends: libglib2.0-0 (>= 2.13.6-1ubuntu1)
-Conflicts: libglib1.3-data
-Filename: ./libglib2.0-data_2.13.6-1ubuntu1_all.deb
-Size: 958
-MD5sum: 803fc5e2e31a4345b3e9c771e1eae49f
-SHA1: 75b2c62b21bae60c58e694dd40ed6d4df946e304
-SHA256: 142d8466eac252f06bc957d76fe1bb87f86f2d3512b99c8d4b08c1ad79fbe59e
-Description: Common files for GLib library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package is needed for the runtime libraries to display messages in
- languages other than English.
-
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release
deleted file mode 100644
index 7ecd4cd19..000000000
--- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release
+++ /dev/null
@@ -1,13 +0,0 @@
-Date: Fri, 27 Jul 2007 14:39:41 UTC
-MD5Sum:
- 4672dadea6a144839f823c9f3d5fd44b 934 Packages
- 82ebcf09a8d78a2b9cf7759349da4936 603 Packages.gz
- d41d8cd98f00b204e9800998ecf8427e 0 Release
-SHA1:
- fa0f294aa30789529371066b10e9497be1284d26 934 Packages
- f4032808663b2810d87b4a4dab6f5ae4a1e8fa8e 603 Packages.gz
- da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release
-SHA256:
- 92c9b605480dc74e6be79c0ddc24738bfcbd6dd3148af531acd68717de528049 934 Packages
- 659ccc0d07ff21f0247f9fa5abe149221c90d5e17da52c7afddb035b93c23d39 603 Packages.gz
- e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg
deleted file mode 100644
index 85c356e6f..000000000
--- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQBGqgOwliSD4VZixzQRAs6jAJ9p7Aiob9gzkUNCtoW8UPrBo0E/YwCdEaz0
-CQJszU6fRYX5jGWXSWzfc5c=
-=ugH0
------END PGP SIGNATURE-----
diff --git a/test/authReliability/sources.list.failure b/test/authReliability/sources.list.failure
deleted file mode 100644
index 110f31884..000000000
--- a/test/authReliability/sources.list.failure
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-broken/ /
-
diff --git a/test/authReliability/sources.list.good b/test/authReliability/sources.list.good
deleted file mode 100644
index 2e9a4458a..000000000
--- a/test/authReliability/sources.list.good
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-ok/ /
-
diff --git a/test/conf.cc b/test/conf.cc
deleted file mode 100644
index 340647b5f..000000000
--- a/test/conf.cc
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <apt-pkg/configuration.h>
-#include <apt-pkg/error.h>
-
-using namespace std;
-
-int main(int argc,const char *argv[])
-{
- Configuration Cnf;
-
- ReadConfigFile(Cnf,argv[1],true);
-
- // Process 'simple-key' type sections
- const Configuration::Item *Top = Cnf.Tree("simple-key");
- for (Top = (Top == 0?0:Top->Child); Top != 0; Top = Top->Next)
- {
- Configuration Block(Top);
-
- string VendorID = Top->Tag;
- string FingerPrint = Block.Find("Fingerprint");
- string Name = Block.Find("Name"); // Description?
-
- if (FingerPrint.empty() == true || Name.empty() == true)
- _error->Error("Block %s is invalid",VendorID.c_str());
-
- cout << VendorID << ' ' << FingerPrint << ' ' << Name << endl;
- }
-
- // Print any errors or warnings found during parsing
- if (_error->empty() == false)
- {
- bool Errors = _error->PendingError();
- _error->DumpErrors();
- return Errors == true?100:0;
- }
-
- return 0;
-}
diff --git a/test/conf_clear.cc b/test/conf_clear.cc
deleted file mode 100644
index 259aa0f39..000000000
--- a/test/conf_clear.cc
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <apt-pkg/configuration.h>
-#include <apt-pkg/error.h>
-
-using namespace std;
-
-int main(int argc,const char *argv[])
-{
- Configuration Cnf;
-
- cout << "adding elements" << endl;
- Cnf.Set("APT::Keep-Fds::",28);
- Cnf.Set("APT::Keep-Fds::",17);
- Cnf.Set("APT::Keep-Fds::",47);
- Cnf.Dump();
-
- cout << "Removing elements" << endl;
- Cnf.Clear("APT::Keep-Fds",17);
- Cnf.Clear("APT::Keep-Fds",28);
- Cnf.Clear("APT::Keep-Fds",47);
- Cnf.Dump();
-
- return 0;
-}
diff --git a/test/fake-status b/test/fake-status
deleted file mode 100644
index 9e6366d5b..000000000
--- a/test/fake-status
+++ /dev/null
@@ -1,16 +0,0 @@
-Package: libglib2.0-0
-Status: install ok installed
-Priority: optional
-Section: libs
-Installed-Size: 1376
-Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com>
-Architecture: all
-Source: glib2.0
-Version: 2.13.7-1ubuntu1
-Description: The GLib library of C routines
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains the shared libraries.
-Original-Maintainer: Loic Minier <lool@dooz.org>
diff --git a/test/hash.cc b/test/hash.cc
deleted file mode 100644
index cfdb4ea9d..000000000
--- a/test/hash.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <apt-pkg/md5.h>
-#include <apt-pkg/sha1.h>
-#include <apt-pkg/sha256.h>
-#include <apt-pkg/strutl.h>
-#include <iostream>
-
-using namespace std;
-
-template <class T> void Test(const char *In,const char *Out)
-{
- T Sum;
- Sum.Add(In);
- cout << Sum.Result().Value() << endl;
- if (stringcasecmp(Sum.Result().Value(),Out) != 0)
- abort();
-}
-
-template <class T> void TestMill(const char *Out)
-{
- T Sum;
-
- const unsigned char As[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
- unsigned Count = 1000000;
- for (; Count != 0;)
- {
- if (Count >= 64)
- {
- Sum.Add(As,64);
- Count -= 64;
- }
- else
- {
- Sum.Add(As,Count);
- Count = 0;
- }
- }
-
- cout << Sum.Result().Value() << endl;
- if (stringcasecmp(Sum.Result().Value(),Out) != 0)
- abort();
-}
-
-int main()
-{
- // From FIPS PUB 180-1
- Test<SHA1Summation>("abc","A9993E364706816ABA3E25717850C26C9CD0D89D");
- Test<SHA1Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
- "84983E441C3BD26EBAAE4AA1F95129E5E54670F1");
- TestMill<SHA1Summation>("34AA973CD4C4DAA4F61EEB2BDBAD27316534016F");
-
- // MD5 tests from RFC 1321
- Test<MD5Summation>("","d41d8cd98f00b204e9800998ecf8427e");
- Test<MD5Summation>("a","0cc175b9c0f1b6a831c399e269772661");
- Test<MD5Summation>("abc","900150983cd24fb0d6963f7d28e17f72");
- Test<MD5Summation>("message digest","f96b697d7cb7938d525a2f31aaf161d0");
- Test<MD5Summation>("abcdefghijklmnopqrstuvwxyz","c3fcd3d76192e4007dfb496cca67e13b");
- Test<MD5Summation>("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
- "d174ab98d277d9f5a5611c2c9f419d9f");
- Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890",
- "57edf4a22be3c955ac49da2e2107b67a");
-
- // SHA-256, From FIPS 180-2
- Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
- "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1");
-
-
- return 0;
-}
-
-
diff --git a/test/integration/Packages-hashsum-verification b/test/integration/Packages-hashsum-verification
new file mode 100644
index 000000000..29a385f4f
--- /dev/null
+++ b/test/integration/Packages-hashsum-verification
@@ -0,0 +1,18 @@
+Package: apt
+Version: 0.7.25.3
+Architecture: i386
+Maintainer: APT Development Team <deity@lists.debian.org>
+Installed-Size: 5244
+Replaces: libapt-pkg-dev (<< 0.3.7), libapt-pkg-doc (<< 0.3.7)
+Provides: libapt-pkg-libc6.9-6-4.8
+Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt
+Filename: apt.deb
+Size: 0
+MD5sum: d41d8cd98f00b204e9800998ecf8427e
+Description: Advanced front-end for dpkg
+ This is Debian's next generation front-end for the dpkg package manager.
+ It provides the apt-get utility and APT dselect method that provides a
+ simpler, safer way to install and upgrade packages.
+ .
+ APT features complete installation ordering, multiple source capability
+ and several other unique features, see the Users Guide in apt-doc.
diff --git a/test/integration/framework b/test/integration/framework
index cc5af798c..a2e71760e 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -1,16 +1,19 @@
#!/bin/sh -- # no runable script, just for vi
# we all like colorful messages
-CERROR="" # red
-CWARNING="" # yellow
-CMSG="" # green
-CINFO="" # light blue
-CDEBUG="" # blue
-CNORMAL="" # default system console color
-CDONE="" # green
-CPASS="" # green
-CFAIL="" # red
-CCMD="" # pink
+if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null && \
+ expr match "$(readlink -f /proc/$$/fd/2)" '/dev/pts/[0-9]\+' > /dev/null; then
+ CERROR="" # red
+ CWARNING="" # yellow
+ CMSG="" # green
+ CINFO="" # light blue
+ CDEBUG="" # blue
+ CNORMAL="" # default system console color
+ CDONE="" # green
+ CPASS="" # green
+ CFAIL="" # red
+ CCMD="" # pink
+fi
msgdie() { echo "${CERROR}E: $1${CNORMAL}" >&2; exit 1; }
msgwarn() { echo "${CWARNING}W: $1${CNORMAL}" >&2; }
@@ -42,7 +45,11 @@ if [ $MSGLEVEL -le 2 ]; then
msgtest() { true; }
msgpass() { echo -n " ${CPASS}P${CNORMAL}" >&2; }
msgskip() { echo -n " ${CWARNING}S${CNORMAL}" >&2; }
- msgfail() { echo -n " ${CFAIL}FAIL${CNORMAL}" >&2; }
+ if [ -n "$CFAIL" ]; then
+ msgfail() { echo -n " ${CFAIL}FAIL${CNORMAL}" >&2; }
+ else
+ msgfail() { echo -n " ###FAILED###" >&2; }
+ fi
fi
if [ $MSGLEVEL -le 3 ]; then
msginfo() { true; }
@@ -151,6 +158,7 @@ setupenvironment() {
configarchitecture() {
local CONFFILE=rootdir/etc/apt/apt.conf.d/01multiarch.conf
+ rm -f $CONFFILE
echo "APT::Architecture \"$1\";" > $CONFFILE
shift
while [ -n "$1" ]; do
@@ -429,6 +437,27 @@ Filename: pool/main/${NAME}/${NAME}_${VERSION}_${arch}.deb" >> $FILE
done
}
+insertsource() {
+ local RELEASE="$1"
+ local NAME="$2"
+ local ARCH="$3"
+ local VERSION="$4"
+ local DEPENDENCIES="$5"
+ local ARCHS=""
+ local SPATH="aptarchive/dists/${RELEASE}/main/source"
+ mkdir -p $SPATH
+ local FILE="${SPATH}/Sources"
+ echo "Package: $NAME
+Binary: $NAME
+Version: $VERSION
+Maintainer: Joe Sixpack <joe@example.org>
+Architecture: $ARCH" >> $FILE
+ test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> $FILE
+ echo "Files:
+ d41d8cd98f00b204e9800998ecf8427e 0 ${NAME}_${VERSION}.dsc
+ d41d8cd98f00b204e9800998ecf8427e 0 ${NAME}_${VERSION}.tar.gz" >> $FILE
+}
+
insertinstalledpackage() {
local NAME="$1"
local ARCH="$2"
@@ -481,25 +510,52 @@ buildaptarchivefromfiles() {
generatereleasefiles
}
+# can be overridden by testcases for their pleasure
+getcodenamefromsuite() { echo -n "$1"; }
+getreleaseversionfromsuite() { true; }
+getlabelfromsuite() { true; }
+
generatereleasefiles() {
+ # $1 is the Date header and $2 is the ValidUntil header to be set
+ # both should be given in notation date/touch can understand
msgninfo "\tGenerate Release files… "
- local DATE="${1:-now}"
if [ -e aptarchive/dists ]; then
for dir in $(find ./aptarchive/dists -mindepth 3 -maxdepth 3 -type d -name 'i18n'); do
aptftparchive -qq release $dir -o APT::FTPArchive::Release::Patterns::='Translation-*' > $dir/Index
done
for dir in $(find ./aptarchive/dists -mindepth 1 -maxdepth 1 -type d); do
- local CODENAME="$(echo "$dir" | cut -d'/' -f 4)"
- aptftparchive -qq release $dir -o APT::FTPArchive::Release::Suite="${CODENAME}" -o APT::FTPArchive::Release::Codename="${CODENAME}" | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference
- if [ "$CODENAME" = "experimental" -o "$CODENAME" = "experimental2" ]; then
+ local SUITE="$(echo "$dir" | cut -d'/' -f 4)"
+ local CODENAME="$(getcodenamefromsuite $SUITE)"
+ local VERSION="$(getreleaseversionfromsuite $SUITE)"
+ local LABEL="$(getlabelfromsuite $SUITE)"
+ if [ -n "$VERSION" ]; then
+ VERSION="-o APT::FTPArchive::Release::Version=${VERSION}"
+ fi
+ if [ -n "$LABEL" ]; then
+ LABEL="-o APT::FTPArchive::Release::Label=${LABEL}"
+ fi
+ aptftparchive -qq release $dir \
+ -o APT::FTPArchive::Release::Suite="${SUITE}" \
+ -o APT::FTPArchive::Release::Codename="${CODENAME}" \
+ ${LABEL} \
+ ${VERSION} \
+ | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference
+ if [ "$SUITE" = "experimental" -o "$SUITE" = "experimental2" ]; then
sed -i '/^Date: / a\
NotAutomatic: yes' $dir/Release
fi
+ if [ -n "$1" -a "$1" != "now" ]; then
+ sed -i "s/^Date: .*$/Date: $(date -d "$1" '+%a, %d %b %Y %H:%M:%S %Z')/" $dir/Release
+ fi
+ if [ -n "$2" ]; then
+ sed -i "/^Date: / a\
+Valid-Until: $(date -d "$2" '+%a, %d %b %Y %H:%M:%S %Z')" $dir/Release
+ fi
done
else
aptftparchive -qq release ./aptarchive | sed -e '/0 Release$/ d' > aptarchive/Release # remove the self reference
fi
- if [ "$DATE" != "now" ]; then
+ if [ -n "$1" -a "$1" != "now" ]; then
for release in $(find ./aptarchive -name 'Release'); do
touch -d "$1" $release
done
@@ -573,6 +629,11 @@ changetowebserver() {
if which weborf > /dev/null; then
weborf -xb aptarchive/ 2>&1 > /dev/null &
addtrap "kill $!;"
+ elif which gatling > /dev/null; then
+ cd aptarchive
+ gatling -p 8080 -F -S 2>&1 > /dev/null &
+ addtrap "kill $!;"
+ cd - > /dev/null
elif which lighttpd > /dev/null; then
echo "server.document-root = \"$(readlink -f ./aptarchive)\"
server.port = 8080
@@ -708,3 +769,9 @@ testmarkedauto() {
fi
aptmark showauto 2>&1 | checkdiff $COMPAREFILE - && msgpass || msgfail
}
+
+pause() {
+ echo "STOPPED execution. Press enter to continue"
+ local IGNORE
+ read IGNORE
+}
diff --git a/test/integration/makefile b/test/integration/makefile
new file mode 100644
index 000000000..fb12fe9a8
--- /dev/null
+++ b/test/integration/makefile
@@ -0,0 +1,10 @@
+# -*- make -*-
+BASE=../..
+SUBDIR=test/integration
+
+# Bring in the default rules
+include ../../buildlib/defaults.mak
+
+.PHONY: test
+test:
+ ./run-tests
diff --git a/test/integration/run-tests b/test/integration/run-tests
index edac07dbf..75f2ad662 100755
--- a/test/integration/run-tests
+++ b/test/integration/run-tests
@@ -8,17 +8,30 @@ if [ "$1" = "-q" ]; then
elif [ "$1" = "-v" ]; then
export MSGLEVEL=4
fi
+
+if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
+ CTEST='\033[1;32m'
+ CHIGH='\033[1;35m'
+ CRESET='\033[0m'
+elif [ -z "${MSGLEVEL}" ]; then
+ export MSGLEVEL=2
+fi
+
+if [ -z "$MSGLEVEL" ]; then
+ MSGLEVEL=5
+fi
+
for testcase in $(run-parts --list $DIR | grep '/test-'); do
- if [ "$1" = "-q" ]; then
- echo -n "\033[1;32mRun Testcase \033[1;35m$(basename ${testcase})\033[0m"
+ if [ "$MSGLEVEL" -le 2 ]; then
+ echo -n "${CTEST}Testcase ${CHIGH}$(basename ${testcase})${CRESET}: "
else
- echo "\033[1;32mRun Testcase \033[1;35m$(basename ${testcase})\033[0m"
+ echo "${CTEST}Run Testcase ${CHIGH}$(basename ${testcase})${CRESET}"
fi
if ! ${testcase}; then
FAIL=$((FAIL+1))
echo "$(basename $testcase) ... FAIL"
fi
- if [ "$1" = "-q" ]; then
+ if [ "$MSGLEVEL" -le 2 ]; then
echo
fi
done
diff --git a/test/integration/test-bug-254770-segfault-if-cache-not-buildable b/test/integration/test-bug-254770-segfault-if-cache-not-buildable
index b9f45b131..8fa337ccc 100755
--- a/test/integration/test-bug-254770-segfault-if-cache-not-buildable
+++ b/test/integration/test-bug-254770-segfault-if-cache-not-buildable
@@ -12,7 +12,6 @@ trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
chmod a-x rootdir/var/lib/dpkg
testsegfault() {
- rm -f rootdir/var/cache/apt/*.bin
msgtest "No segfault in" "$*"
local TEST="$($* 2>&1 | grep -v 'E:')"
if [ -z "$TEST" ]; then
diff --git a/test/integration/test-bug-407511-fail-invalid-default-release b/test/integration/test-bug-407511-fail-invalid-default-release
new file mode 100755
index 000000000..d0a73af7d
--- /dev/null
+++ b/test/integration/test-bug-407511-fail-invalid-default-release
@@ -0,0 +1,47 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'i386'
+
+insertpackage 'unstable' 'cool' 'all' '1.0-1'
+
+getcodenamefromsuite() {
+ if [ "$SUITE" = 'unstable' ]; then
+ echo -n 'sid'
+ else
+ echo -n "$SUITE"
+ fi
+}
+getreleaseversionfromsuite() {
+ if [ "$SUITE" = 'unstable' ]; then
+ echo -n '42.0'
+ else
+ echo -n '0.8.15'
+ fi
+}
+
+setupaptarchive
+
+passdist() {
+ msgtest "Test that target-release is accepted" $1
+ aptget dist-upgrade -t $1 -qq && msgpass || msgfail
+}
+
+faildist() {
+ msgtest "Test that target-release is refused" $1
+ aptget dist-upgrade -t $1 -qq 2> /dev/null && msgfail || msgpass
+}
+
+passdist unstable
+passdist sid
+faildist sidd
+faildist stable
+passdist 42.0
+passdist 42.*
+passdist 42*
+passdist 4*.0
+faildist 21.0
+faildist 21*
diff --git a/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order b/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order
index 0f6493948..645e86d7d 100755
--- a/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order
+++ b/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order
@@ -25,7 +25,6 @@ MD5sum: 8489687ce10e656babd467c9ee389349
Description-de: Verschiedene Dateien für das Basis-System von Debian"
predependsgawk() {
- rm rootdir/var/cache/apt/*.bin
cp $TESTDIR/$(echo "$(basename $0)" | sed 's/test-/status-/') rootdir/var/lib/dpkg/status
echo "$pkgbasefile
Pre-Depends: $1
@@ -57,7 +56,6 @@ predependsgawk "awk | aawk"
predependsgawk "awk"
predependsgawk2() {
- rm rootdir/var/cache/apt/*.bin
cp $TESTDIR/$(echo "$(basename $0)" | sed 's/test-/status-/') rootdir/var/lib/dpkg/status
echo "$pkgbasefile
Pre-Depends: $1
diff --git a/test/integration/test-bug-595691-empty-and-broken-archive-files b/test/integration/test-bug-595691-empty-and-broken-archive-files
index 11dee0628..5c103da6f 100755
--- a/test/integration/test-bug-595691-empty-and-broken-archive-files
+++ b/test/integration/test-bug-595691-empty-and-broken-archive-files
@@ -11,7 +11,7 @@ touch aptarchive/Packages
setupflataptarchive
testaptgetupdate() {
- rm -rf rootdir/var/lib/apt rootdir/var/cache/apt
+ rm -rf rootdir/var/lib/apt
aptget update 2>> testaptgetupdate.diff >> testaptgetupdate.diff || true
sed -i -e '/^Fetched / d' -e 's#\[[0-9]* [kMGTPY]*B\]#\[\]#' testaptgetupdate.diff
GIVEN="$1"
diff --git a/test/integration/test-bug-596498-trusted-unsigned-repo b/test/integration/test-bug-596498-trusted-unsigned-repo
new file mode 100755
index 000000000..6ebc4a3bb
--- /dev/null
+++ b/test/integration/test-bug-596498-trusted-unsigned-repo
@@ -0,0 +1,47 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'i386'
+
+buildsimplenativepackage 'cool' 'i386' '1.0' 'unstable'
+
+setupaptarchive
+
+aptgetupdate() {
+ rm -rf rootdir/var/lib/apt/ rootdir/var/cache/apt/*.bin
+ aptget update -qq
+}
+
+PKGTEXT="$(aptget install cool --assume-no -d | head -n 7)"
+DEBFILE='rootdir/etc/apt/sources.list.d/apt-test-unstable-deb.list'
+
+testequal "$PKGTEXT
+Download complete and in download only mode" aptget install cool --assume-no -d
+
+sed -i -e 's#deb#deb [trusted=no]#' $DEBFILE
+aptgetupdate
+
+testequal "$PKGTEXT
+WARNING: The following packages cannot be authenticated!
+ cool
+Install these packages without verification [y/N]? N
+E: Some packages could not be authenticated" aptget install cool --assume-no -d
+
+find aptarchive/ \( -name 'Release.gpg' -o -name 'InRelease' \) -delete
+sed -i -e 's#deb \[trusted=no\]#deb#' $DEBFILE
+aptgetupdate
+
+testequal "$PKGTEXT
+WARNING: The following packages cannot be authenticated!
+ cool
+Install these packages without verification [y/N]? N
+E: Some packages could not be authenticated" aptget install cool --assume-no -d
+
+sed -i -e 's#deb#deb [trusted=yes]#' $DEBFILE
+aptgetupdate
+
+testequal "$PKGTEXT
+Download complete and in download only mode" aptget install cool --assume-no -d
diff --git a/test/integration/test-bug-601016-description-translation b/test/integration/test-bug-601016-description-translation
index 2a323a201..44ab91900 100755
--- a/test/integration/test-bug-601016-description-translation
+++ b/test/integration/test-bug-601016-description-translation
@@ -57,7 +57,7 @@ Description-${LOCALE}: Mächtige Oberfläche für dpkg
testrun() {
echo "Acquire::Languages { \"${LOCALE}\"; \"en\"; };" > rootdir/etc/apt/apt.conf.d/00languages
export LC_ALL=""
- rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/
+ rm -rf rootdir/var/lib/apt/lists
setupaptarchive
testequal "$LOCALESTANZA" aptcache show apt -o Test=File-${LOCALE}
testequal "$NOLONGSTANZA" aptcache show apt -o Acquire::Languages="ww" -o Test=File-${LOCALE}
diff --git a/test/integration/test-bug-618288-multiarch-same-lockstep b/test/integration/test-bug-618288-multiarch-same-lockstep
index 7e384e428..7333054cc 100755
--- a/test/integration/test-bug-618288-multiarch-same-lockstep
+++ b/test/integration/test-bug-618288-multiarch-same-lockstep
@@ -17,7 +17,20 @@ buildsimplenativepackage 'apt2' 'amd64' '2' 'unstable' 'Depends: libsame (= 2)'
setupaptarchive
-testequal 'Reading package lists...
+# order in switch libsame:{amd64,i386} are unpacked is irrelevant, as both are installed - but we need to do it together
+testequalor2 'Reading package lists...
+Building dependency tree...
+The following packages will be upgraded:
+ apt:i386 apt2 libsame libsame:i386
+4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
+Inst libsame:i386 [1] (2 unstable [i386]) [libsame:amd64 on libsame:i386] [libsame:i386 on libsame:amd64] [libsame:amd64 apt:i386 ]
+Inst libsame [1] (2 unstable [amd64]) [apt2:amd64 apt:i386 ]
+Conf libsame:i386 (2 unstable [i386]) [apt2:amd64 apt:i386 ]
+Conf libsame (2 unstable [amd64]) [apt2:amd64 apt:i386 ]
+Inst apt2 [1] (2 unstable [amd64]) [apt:i386 ]
+Conf apt2 (2 unstable [amd64]) [apt:i386 ]
+Inst apt:i386 [1] (2 unstable [i386])
+Conf apt:i386 (2 unstable [i386])' 'Reading package lists...
Building dependency tree...
The following packages will be upgraded:
apt:i386 apt2 libsame libsame:i386
diff --git a/test/integration/test-bug-632221-cross-dependency-satisfaction b/test/integration/test-bug-632221-cross-dependency-satisfaction
new file mode 100755
index 000000000..4299f052f
--- /dev/null
+++ b/test/integration/test-bug-632221-cross-dependency-satisfaction
@@ -0,0 +1,183 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'amd64' 'armel'
+
+insertinstalledpackage 'build-essential' 'all' '11.5'
+
+insertpackage 'unstable' 'doxygen' 'amd64,armel' '1.0'
+insertpackage 'unstable' 'libc6' 'amd64,armel' '1.0' 'Multi-Arch: same'
+insertpackage 'unstable' 'libc6-dev' 'amd64,armel' '1.0' 'Depends: libc6
+Multi-Arch: same'
+insertpackage 'unstable' 'cool' 'amd64,armel' '1.0' 'Multi-Arch: allowed'
+insertpackage 'unstable' 'amdboot' 'amd64' '1.0'
+insertpackage 'unstable' 'foreigner' 'amd64,armel' '1.0' 'Multi-Arch: foreign'
+
+insertsource 'unstable' 'apt' 'any' '0.8.15' 'Build-Depends: doxygen, libc6-dev, libc6-dev:native, cool:any, amdboot:amd64, foreigner'
+
+setupaptarchive
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ amdboot cool doxygen foreigner libc6 libc6-dev
+0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
+Inst amdboot (1.0 unstable [amd64])
+Inst cool (1.0 unstable [amd64])
+Inst doxygen (1.0 unstable [amd64])
+Inst foreigner (1.0 unstable [amd64])
+Inst libc6 (1.0 unstable [amd64])
+Inst libc6-dev (1.0 unstable [amd64])
+Conf amdboot (1.0 unstable [amd64])
+Conf cool (1.0 unstable [amd64])
+Conf doxygen (1.0 unstable [amd64])
+Conf foreigner (1.0 unstable [amd64])
+Conf libc6 (1.0 unstable [amd64])
+Conf libc6-dev (1.0 unstable [amd64])' aptget build-dep apt -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ amdboot cool doxygen foreigner libc6 libc6:armel libc6-dev libc6-dev:armel
+0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
+Inst amdboot (1.0 unstable [amd64])
+Inst cool (1.0 unstable [amd64])
+Inst doxygen (1.0 unstable [amd64])
+Inst foreigner (1.0 unstable [amd64])
+Inst libc6 (1.0 unstable [amd64])
+Inst libc6:armel (1.0 unstable [armel])
+Inst libc6-dev (1.0 unstable [amd64])
+Inst libc6-dev:armel (1.0 unstable [armel])
+Conf amdboot (1.0 unstable [amd64])
+Conf cool (1.0 unstable [amd64])
+Conf doxygen (1.0 unstable [amd64])
+Conf foreigner (1.0 unstable [amd64])
+Conf libc6 (1.0 unstable [amd64])
+Conf libc6:armel (1.0 unstable [armel])
+Conf libc6-dev (1.0 unstable [amd64])
+Conf libc6-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel
+
+configarchitecture 'armel' 'amd64'
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ amdboot:amd64 cool doxygen foreigner libc6 libc6-dev
+0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
+Inst amdboot:amd64 (1.0 unstable [amd64])
+Inst cool (1.0 unstable [armel])
+Inst doxygen (1.0 unstable [armel])
+Inst foreigner (1.0 unstable [armel])
+Inst libc6 (1.0 unstable [armel])
+Inst libc6-dev (1.0 unstable [armel])
+Conf amdboot:amd64 (1.0 unstable [amd64])
+Conf cool (1.0 unstable [armel])
+Conf doxygen (1.0 unstable [armel])
+Conf foreigner (1.0 unstable [armel])
+Conf libc6 (1.0 unstable [armel])
+Conf libc6-dev (1.0 unstable [armel])' aptget build-dep apt -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ amdboot:amd64 cool doxygen foreigner libc6:amd64 libc6 libc6-dev:amd64
+ libc6-dev
+0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
+Inst amdboot:amd64 (1.0 unstable [amd64])
+Inst cool (1.0 unstable [armel])
+Inst doxygen (1.0 unstable [armel])
+Inst foreigner (1.0 unstable [armel])
+Inst libc6:amd64 (1.0 unstable [amd64])
+Inst libc6 (1.0 unstable [armel])
+Inst libc6-dev:amd64 (1.0 unstable [amd64])
+Inst libc6-dev (1.0 unstable [armel])
+Conf amdboot:amd64 (1.0 unstable [amd64])
+Conf cool (1.0 unstable [armel])
+Conf doxygen (1.0 unstable [armel])
+Conf foreigner (1.0 unstable [armel])
+Conf libc6:amd64 (1.0 unstable [amd64])
+Conf libc6 (1.0 unstable [armel])
+Conf libc6-dev:amd64 (1.0 unstable [amd64])
+Conf libc6-dev (1.0 unstable [armel])' aptget build-dep apt -s -a amd64
+
+configarchitecture 'amd64' 'armel'
+
+insertinstalledpackage 'cool' 'amd64' '0.5'
+insertinstalledpackage 'foreigner' 'armel' '0.5'
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ amdboot doxygen libc6 libc6-dev
+0 upgraded, 4 newly installed, 0 to remove and 2 not upgraded.
+Inst amdboot (1.0 unstable [amd64])
+Inst doxygen (1.0 unstable [amd64])
+Inst libc6 (1.0 unstable [amd64])
+Inst libc6-dev (1.0 unstable [amd64])
+Conf amdboot (1.0 unstable [amd64])
+Conf doxygen (1.0 unstable [amd64])
+Conf libc6 (1.0 unstable [amd64])
+Conf libc6-dev (1.0 unstable [amd64])' aptget build-dep apt -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ amdboot doxygen libc6 libc6:armel libc6-dev libc6-dev:armel
+0 upgraded, 6 newly installed, 0 to remove and 2 not upgraded.
+Inst amdboot (1.0 unstable [amd64])
+Inst doxygen (1.0 unstable [amd64])
+Inst libc6 (1.0 unstable [amd64])
+Inst libc6:armel (1.0 unstable [armel])
+Inst libc6-dev (1.0 unstable [amd64])
+Inst libc6-dev:armel (1.0 unstable [armel])
+Conf amdboot (1.0 unstable [amd64])
+Conf doxygen (1.0 unstable [amd64])
+Conf libc6 (1.0 unstable [amd64])
+Conf libc6:armel (1.0 unstable [armel])
+Conf libc6-dev (1.0 unstable [amd64])
+Conf libc6-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel
+
+configarchitecture 'armel' 'amd64'
+
+# cool 0.5 is not M-A: allowed, so amd64 is not acceptable
+testequal 'Reading package lists...
+Building dependency tree...
+The following packages will be REMOVED:
+ cool:amd64
+The following NEW packages will be installed:
+ amdboot:amd64 cool doxygen libc6 libc6-dev
+0 upgraded, 5 newly installed, 1 to remove and 1 not upgraded.
+Remv cool:amd64 [0.5]
+Inst amdboot:amd64 (1.0 unstable [amd64])
+Inst cool (1.0 unstable [armel])
+Inst doxygen (1.0 unstable [armel])
+Inst libc6 (1.0 unstable [armel])
+Inst libc6-dev (1.0 unstable [armel])
+Conf amdboot:amd64 (1.0 unstable [amd64])
+Conf cool (1.0 unstable [armel])
+Conf doxygen (1.0 unstable [armel])
+Conf libc6 (1.0 unstable [armel])
+Conf libc6-dev (1.0 unstable [armel])' aptget build-dep apt -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ amdboot:amd64 doxygen libc6:amd64 libc6 libc6-dev:amd64 libc6-dev
+0 upgraded, 6 newly installed, 0 to remove and 2 not upgraded.
+Inst amdboot:amd64 (1.0 unstable [amd64])
+Inst doxygen (1.0 unstable [armel])
+Inst libc6:amd64 (1.0 unstable [amd64])
+Inst libc6 (1.0 unstable [armel])
+Inst libc6-dev:amd64 (1.0 unstable [amd64])
+Inst libc6-dev (1.0 unstable [armel])
+Conf amdboot:amd64 (1.0 unstable [amd64])
+Conf doxygen (1.0 unstable [armel])
+Conf libc6:amd64 (1.0 unstable [amd64])
+Conf libc6 (1.0 unstable [armel])
+Conf libc6-dev:amd64 (1.0 unstable [amd64])
+Conf libc6-dev (1.0 unstable [armel])' aptget build-dep apt -s -a amd64
+
+
diff --git a/test/integration/test-bug-633350-do-not-kill-last-char-in-Release b/test/integration/test-bug-633350-do-not-kill-last-char-in-Release
new file mode 100755
index 000000000..2aae7cfcc
--- /dev/null
+++ b/test/integration/test-bug-633350-do-not-kill-last-char-in-Release
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'amd64'
+
+insertpackage 'unstable' 'cool' 'amd64' '1.0'
+
+setupaptarchive 2> /dev/null
+
+echo 'NotAutomatic: yes' >> aptarchive/dists/unstable/Release
+
+signreleasefiles
+find aptarchive/dists -name 'InRelease' -delete
+
+rm -rf rootdir/var/lib/apt/lists
+
+OUTPUT="$(aptget update 2>&1)"
+msgtest 'Check that parsing happens without warnings' 'with missing newline'
+if echo "${OUTPUT}" | grep '^W:' > /dev/null; then
+ msgfail
+ echo "${OUTPUT}"
+else
+ msgpass
+fi
diff --git a/test/integration/test-compressed-indexes b/test/integration/test-compressed-indexes
index 99943574e..a5e885745 100755
--- a/test/integration/test-compressed-indexes
+++ b/test/integration/test-compressed-indexes
@@ -10,10 +10,10 @@ configarchitecture "i386"
buildsimplenativepackage "testpkg" "i386" "1.0"
setupaptarchive
-local GOODSHOW="$(aptcache show testpkg)
+GOODSHOW="$(aptcache show testpkg)
"
-local GOODPOLICY="$(aptcache policy testpkg)"
-local GOODSHOWSRC="$(aptcache showsrc testpkg)
+GOODPOLICY="$(aptcache policy testpkg)"
+GOODSHOWSRC="$(aptcache showsrc testpkg)
"
test $(echo "$GOODSHOW" | grep -e '^Package: testpkg' -e '^Version: 1.0' -e '^Architecture: i386' | wc -l) -eq 3 || msgdie 'show is broken'
@@ -51,17 +51,16 @@ testrun() {
aptget clean
msgtest "\tdeb file is gone"; ! test -f rootdir/var/cache/apt/archives/testpkg_1.0_i386.deb && msgpass || msgfail
fi
- rm rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
+ rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
testequal "$GOODSHOW" aptcache show testpkg
testequal "$GOODSHOW" aptcache show testpkg
- rm rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
+ rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
testequal "$GOODPOLICY" aptcache policy testpkg
testequal "$GOODPOLICY" aptcache policy testpkg
- rm rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
+ rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
testequal "$GOODSHOWSRC" aptcache showsrc testpkg
testequal "$GOODSHOWSRC" aptcache showsrc testpkg
- rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
- rm -rf rootdir/var/cache/apt/archives
+ aptget clean
msgtest "Check if the source is aptgetable"
aptget source testpkg -qq 2> /dev/null > /dev/null && msgpass || msgfail
msgtest "\tdsc file is present"; test -f testpkg_1.0.dsc && msgpass || msgfail
@@ -100,7 +99,7 @@ testrun "compressed"
rm rootdir/etc/apt/apt.conf.d/02compressindex
changetowebserver
aptget update -qq
-local GOODPOLICY="$(aptcache policy testpkg)"
+GOODPOLICY="$(aptcache policy testpkg)"
test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 http://' | wc -l) -eq 4
testequal "$GOODPOLICY" aptcache policy testpkg
diff --git a/test/integration/test-disappearing-packages b/test/integration/test-disappearing-packages
index b5d565c2f..82ba9e592 100755
--- a/test/integration/test-disappearing-packages
+++ b/test/integration/test-disappearing-packages
@@ -12,13 +12,13 @@ buildsimplenativepackage "unrelated" "all" "0.5" "unstable"
setupsimplenativepackage "new-pkg" "i386" "2.0" "unstable" "Provides: old-pkg
Replaces: old-pkg
Conflicts: old-pkg (<< 2.0)"
-local BUILDDIR="incoming/new-pkg-2.0"
+BUILDDIR="incoming/new-pkg-2.0"
echo "/usr/share/doc/new-pkg /usr/share/doc/old-pkg" > ${BUILDDIR}/debian/new-pkg.links
buildpackage "$BUILDDIR" "unstable" "main"
rm -rf "$BUILDDIR"
setupsimplenativepackage "old-pkg" "all" "2.0" "unstable" "Depends: new-pkg"
-local BUILDDIR="incoming/old-pkg-2.0"
+BUILDDIR="incoming/old-pkg-2.0"
echo "/usr/share/doc/new-pkg /usr/share/doc/old-pkg" > ${BUILDDIR}/debian/old-pkg.links
echo "
override_dh_link:
@@ -33,9 +33,9 @@ aptget install old-pkg=1.0 --trivial-only -qq 2>&1 > /dev/null
testmarkedauto # old-pkg is manual installed
-local CMD="aptget dist-upgrade -y -q=0"
+CMD="aptget dist-upgrade -y -q=0"
msgtest "Test for equality of" "$CMD"
-local COMPAREFILE=$(mktemp)
+COMPAREFILE=$(mktemp)
echo "The following package disappeared from your system as
all files have been overwritten by other packages:
old-pkg
diff --git a/test/integration/test-handling-broken-orgroups b/test/integration/test-handling-broken-orgroups
index d88ad0000..20b314074 100755
--- a/test/integration/test-handling-broken-orgroups
+++ b/test/integration/test-handling-broken-orgroups
@@ -58,7 +58,7 @@ The following information may help to resolve the situation:
The following packages have unmet dependencies:
coolstuff-broken : Depends: cool2 but it is not installable or
stuff2 but it is not installable
-E: Broken packages' aptget install coolstuff-broken -s
+E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-broken -s
testequal 'Reading package lists...
Building dependency tree...
@@ -105,4 +105,4 @@ The following information may help to resolve the situation:
The following packages have unmet dependencies:
coolstuff-provided-broken : Depends: cool2 but it is not installable or
stuff-abi-2
-E: Broken packages' aptget install coolstuff-provided-broken -s
+E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-provided-broken -s
diff --git a/test/integration/test-hashsum-verification b/test/integration/test-hashsum-verification
new file mode 100755
index 000000000..3ac9eccfb
--- /dev/null
+++ b/test/integration/test-hashsum-verification
@@ -0,0 +1,81 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+
+setupenvironment
+configarchitecture "i386"
+
+buildaptarchive
+setupflataptarchive
+changetowebserver
+
+prepare() {
+ local DATE="${2:-now}"
+ if [ "$DATE" = 'now' -a "$1" = "${PKGFILE}-new" ]; then
+ DATE='now + 6 days'
+ fi
+ for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do
+ touch -d 'now - 6 hours' $release
+ 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 | lzma > aptarchive/Packages.lzma
+ # create Release file with incorret checksums
+ cat > aptarchive/Release <<EOF
+Date: Fri, 05 Aug 2011 09:22:08 UTC
+MD5Sum:
+ x15c483ac486f5dbe95095c7ec08626f 760 Packages
+ x0579797df4792164a17305fb0b317e9 546 Packages.bz2
+ xc532a82873d2206b4e4503e92d167bd 489 Packages.gz
+ x4d1d25661377dd4bb95a1736e2624d3 527 Packages.lzma
+ xf1cc221194edbaa943d2375d6f44a88 572 Packages.xz
+SHA1:
+ x0d3317839cf68cd40c28f0bddca8d2ce5a29cad 760 Packages
+ xffddf046ad8dfd8338a355d76fb08d143c8b636 546 Packages.bz2
+ xa27a3df51ca4474b880a6594c4811957079b613 489 Packages.gz
+ x9d7bba4e6fa927a34dcd797694c2893c21f1004 527 Packages.lzma
+ x7d988fe59cf67298828e5299a15d329c0f00f1b 572 Packages.xz
+SHA256:
+ x5a47d72f6b97bfa164b23326b6ad3cb019b5c6cc73769f8c0187616933d1b2b 760 Packages
+ x617252f5bfe3e9126352c7c2f8122d9c3b2c5e1a6c8a9616d62adc0ed164172 546 Packages.bz2
+ xc6abc6fe9a4fcf0758ec5366dfd19bcba90af026a7017c3f6198c59eccd8ef5 489 Packages.gz
+ xb306e66e5e6a7169c8d281a888539d1fdca9cecc99ae605717df579d5b9c166 527 Packages.lzma
+ x9585d0e66b74c9385727fbea11fea9ab33c716b18a32f3036f037a2b9b57120 572 Packages.xz
+EOF
+ cp aptarchive/Release aptarchive/InRelease
+}
+
+# fake our downloadable file
+touch aptarchive/apt.deb
+
+PKGFILE="${TESTDIR}/$(echo "$(basename $0)" | sed 's#^test-#Packages-#')"
+
+runtest() {
+ prepare ${PKGFILE}
+ rm -rf rootdir/var/lib/apt/lists
+ signreleasefiles 'Joe Sixpack'
+ find aptarchive/ -name "$DELETEFILE" -delete
+
+ # test signed release file
+ msgtest 'apt-get update gets the expected hashsum mismatch'
+ aptget update 2>&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail
+ msgtest 'No package from the source available'
+ [ "$(aptcache show apt 2>&1)" = "E: No packages found" ] && msgpass || msgfail
+ msgtest 'No Packages file in /var/lib/apt/lists'
+ [ "$(ls rootdir/var/lib/apt/lists/*Package* 2>/dev/null)" = "" ] && msgpass || msgfail
+
+ # now with the unsigned Release file
+ rm -rf rootdir/var/lib/apt/lists
+ rm aptarchive/InRelease aptarchive/Release.gpg
+ msgtest 'unsigned apt-get update gets the expected hashsum mismatch'
+ aptget update 2>&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail
+
+
+}
+
+runtest
+
diff --git a/test/integration/test-policy-pinning b/test/integration/test-policy-pinning
index fa356ed54..6b1473564 100755
--- a/test/integration/test-policy-pinning
+++ b/test/integration/test-policy-pinning
@@ -30,21 +30,18 @@ testequalpolicy 100 500
testequalpolicy 990 500 -t now
sed -i aptarchive/Release -e 1i"NotAutomatic: yes"
-rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin
aptget update -qq
testequalpolicy 100 1 -o Test=NotAutomatic
testequalpolicy 990 1 -o Test=NotAutomatic -t now
sed -i aptarchive/Release -e 1i"ButAutomaticUpgrades: yes"
-rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin
aptget update -qq
testequalpolicy 100 100 -o Test=ButAutomaticUpgrades
testequalpolicy 990 100 -o Test=ButAutomaticUpgrades -t now
sed -i aptarchive/Release -e 's#NotAutomatic: yes#NotAutomatic: no#' -e '/ButAutomaticUpgrades: / d'
-rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin
aptget update -qq
testequalpolicy 100 500 -o Test=Automatic
@@ -135,7 +132,6 @@ Pin-Priority: -1" > rootdir/etc/apt/preferences
rm rootdir/etc/apt/preferences
sed -i aptarchive/dists/backports/Release -e 1i"NotAutomatic: yes"
signreleasefiles
-rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin
aptget update -qq
testequalpolicycoolstuff "" "1.0" 1 500 0 "" -o Test=NotAutomatic
@@ -164,7 +160,6 @@ testequalpolicycoolstuff "" "1.0" 1 990 600 "2.0~bpo1" -o Test=NotAutomatic -t s
rm rootdir/etc/apt/preferences
sed -i aptarchive/dists/backports/Release -e 1i"ButAutomaticUpgrades: yes"
signreleasefiles
-rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin
aptget update -qq
testequalpolicycoolstuff "" "1.0" 100 500 0 "" -o Test=ButAutomaticUpgrades
@@ -211,7 +206,6 @@ setupaptarchive
sed -i aptarchive/dists/backports/Release -e 1i"NotAutomatic: yes"
signreleasefiles
-rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin
aptget update -qq
testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo1" 1 500 0 "" "2.0~bpo2" -o Test=NotAutomatic
@@ -220,7 +214,6 @@ testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 990 500 0 "" "2.0~bpo2" -o Test=N
sed -i aptarchive/dists/backports/Release -e 1i"ButAutomaticUpgrades: yes"
signreleasefiles
-rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin
aptget update -qq
testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 100 500 0 "" "2.0~bpo2" -o Test=ButAutomaticUpgrades
diff --git a/test/integration/test-release-candidate-switching b/test/integration/test-release-candidate-switching
index b6dbe99db..0970cb935 100755
--- a/test/integration/test-release-candidate-switching
+++ b/test/integration/test-release-candidate-switching
@@ -416,4 +416,4 @@ The following information may help to resolve the situation:
The following packages have unmet dependencies:
uninstallablepkg : Depends: libmtp8 (>= 10:0.20.1) but it is not going to be installed
Depends: amarok-utils (= 2.3.2-2+exp) but 2.3.1-1+sid is to be installed
-E: Broken packages" aptget install uninstallablepkg/experimental --trivial-only -V -q=0
+E: Unable to correct problems, you have held broken packages." aptget install uninstallablepkg/experimental --trivial-only -V -q=0
diff --git a/test/integration/test-releasefile-valid-until b/test/integration/test-releasefile-valid-until
new file mode 100755
index 000000000..680a370cb
--- /dev/null
+++ b/test/integration/test-releasefile-valid-until
@@ -0,0 +1,95 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'i386'
+
+insertpackage 'wheezy' 'apt' 'all' '0.8.15'
+
+getlabelfromsuite() {
+ echo -n 'Testcases'
+}
+
+
+setupaptarchive
+
+setupreleasefile() {
+ rm -rf rootdir/var/lib/apt/lists
+ aptget clean
+ generatereleasefiles "$1" "$2"
+ signreleasefiles
+}
+
+aptgetupdate() {
+ if aptget update $* 2>&1 | grep -q 'is expired'; then
+ return 1
+ else
+ return 0
+ fi
+}
+
+setupreleasefile
+msgtest 'Release file is accepted as it has' 'no Until'
+aptgetupdate && msgpass || msgfail
+
+setupreleasefile
+msgtest 'Release file is accepted as it has' 'no Until and good Max-Valid'
+aptgetupdate -o Acquire::Max-ValidTime=3600 && msgpass || msgfail
+
+setupreleasefile 'now - 2 days'
+msgtest 'Release file is rejected as it has' 'no Until, but bad Max-Valid'
+aptgetupdate -o Acquire::Max-ValidTime=3600 && msgfail || msgpass
+
+setupreleasefile 'now - 3 days' 'now + 1 day'
+msgtest 'Release file is accepted as it has' 'good Until'
+aptgetupdate && msgpass || msgfail
+
+setupreleasefile 'now - 7 days' 'now - 4 days'
+msgtest 'Release file is rejected as it has' 'bad Until'
+aptgetupdate && msgfail || msgpass
+
+setupreleasefile 'now - 7 days' 'now - 4 days'
+msgtest 'Release file is rejected as it has' 'bad Until (ignore good Max-Valid)'
+aptgetupdate -o Acquire::Max-ValidTime=1209600 && msgfail || msgpass
+
+setupreleasefile 'now - 7 days' 'now - 4 days'
+msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until)'
+aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass
+
+setupreleasefile 'now - 7 days' 'now + 4 days'
+msgtest 'Release file is rejected as it has' 'bad Max-Valid (good Until)'
+aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass
+
+setupreleasefile 'now - 7 days' 'now + 4 days'
+msgtest 'Release file is accepted as it has' 'good labeled Max-Valid'
+aptgetupdate -o Acquire::Max-ValidTime=86400 -o Acquire::Max-ValidTime::Testcases=1209600 && msgpass || msgfail
+
+setupreleasefile 'now - 7 days' 'now + 4 days'
+msgtest 'Release file is rejected as it has' 'bad labeled Max-Valid'
+aptgetupdate -o Acquire::Max-ValidTime=1209600 -o Acquire::Max-ValidTime::Testcases=86400 && msgfail || msgpass
+
+setupreleasefile 'now - 7 days' 'now + 1 days'
+msgtest 'Release file is accepted as it has' 'good Until (good Min-Valid, no Max-Valid)'
+aptgetupdate -o Acquire::Min-ValidTime=1209600 && msgpass || msgfail
+
+setupreleasefile 'now - 7 days' 'now - 4 days'
+msgtest 'Release file is accepted as it has' 'good Min-Valid (bad Until, no Max-Valid)'
+aptgetupdate -o Acquire::Min-ValidTime=1209600 && msgpass || msgfail
+
+setupreleasefile 'now - 7 days' 'now - 2 days'
+msgtest 'Release file is accepted as it has' 'good Min-Valid (bad Until, good Max-Valid) <'
+aptgetupdate -o Acquire::Min-ValidTime=1209600 -o Acquire::Max-ValidTime=2419200 && msgpass || msgfail
+
+setupreleasefile 'now - 7 days' 'now - 2 days'
+msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, good Min-Valid) >'
+aptgetupdate -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=2419200 && msgfail || msgpass
+
+setupreleasefile 'now - 7 days' 'now - 2 days'
+msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, bad Min-Valid) <'
+aptgetupdate -o Acquire::Min-ValidTime=12096 -o Acquire::Max-ValidTime=241920 && msgfail || msgpass
+
+setupreleasefile 'now - 7 days' 'now - 2 days'
+msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, bad Min-Valid) >'
+aptgetupdate -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=241920 && msgfail || msgpass
diff --git a/test/integration/test-releasefile-verification b/test/integration/test-releasefile-verification
index 961c49895..8bf02a78f 100755
--- a/test/integration/test-releasefile-verification
+++ b/test/integration/test-releasefile-verification
@@ -19,8 +19,7 @@ prepare() {
for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do
touch -d 'now - 6 hours' $release
done
- rm -rf rootdir/var/cache/apt/archives
- rm -f rootdir/var/cache/apt/*.bin
+ aptget clean
cp $1 aptarchive/Packages
find aptarchive -name 'Release' -delete
cat aptarchive/Packages | gzip > aptarchive/Packages.gz
diff --git a/test/integration/test-resolve-by-keep-new-recommends b/test/integration/test-resolve-by-keep-new-recommends
new file mode 100755
index 000000000..8134b76aa
--- /dev/null
+++ b/test/integration/test-resolve-by-keep-new-recommends
@@ -0,0 +1,20 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture "i386"
+
+insertinstalledpackage 'foo' 'i386' '1.0'
+insertpackage 'unstable' 'foo' 'i386' '2.0' 'Recommends: bar'
+
+setupaptarchive
+
+UPGRADE_KEEP="Reading package lists...
+Building dependency tree...
+The following packages have been kept back:
+ foo
+0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded."
+testequal "$UPGRADE_KEEP" aptget upgrade -s
+
diff --git a/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only
new file mode 100755
index 000000000..d97011914
--- /dev/null
+++ b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only
@@ -0,0 +1,31 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'i386'
+
+insertpackage 'unstable' 'apt' 'i386' '0.8.11'
+
+setupaptarchive
+
+rm -rf rootdir/var/lib/apt/lists
+
+find aptarchive/ -name 'Release.gpg' -delete
+find aptarchive/ -name 'InRelease' -exec cp {} {}.old \;
+
+for RELEASE in $(find aptarchive/ -name 'InRelease'); do
+ (echo 'Origin: Marvin
+Label: Marvin
+Suite: experimental
+Codename: experimental
+MD5Sum:
+ 65fd410587b6978de2277f2912523f09 9360 Packages
+ d27b294ed172a1fa9dd5a53949914c5d 4076 Packages.bz2
+ 2182897e0a2a0c09e760beaae117a015 2023 Packages.diff/Index
+ 1b895931853981ad8204d2439821b999 4144 Packages.gz'; echo; cat ${RELEASE}.old;) > ${RELEASE}
+done
+aptget update -qq > /dev/null 2> starts-with-unsigned.msg
+sed -i 's#File .*InRelease#File InRelease#' starts-with-unsigned.msg
+testfileequal starts-with-unsigned.msg "W: GPG error: file: unstable InRelease: File InRelease doesn't start with a clearsigned message"
diff --git a/test/integration/test-ubuntu-bug-802901-multiarch-early-remove b/test/integration/test-ubuntu-bug-802901-multiarch-early-remove
new file mode 100755
index 000000000..bdb4e5e4f
--- /dev/null
+++ b/test/integration/test-ubuntu-bug-802901-multiarch-early-remove
@@ -0,0 +1,24 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'amd64' 'i386'
+
+insertinstalledpackage 'libgl1-mesa-glx' 'amd64' '2.0' 'Multi-Arch: same
+Provides: libgl1
+Conflicts: libgl1'
+insertpackage 'unstable' 'libgl1-mesa-glx' 'i386,amd64' '2.0' 'Multi-Arch: same
+Provides: libgl1
+Conflicts: libgl1'
+
+setupaptarchive
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ libgl1-mesa-glx:i386
+0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
+Inst libgl1-mesa-glx:i386 (2.0 unstable [i386])
+Conf libgl1-mesa-glx:i386 (2.0 unstable [i386])' aptget install libgl1-mesa-glx:i386 -s
diff --git a/test/integration/test-ubuntu-bug-806274-install-suggests b/test/integration/test-ubuntu-bug-806274-install-suggests
new file mode 100755
index 000000000..fb72f0999
--- /dev/null
+++ b/test/integration/test-ubuntu-bug-806274-install-suggests
@@ -0,0 +1,81 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture "i386"
+
+insertpackage 'unstable' 'apt' 'i386' '0.8.15' 'Depends: foo
+Recommends: bar
+Suggests: baz'
+insertpackage 'unstable' 'foo' 'i386' '1.0'
+insertpackage 'unstable' 'bar' 'i386' '1.0'
+insertpackage 'unstable' 'baz' 'i386' '1.0'
+
+setupaptarchive
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+ bar foo
+Suggested packages:
+ baz
+The following NEW packages will be installed:
+ apt bar foo
+0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
+Inst foo (1.0 unstable [i386])
+Conf foo (1.0 unstable [i386])
+Inst apt (0.8.15 unstable [i386])
+Conf apt (0.8.15 unstable [i386])
+Inst bar (1.0 unstable [i386])
+Conf bar (1.0 unstable [i386])' aptget install apt -s --install-recommends --no-install-suggests
+
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+ bar baz foo
+The following NEW packages will be installed:
+ apt bar baz foo
+0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
+Inst foo (1.0 unstable [i386])
+Conf foo (1.0 unstable [i386])
+Inst apt (0.8.15 unstable [i386])
+Conf apt (0.8.15 unstable [i386])
+Inst bar (1.0 unstable [i386])
+Inst baz (1.0 unstable [i386])
+Conf bar (1.0 unstable [i386])
+Conf baz (1.0 unstable [i386])' aptget install apt -s --install-recommends --install-suggests
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+ foo
+Suggested packages:
+ baz
+Recommended packages:
+ bar
+The following NEW packages will be installed:
+ apt foo
+0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
+Inst foo (1.0 unstable [i386])
+Conf foo (1.0 unstable [i386])
+Inst apt (0.8.15 unstable [i386])
+Conf apt (0.8.15 unstable [i386])' aptget install apt -s --no-install-recommends --no-install-suggests
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+ baz foo
+Recommended packages:
+ bar
+The following NEW packages will be installed:
+ apt baz foo
+0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
+Inst foo (1.0 unstable [i386])
+Conf foo (1.0 unstable [i386])
+Inst apt (0.8.15 unstable [i386])
+Conf apt (0.8.15 unstable [i386])
+Inst baz (1.0 unstable [i386])
+Conf baz (1.0 unstable [i386])' aptget install apt -s --no-install-recommends --install-suggests
diff --git a/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first
new file mode 100755
index 000000000..a9a4069cf
--- /dev/null
+++ b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first
@@ -0,0 +1,31 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'amd64' 'i386'
+
+insertinstalledpackage 'libsame' 'i386' '1'
+insertinstalledpackage 'apt' 'i386' '1' 'Depends: libsame (= 1)'
+
+insertpackage 'unstable' 'libsame' 'i386,amd64' '2' 'Multi-Arch: same'
+insertpackage 'unstable' 'apt' 'i386' '2' 'Depends: libsame (= 2)'
+
+setupaptarchive
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+ apt:i386 libsame:i386
+The following NEW packages will be installed:
+ libsame
+The following packages will be upgraded:
+ apt:i386 libsame:i386
+2 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
+Inst libsame:i386 [1] (2 unstable [i386]) [apt:i386 ]
+Inst libsame (2 unstable [amd64]) [apt:i386 ]
+Conf libsame:i386 (2 unstable [i386]) [apt:i386 ]
+Conf libsame (2 unstable [amd64]) [apt:i386 ]
+Inst apt:i386 [1] (2 unstable [i386])
+Conf apt:i386 (2 unstable [i386])' aptget install libsame:amd64 -s
diff --git a/test/extract-control.cc b/test/interactive-helper/extract-control.cc
index 29dcbf371..29dcbf371 100644
--- a/test/extract-control.cc
+++ b/test/interactive-helper/extract-control.cc
diff --git a/test/makefile b/test/interactive-helper/makefile
index 52adb96a2..b96139fda 100644
--- a/test/makefile
+++ b/test/interactive-helper/makefile
@@ -1,9 +1,9 @@
# -*- make -*-
-BASE=..
-SUBDIR=test
+BASE=../..
+SUBDIR=test/interactive-helper
# Bring in the default rules
-include ../buildlib/defaults.mak
+include ../../buildlib/defaults.mak
# Program for testing methods
PROGRAM=mthdcat
@@ -11,19 +11,6 @@ SLIBS =
SOURCE = mthdcat.cc
include $(PROGRAM_H)
-# Program for testing methods
-PROGRAM=uritest
-SLIBS = -lapt-pkg
-SOURCE = uri.cc
-include $(PROGRAM_H)
-
-# Scratch program to test incomplete code fragments in
-PROGRAM=scratch-test
-SLIBS = -lapt-inst -lapt-pkg
-LIB_MAKES = apt-pkg/makefile apt-inst/makefile
-SOURCE = scratch.cc
-include $(PROGRAM_H)
-
# Version compare tester
PROGRAM=testextract
SLIBS = -lapt-pkg -lapt-inst
@@ -31,18 +18,6 @@ LIB_MAKES = apt-pkg/makefile apt-inst/makefile
SOURCE = testextract.cc
include $(PROGRAM_H)
-# Program for testing the config file parser
-PROGRAM=conftest_clear
-SLIBS = -lapt-pkg
-SOURCE = conf_clear.cc
-include $(PROGRAM_H)
-
-# Program for testing the config file parser
-PROGRAM=conftest
-SLIBS = -lapt-pkg
-SOURCE = conf.cc
-include $(PROGRAM_H)
-
# Program for testing the tar/deb extractor
PROGRAM=testdeb
SLIBS = -lapt-pkg -lapt-inst
@@ -55,12 +30,6 @@ SLIBS = -lapt-pkg -lapt-inst
SOURCE = extract-control.cc
include $(PROGRAM_H)
-# Program for testing hashes
-PROGRAM=hash
-SLIBS = -lapt-pkg
-SOURCE = hash.cc
-include $(PROGRAM_H)
-
# Program for testing udevcdrom
PROGRAM=test_udevcdrom
SLIBS = -lapt-pkg
diff --git a/test/mthdcat.cc b/test/interactive-helper/mthdcat.cc
index 25d09a3f5..25d09a3f5 100644
--- a/test/mthdcat.cc
+++ b/test/interactive-helper/mthdcat.cc
diff --git a/test/networkless-install-fixes/README b/test/interactive-helper/networkless-install-fixes/README
index e7ee2b03d..e7ee2b03d 100644
--- a/test/networkless-install-fixes/README
+++ b/test/interactive-helper/networkless-install-fixes/README
diff --git a/test/networkless-install-fixes/sources.test.list b/test/interactive-helper/networkless-install-fixes/sources.test.list
index 380e1804d..380e1804d 100644
--- a/test/networkless-install-fixes/sources.test.list
+++ b/test/interactive-helper/networkless-install-fixes/sources.test.list
diff --git a/test/networkless-install-fixes/test.sh b/test/interactive-helper/networkless-install-fixes/test.sh
index 809d467ba..809d467ba 100755
--- a/test/networkless-install-fixes/test.sh
+++ b/test/interactive-helper/networkless-install-fixes/test.sh
diff --git a/test/rpmver.cc b/test/interactive-helper/rpmver.cc
index 9fc807de8..9fc807de8 100644
--- a/test/rpmver.cc
+++ b/test/interactive-helper/rpmver.cc
diff --git a/test/test_udevcdrom.cc b/test/interactive-helper/test_udevcdrom.cc
index e65c7a297..dc25ab357 100644
--- a/test/test_udevcdrom.cc
+++ b/test/interactive-helper/test_udevcdrom.cc
@@ -4,14 +4,13 @@
int main()
{
- int i;
pkgUdevCdromDevices c;
assert(c.Dlopen());
vector<CdromDevice> l;
l = c.Scan();
- assert(l.size() > 0);
- for (i=0;i<l.size();i++)
+ assert(l.empty() == false);
+ for (size_t i = 0; i < l.size(); ++i)
std::cerr << l[i].DeviceName << " "
<< l[i].Mounted << " "
<< l[i].MountPath << std::endl;
diff --git a/test/testdeb.cc b/test/interactive-helper/testdeb.cc
index d28f20114..d28f20114 100644
--- a/test/testdeb.cc
+++ b/test/interactive-helper/testdeb.cc
diff --git a/test/testextract.cc b/test/interactive-helper/testextract.cc
index b790df618..b790df618 100644
--- a/test/testextract.cc
+++ b/test/interactive-helper/testextract.cc
diff --git a/test/libapt/assert.h b/test/libapt/assert.h
index 5da76ae0a..fae9b6c64 100644
--- a/test/libapt/assert.h
+++ b/test/libapt/assert.h
@@ -1,9 +1,9 @@
#include <iostream>
-#define equals(x,y) assertEquals(x, y, __LINE__)
+#define equals(x,y) assertEquals(y, x, __LINE__)
template < typename X, typename Y >
-void OutputAssert(X expect, char const* compare, Y get, unsigned long const &line) {
+void OutputAssertEqual(X expect, char const* compare, Y get, unsigned long const &line) {
std::cerr << "Test FAILED: »" << expect << "« " << compare << " »" << get << "« at line " << line << std::endl;
}
@@ -11,11 +11,53 @@ template < typename X, typename Y >
void assertEquals(X expect, Y get, unsigned long const &line) {
if (expect == get)
return;
- OutputAssert(expect, "==", get, line);
+ OutputAssertEqual(expect, "==", get, line);
}
void assertEquals(unsigned int const &expect, int const &get, unsigned long const &line) {
if (get < 0)
- OutputAssert(expect, "==", get, line);
+ OutputAssertEqual(expect, "==", get, line);
assertEquals<unsigned int const&, unsigned int const&>(expect, get, line);
}
+
+void assertEquals(int const &expect, unsigned int const &get, unsigned long const &line) {
+ if (expect < 0)
+ OutputAssertEqual(expect, "==", get, line);
+ assertEquals<unsigned int const&, unsigned int const&>(expect, get, line);
+}
+
+
+#define equalsOr2(x,y,z) assertEqualsOr2(y, z, x, __LINE__)
+
+template < typename X, typename Y >
+void OutputAssertEqualOr2(X expect1, X expect2, char const* compare, Y get, unsigned long const &line) {
+ std::cerr << "Test FAILED: »" << expect1 << "« or »" << expect2 << "« " << compare << " »" << get << "« at line " << line << std::endl;
+}
+
+template < typename X, typename Y >
+void assertEqualsOr2(X expect1, X expect2, Y get, unsigned long const &line) {
+ if (expect1 == get || expect2 == get)
+ return;
+ OutputAssertEqualOr2(expect1, expect2, "==", get, line);
+}
+
+void assertEqualsOr2(unsigned int const &expect1, unsigned int const &expect2, int const &get, unsigned long const &line) {
+ if (get < 0)
+ OutputAssertEqualOr2(expect1, expect2, "==", get, line);
+ assertEqualsOr2<unsigned int const&, unsigned int const&>(expect1, expect2, get, line);
+}
+
+void assertEqualsOr2(int const &expect1, int const &expect2, unsigned int const &get, unsigned long const &line) {
+ if (expect1 < 0 && expect2 < 0)
+ OutputAssertEqualOr2(expect1, expect2, "==", get, line);
+ assertEqualsOr2<unsigned int const&, unsigned int const&>(expect1, expect2, get, line);
+}
+
+
+// simple helper to quickly output a vectors
+template < typename X >
+void dumpVector(X vec) {
+ for (typename X::const_iterator v = vec.begin();
+ v != vec.end(); ++v)
+ std::cout << *v << std::endl;
+}
diff --git a/test/libapt/compareversion_test.cc b/test/libapt/compareversion_test.cc
index b6213e84c..fdb1d5674 100644
--- a/test/libapt/compareversion_test.cc
+++ b/test/libapt/compareversion_test.cc
@@ -63,6 +63,9 @@ void assertVersion(int const &CurLine, string const &A, string const &B, int con
bool RunTest(const char *File)
{
+ if (FileExists(File) == false)
+ return _error->Error("Versiontestfile %s doesn't exist!", File);
+
ifstream F(File,ios::in);
if (!F != 0)
return false;
@@ -112,8 +115,8 @@ bool RunTest(const char *File)
int main(int argc, char *argv[])
{
- if (argc <= 1)
- RunTest("../versions.lst");
+ if (argc != 2)
+ return 1;
else
RunTest(argv[1]);
diff --git a/test/libapt/configuration_test.cc b/test/libapt/configuration_test.cc
new file mode 100644
index 000000000..5b23d17fb
--- /dev/null
+++ b/test/libapt/configuration_test.cc
@@ -0,0 +1,78 @@
+#include <apt-pkg/configuration.h>
+
+#include <string>
+#include <vector>
+
+#include "assert.h"
+
+int main(int argc,const char *argv[]) {
+ Configuration Cnf;
+ std::vector<std::string> fds;
+
+ Cnf.Set("APT::Keep-Fds::",28);
+ Cnf.Set("APT::Keep-Fds::",17);
+ Cnf.Set("APT::Keep-Fds::2",47);
+ Cnf.Set("APT::Keep-Fds::","broken");
+ fds = Cnf.FindVector("APT::Keep-Fds");
+ equals(fds[0], "28");
+ equals(fds[1], "17");
+ equals(fds[2], "47");
+ equals(fds[3], "broken");
+ equals(fds.size(), 4);
+ equals(Cnf.Exists("APT::Keep-Fds::2"), true);
+ equals(Cnf.Find("APT::Keep-Fds::2"), "47");
+ equals(Cnf.FindI("APT::Keep-Fds::2"), 47);
+ equals(Cnf.Exists("APT::Keep-Fds::3"), false);
+ equals(Cnf.Find("APT::Keep-Fds::3"), "");
+ equals(Cnf.FindI("APT::Keep-Fds::3", 56), 56);
+ equals(Cnf.Find("APT::Keep-Fds::3", "not-set"), "not-set");
+
+ Cnf.Clear("APT::Keep-Fds::2");
+ fds = Cnf.FindVector("APT::Keep-Fds");
+ equals(fds[0], "28");
+ equals(fds[1], "17");
+ equals(fds[2], "");
+ equals(fds[3], "broken");
+ equals(fds.size(), 4);
+ equals(Cnf.Exists("APT::Keep-Fds::2"), true);
+
+ Cnf.Clear("APT::Keep-Fds",28);
+ fds = Cnf.FindVector("APT::Keep-Fds");
+ equals(fds[0], "17");
+ equals(fds[1], "");
+ equals(fds[2], "broken");
+ equals(fds.size(), 3);
+
+ Cnf.Clear("APT::Keep-Fds","");
+ equals(Cnf.Exists("APT::Keep-Fds::2"), false);
+
+ Cnf.Clear("APT::Keep-Fds",17);
+ Cnf.Clear("APT::Keep-Fds","broken");
+ fds = Cnf.FindVector("APT::Keep-Fds");
+ equals(fds.empty(), true);
+
+ Cnf.Set("APT::Keep-Fds::",21);
+ Cnf.Set("APT::Keep-Fds::",42);
+ fds = Cnf.FindVector("APT::Keep-Fds");
+ equals(fds[0], "21");
+ equals(fds[1], "42");
+ equals(fds.size(), 2);
+
+ Cnf.Clear("APT::Keep-Fds");
+ fds = Cnf.FindVector("APT::Keep-Fds");
+ equals(fds.empty(), true);
+
+ Cnf.CndSet("APT::Version", 42);
+ Cnf.CndSet("APT::Version", "66");
+ equals(Cnf.Find("APT::Version"), "42");
+ equals(Cnf.FindI("APT::Version"), 42);
+ equals(Cnf.Find("APT::Version", "33"), "42");
+ equals(Cnf.FindI("APT::Version", 33), 42);
+ equals(Cnf.Find("APT2::Version", "33"), "33");
+ equals(Cnf.FindI("APT2::Version", 33), 33);
+
+ //FIXME: Test for configuration file parsing;
+ // currently only integration/ tests test them implicitly
+
+ return 0;
+}
diff --git a/test/libapt/getarchitectures_test.cc b/test/libapt/getarchitectures_test.cc
index 1500caeed..807469263 100644
--- a/test/libapt/getarchitectures_test.cc
+++ b/test/libapt/getarchitectures_test.cc
@@ -7,13 +7,6 @@
#include <iostream>
-// simple helper to quickly output a vector of strings
-void dumpVector(std::vector<std::string> vec) {
- for (std::vector<std::string>::const_iterator v = vec.begin();
- v != vec.end(); v++)
- std::cout << *v << std::endl;
-}
-
int main(int argc,char *argv[])
{
std::vector<std::string> vec;
@@ -39,6 +32,12 @@ int main(int argc,char *argv[])
_config->Set("APT::Architecture", "armel");
vec = APT::Configuration::getArchitectures(false);
equals(vec.size(), 2);
+ equals(vec[0], "armel");
+ equals(vec[1], "i386");
+
+ _config->Set("APT::Architectures::2", "armel");
+ vec = APT::Configuration::getArchitectures(false);
+ equals(vec.size(), 2);
equals(vec[0], "i386");
equals(vec[1], "armel");
diff --git a/test/libapt/getlanguages_test.cc b/test/libapt/getlanguages_test.cc
index 707142aef..f6aa7a697 100644
--- a/test/libapt/getlanguages_test.cc
+++ b/test/libapt/getlanguages_test.cc
@@ -7,13 +7,6 @@
#include <iostream>
-// simple helper to quickly output a vector of strings
-void dumpVector(std::vector<std::string> vec) {
- for (std::vector<std::string>::const_iterator v = vec.begin();
- v != vec.end(); v++)
- std::cout << *v << std::endl;
-}
-
int main(int argc,char *argv[])
{
if (argc != 2) {
@@ -138,8 +131,8 @@ int main(int argc,char *argv[])
equals(vec[1], "de");
equals(vec[2], "en");
equals(vec[3], "none");
- equals(vec[4], "pt");
- equals(vec[5], "tr");
+ equalsOr2(vec[4], "pt", "tr");
+ equalsOr2(vec[5], "tr", "pt");
_config->Set("Dir::State::lists", "/non-existing-dir");
_config->Set("Acquire::Languages::1", "none");
diff --git a/test/libapt/getlistoffilesindir_test.cc b/test/libapt/getlistoffilesindir_test.cc
index ed8d2dad6..5ee014cca 100644
--- a/test/libapt/getlistoffilesindir_test.cc
+++ b/test/libapt/getlistoffilesindir_test.cc
@@ -7,13 +7,6 @@
#include <stdio.h>
#include <iostream>
-// simple helper to quickly output a vector of strings
-void dumpVector(std::vector<std::string> vec) {
- for (std::vector<std::string>::const_iterator v = vec.begin();
- v != vec.end(); v++)
- std::cout << *v << std::endl;
-}
-
#define P(x) string(argv[1]).append("/").append(x)
int main(int argc,char *argv[])
diff --git a/test/libapt/globalerror_test.cc b/test/libapt/globalerror_test.cc
index 7d933f5a8..5d27414f9 100644
--- a/test/libapt/globalerror_test.cc
+++ b/test/libapt/globalerror_test.cc
@@ -101,7 +101,7 @@ int main(int argc,char *argv[])
longText.clear();
for (size_t i = 0; i < 50; ++i)
longText.append("РезийбёбAZ");
- equals(_error->Warning(longText.c_str()), false);
+ equals(_error->Warning("%s", longText.c_str()), false);
equals(_error->PopMessage(text), false);
equals(text, longText);
diff --git a/test/libapt/hashsums_test.cc b/test/libapt/hashsums_test.cc
new file mode 100644
index 000000000..2cb71cc38
--- /dev/null
+++ b/test/libapt/hashsums_test.cc
@@ -0,0 +1,156 @@
+#include <apt-pkg/md5.h>
+#include <apt-pkg/sha1.h>
+#include <apt-pkg/sha2.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/hashes.h>
+#include <iostream>
+
+#include <stdio.h>
+
+#include "assert.h"
+
+template <class T> void Test(const char *In,const char *Out)
+{
+ T Sum;
+ Sum.Add(In);
+ equals(Sum.Result().Value(), Out);
+}
+
+template <class T> void TestMill(const char *Out)
+{
+ T Sum;
+
+ const unsigned char As[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
+ unsigned Count = 1000000;
+ for (; Count != 0;)
+ {
+ if (Count >= 64)
+ {
+ Sum.Add(As,64);
+ Count -= 64;
+ }
+ else
+ {
+ Sum.Add(As,Count);
+ Count = 0;
+ }
+ }
+
+ if (stringcasecmp(Sum.Result().Value(), Out) != 0)
+ abort();
+}
+
+int main(int argc, char** argv)
+{
+ // From FIPS PUB 180-1
+ Test<SHA1Summation>("","da39a3ee5e6b4b0d3255bfef95601890afd80709");
+ Test<SHA1Summation>("abc","a9993e364706816aba3e25717850c26c9cd0d89d");
+ Test<SHA1Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
+ "84983e441c3bd26ebaae4aa1f95129e5e54670f1");
+ TestMill<SHA1Summation>("34aa973cd4c4daa4f61eeb2bdbad27316534016f");
+
+ // MD5 tests from RFC 1321
+ Test<MD5Summation>("","d41d8cd98f00b204e9800998ecf8427e");
+ Test<MD5Summation>("a","0cc175b9c0f1b6a831c399e269772661");
+ Test<MD5Summation>("abc","900150983cd24fb0d6963f7d28e17f72");
+ Test<MD5Summation>("message digest","f96b697d7cb7938d525a2f31aaf161d0");
+ Test<MD5Summation>("abcdefghijklmnopqrstuvwxyz","c3fcd3d76192e4007dfb496cca67e13b");
+ Test<MD5Summation>("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
+ "d174ab98d277d9f5a5611c2c9f419d9f");
+ Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890",
+ "57edf4a22be3c955ac49da2e2107b67a");
+
+ // SHA-256, From FIPS 180-2
+ Test<SHA256Summation>("", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
+ Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
+ "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1");
+
+ // SHA-512
+ Test<SHA512Summation>("",
+ "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce"
+ "47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e");
+ Test<SHA512Summation>(
+ "abc",
+ "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a"
+ "2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f");
+
+
+ Test<MD5Summation>("The quick brown fox jumps over the lazy dog", "9e107d9d372bb6826bd81d3542a419d6");
+ Test<MD5Summation>("The quick brown fox jumps over the lazy dog.", "e4d909c290d0fb1ca068ffaddf22cbd0");
+ Test<SHA1Summation>("The quick brown fox jumps over the lazy dog", "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12");
+ Test<SHA1Summation>("The quick brown fox jumps over the lazy cog", "de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3");
+ Test<SHA256Summation>("The quick brown fox jumps over the lazy dog", "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592");
+ Test<SHA256Summation>("The quick brown fox jumps over the lazy dog.", "ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c");
+ Test<SHA512Summation>("The quick brown fox jumps over the lazy dog", "07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb64"
+ "2e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6");
+ Test<SHA512Summation>("The quick brown fox jumps over the lazy dog.", "91ea1245f20d46ae9a037a989f54f1f790f0a47607eeb8a14d12890cea77a1bb"
+ "c6c7ed9cf205e67b7f2b8fd4c7dfd3a7a8617e45f3c463d481c7e586c39ac1ed");
+
+ FILE* fd = fopen(argv[1], "r");
+ if (fd == NULL) {
+ std::cerr << "Can't open file for 1. testing: " << argv[1] << std::endl;
+ return 1;
+ }
+ {
+ Hashes hashes;
+ hashes.AddFD(fileno(fd));
+ equals(argv[2], hashes.MD5.Result().Value());
+ equals(argv[3], hashes.SHA1.Result().Value());
+ equals(argv[4], hashes.SHA256.Result().Value());
+ equals(argv[5], hashes.SHA512.Result().Value());
+ }
+ fseek(fd, 0L, SEEK_END);
+ unsigned long sz = ftell(fd);
+ fseek(fd, 0L, SEEK_SET);
+ {
+ Hashes hashes;
+ hashes.AddFD(fileno(fd), sz);
+ equals(argv[2], hashes.MD5.Result().Value());
+ equals(argv[3], hashes.SHA1.Result().Value());
+ equals(argv[4], hashes.SHA256.Result().Value());
+ equals(argv[5], hashes.SHA512.Result().Value());
+ }
+ fseek(fd, 0L, SEEK_SET);
+ {
+ MD5Summation md5;
+ md5.AddFD(fileno(fd));
+ equals(argv[2], md5.Result().Value());
+ }
+ fseek(fd, 0L, SEEK_SET);
+ {
+ SHA1Summation sha1;
+ sha1.AddFD(fileno(fd));
+ equals(argv[3], sha1.Result().Value());
+ }
+ fseek(fd, 0L, SEEK_SET);
+ {
+ SHA256Summation sha2;
+ sha2.AddFD(fileno(fd));
+ equals(argv[4], sha2.Result().Value());
+ }
+ fseek(fd, 0L, SEEK_SET);
+ {
+ SHA512Summation sha2;
+ sha2.AddFD(fileno(fd));
+ equals(argv[5], sha2.Result().Value());
+ }
+ fclose(fd);
+
+ // test HashString code
+ {
+ HashString sha2("SHA256", argv[4]);
+ equals(sha2.VerifyFile(argv[1]), true);
+ }
+ {
+ HashString sha2("SHA512", argv[5]);
+ equals(sha2.VerifyFile(argv[1]), true);
+ }
+ {
+ HashString sha2("SHA256:"+string(argv[4]));
+ equals(sha2.VerifyFile(argv[1]), true);
+ }
+
+ return 0;
+}
+
+
diff --git a/test/libapt/makefile b/test/libapt/makefile
index 50058262e..d3dddaeed 100644
--- a/test/libapt/makefile
+++ b/test/libapt/makefile
@@ -6,6 +6,10 @@ BASENAME=_libapt_test
# Bring in the default rules
include ../../buildlib/defaults.mak
+.PHONY: test
+test:
+ ./run-tests
+
# Program for testing getLanguageCode
PROGRAM = getLanguages${BASENAME}
SLIBS = -lapt-pkg
@@ -46,3 +50,27 @@ PROGRAM = GlobalError${BASENAME}
SLIBS = -lapt-pkg
SOURCE = globalerror_test.cc
include $(PROGRAM_H)
+
+# test the different Hashsum classes
+PROGRAM = HashSums${BASENAME}
+SLIBS = -lapt-pkg
+SOURCE = hashsums_test.cc
+include $(PROGRAM_H)
+
+# test the strutils stuff
+PROGRAM = StrUtil${BASENAME}
+SLIBS = -lapt-pkg
+SOURCE = strutil_test.cc
+include $(PROGRAM_H)
+
+# test the URI parsing stuff
+PROGRAM = URI${BASENAME}
+SLIBS = -lapt-pkg
+SOURCE = uri_test.cc
+include $(PROGRAM_H)
+
+# test the Configuration class
+PROGRAM = Configuration${BASENAME}
+SLIBS = -lapt-pkg
+SOURCE = configuration_test.cc
+include $(PROGRAM_H)
diff --git a/test/libapt/run-tests b/test/libapt/run-tests
index 4b71c2097..8cb2e049c 100755
--- a/test/libapt/run-tests
+++ b/test/libapt/run-tests
@@ -3,19 +3,32 @@ set -e
DIR=$(readlink -f $(dirname $0))
echo "Compiling the tests …"
-test -d "$DIR/../../build/obj/test/libapt/" || mkdir -p "$DIR/../../build/obj/test/libapt/"
(cd $DIR && make)
echo "Running all testcases …"
LDPATH="$DIR/../../build/bin"
EXT="_libapt_test"
+
+# detect if output is on a terminal (colorful) or better not
+if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
+ COLHIGH='\033[1;35m'
+ COLRESET='\033[0m'
+ TESTOKAY='\033[1;32mOKAY\033[0m'
+ TESTFAIL='\033[1;31mFAILED\033[0m'
+else
+ COLHIGH=''
+ COLRESET=''
+ TESTOKAY='OK'
+ TESTFAIL='###FAILED###'
+fi
+
for testapp in $(ls ${LDPATH}/*$EXT)
do
name=$(basename ${testapp})
+ NAME="${COLHIGH}${name}${COLRESET}"
tmppath=""
if [ $name = "GetListOfFilesInDir${EXT}" ]; then
# TODO: very-low: move env creation to the actual test-app
- echo "Prepare Testarea for \033[1;35m$name\033[0m ..."
tmppath=$(mktemp -d)
touch "${tmppath}/anormalfile" \
"${tmppath}/01yet-anothernormalfile" \
@@ -47,20 +60,26 @@ do
ln -s "${tmppath}/anormalfile" "${tmppath}/linkedfile.list"
ln -s "${tmppath}/non-existing-file" "${tmppath}/brokenlink.list"
elif [ $name = "getLanguages${EXT}" ]; then
- echo "Prepare Testarea for \033[1;35m$name\033[0m ..."
tmppath=$(mktemp -d)
touch "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-tr" \
"${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-pt" \
"${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-se~" \
"${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-st.bak"
+ elif [ $name = "HashSums${EXT}" ]; then
+ TMP="$(mktemp)"
+ dmesg > $TMP
+ echo -n "Testing with \033[1;35m${name}\033[0m ... "
+ LD_LIBRARY_PATH=${LDPATH} ${testapp} $TMP $(md5sum $TMP | cut -d' ' -f 1) $(sha1sum $TMP | cut -d' ' -f 1) $(sha256sum $TMP | cut -d' ' -f 1) $(sha512sum $TMP | cut -d' ' -f 1) && echo "\033[1;32mOKAY\033[0m" || echo "\033[1;31mFAILED\033[0m"
+ rm $TMP
+ continue
+ elif [ $name = "CompareVersion${EXT}" ]; then
+ tmppath="${DIR}/versions.lst"
fi
- echo -n "Testing with \033[1;35m${name}\033[0m ... "
- LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} && echo "\033[1;32mOKAY\033[0m" || echo "\033[1;31mFAILED\033[0m"
+ echo -n "Testing with ${NAME} "
+ LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} && echo "$TESTOKAY" || echo "$TESTFAIL"
if [ -n "$tmppath" -a -d "$tmppath" ]; then
- echo "Cleanup Testarea after \033[1;35m$name\033[0m ..."
rm -rf "$tmppath"
fi
-
done
diff --git a/test/libapt/strutil_test.cc b/test/libapt/strutil_test.cc
new file mode 100644
index 000000000..af6eb2cc6
--- /dev/null
+++ b/test/libapt/strutil_test.cc
@@ -0,0 +1,46 @@
+#include <apt-pkg/strutl.h>
+
+#include "assert.h"
+
+int main(int argc,char *argv[])
+{
+ string input, output, expected;
+
+ // no input
+ input = "foobar";
+ expected = "foobar";
+ output = DeEscapeString(input);
+ equals(output, expected);
+
+ // hex and octal
+ input = "foo\\040bar\\x0abaz";
+ expected = "foo bar\nbaz";
+ output = DeEscapeString(input);
+ equals(output, expected);
+
+ // at the end
+ input = "foo\\040";
+ expected = "foo ";
+ output = DeEscapeString(input);
+ equals(output, expected);
+
+ // double escape
+ input = "foo\\\\ x";
+ expected = "foo\\ x";
+ output = DeEscapeString(input);
+ equals(output, expected);
+
+ // double escape at the end
+ input = "\\\\foo\\\\";
+ expected = "\\foo\\";
+ output = DeEscapeString(input);
+ equals(output, expected);
+
+ // the string that we actually need it for
+ input = "/media/Ubuntu\\04011.04\\040amd64";
+ expected = "/media/Ubuntu 11.04 amd64";
+ output = DeEscapeString(input);
+ equals(output, expected);
+
+ return 0;
+}
diff --git a/test/libapt/uri_test.cc b/test/libapt/uri_test.cc
new file mode 100644
index 000000000..99bb3067e
--- /dev/null
+++ b/test/libapt/uri_test.cc
@@ -0,0 +1,112 @@
+#include <apt-pkg/strutl.h>
+
+#include "assert.h"
+
+int main() {
+ // Basic stuff
+ {
+ URI U("http://www.debian.org:90/temp/test");
+ equals("http", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(90, U.Port);
+ equals("www.debian.org", U.Host);
+ equals("/temp/test", U.Path);
+ } {
+ URI U("http://jgg:foo@ualberta.ca/blah");
+ equals("http", U.Access);
+ equals("jgg", U.User);
+ equals("foo", U.Password);
+ equals(0, U.Port);
+ equals("ualberta.ca", U.Host);
+ equals("/blah", U.Path);
+ } {
+ URI U("file:/usr/bin/foo");
+ equals("file", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(0, U.Port);
+ equals("", U.Host);
+ equals("/usr/bin/foo", U.Path);
+ } {
+ URI U("cdrom:Moo Cow Rom:/debian");
+ equals("cdrom", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(0, U.Port);
+ equals("Moo Cow Rom", U.Host);
+ equals("/debian", U.Path);
+ } {
+ URI U("gzip:./bar/cow");
+ equals("gzip", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(0, U.Port);
+ equals(".", U.Host);
+ equals("/bar/cow", U.Path);
+ } {
+ URI U("ftp:ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb");
+ equals("ftp", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(0, U.Port);
+ equals("ftp.fr.debian.org", U.Host);
+ equals("/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb", U.Path);
+ }
+
+ // RFC 2732 stuff
+ {
+ URI U("http://[1080::8:800:200C:417A]/foo");
+ equals("http", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(0, U.Port);
+ equals("1080::8:800:200C:417A", U.Host);
+ equals("/foo", U.Path);
+ } {
+ URI U("http://[::FFFF:129.144.52.38]:80/index.html");
+ equals("http", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(80, U.Port);
+ equals("::FFFF:129.144.52.38", U.Host);
+ equals("/index.html", U.Path);
+ } {
+ URI U("http://[::FFFF:129.144.52.38:]:80/index.html");
+ equals("http", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(80, U.Port);
+ equals("::FFFF:129.144.52.38:", U.Host);
+ equals("/index.html", U.Path);
+ } {
+ URI U("http://[::FFFF:129.144.52.38:]/index.html");
+ equals("http", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(0, U.Port);
+ equals("::FFFF:129.144.52.38:", U.Host);
+ equals("/index.html", U.Path);
+ }
+ /* My Evil Corruption of RFC 2732 to handle CDROM names! Fun for
+ the whole family! */
+ {
+ URI U("cdrom:[The Debian 1.2 disk, 1/2 R1:6]/debian/");
+ equals("cdrom", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(0, U.Port);
+ equals("The Debian 1.2 disk, 1/2 R1:6", U.Host);
+ equals("/debian/", U.Path);
+ } {
+ URI U("cdrom:Foo Bar Cow/debian/");
+ equals("cdrom", U.Access);
+ equals("", U.User);
+ equals("", U.Password);
+ equals(0, U.Port);
+ equals("Foo Bar Cow", U.Host);
+ equals("/debian/", U.Path);
+ }
+
+ return 0;
+}
diff --git a/test/versions.lst b/test/libapt/versions.lst
index 8dd8ebdc9..8dd8ebdc9 100644
--- a/test/versions.lst
+++ b/test/libapt/versions.lst
diff --git a/test/local-repo/Packages b/test/local-repo/Packages
deleted file mode 100644
index fe62fc038..000000000
--- a/test/local-repo/Packages
+++ /dev/null
@@ -1,11 +0,0 @@
-Package: gdebi-test4
-Architecture: all
-Version: 1.0
-Conflicts: apt (<= 0.1)
-Filename: ./gdebi-test4.deb
-Size: 2306
-MD5sum: 0952a2b4a566215e0794c7603f3fcfcc
-SHA1: 318688ea2d53352a1bdb669ebd2cd4847f6c4e7c
-SHA256: 35f600b57253cef807a1da7c5deb06e7821de9223842a310a77b4da87cf51e2c
-Description: testpackage for gdebi - Conflicts: apt (<= 0.1)
-
diff --git a/test/local-repo/Packages.gz b/test/local-repo/Packages.gz
deleted file mode 100644
index b5d528435..000000000
--- a/test/local-repo/Packages.gz
+++ /dev/null
Binary files differ
diff --git a/test/local-repo/Packages.gz.save b/test/local-repo/Packages.gz.save
deleted file mode 100644
index c73f56395..000000000
--- a/test/local-repo/Packages.gz.save
+++ /dev/null
Binary files differ
diff --git a/test/local-repo/Release b/test/local-repo/Release
deleted file mode 100644
index 7f206ef25..000000000
--- a/test/local-repo/Release
+++ /dev/null
@@ -1,13 +0,0 @@
-Date: Thu, 09 Aug 2007 10:13:06 UTC
-MD5Sum:
- 29f79161fafe1f0c393e7fc6ddcb99b5 338 Packages
- 2f885b2ebdb77d3354ba63d8b5aad614 269 Packages.gz
- d41d8cd98f00b204e9800998ecf8427e 0 Release
-SHA1:
- d8860d409a8b0db443fbf254e2d6afbfc9bc04a8 338 Packages
- 8b668a7b730ceb4d702737a13a723959c20b67df 269 Packages.gz
- da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release
-SHA256:
- 39aa9fc59d868a71030d24aeaa4b574d7a11a10ea79491a0881f8d755b36a06d 338 Packages
- 62898623498ebf8304647db1ba2d33e4d8ec0e3e45250c2b66907c812b099297 269 Packages.gz
- e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release
diff --git a/test/local-repo/Release.gpg b/test/local-repo/Release.gpg
deleted file mode 100644
index e1c309566..000000000
--- a/test/local-repo/Release.gpg
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQBGuui6liSD4VZixzQRApSlAJ9D6G1QXvtXH1jH1I4SStsb1VsImQCbBPfp
-+1p0bDANcBVY+GckjJvFRkY=
-=a0AR
------END PGP SIGNATURE-----
diff --git a/test/local-repo/gdebi-test4.deb b/test/local-repo/gdebi-test4.deb
deleted file mode 100644
index 9eb92d1b4..000000000
--- a/test/local-repo/gdebi-test4.deb
+++ /dev/null
Binary files differ
diff --git a/test/pre-upload-check.py b/test/pre-upload-check.py
deleted file mode 100755
index f9da8f941..000000000
--- a/test/pre-upload-check.py
+++ /dev/null
@@ -1,266 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import os
-import glob
-import os.path
-import shutil
-import time
-from subprocess import call, PIPE
-
-import unittest
-
-stdout = os.open("/dev/null",0) #sys.stdout
-stderr = os.open("/dev/null",0) # sys.stderr
-
-apt_args = []
-#apt_args = ["-o","Debug::pkgAcquire::Auth=true"]
-
-class testAptAuthenticationReliability(unittest.TestCase):
- """
- test if the spec https://wiki.ubuntu.com/AptAuthenticationReliability
- is properly implemented
- """
- #apt = "../bin/apt-get"
- apt = "apt-get"
-
- def setUp(self):
- if os.path.exists("/tmp/autFailure"):
- os.unlink("/tmp/authFailure");
- if os.path.exists("/tmp/autFailure2"):
- os.unlink("/tmp/authFailure2");
- def testRepositorySigFailure(self):
- """
- test if a repository that used to be authenticated and fails on
- apt-get update refuses to update and uses the old state
- """
- # copy valid signatures into lists (those are ok, even
- # if the name is "-broken-" ...
- for f in glob.glob("./authReliability/lists/*"):
- shutil.copy(f,"/var/lib/apt/lists")
- # ensure we do *not* get a I-M-S hit
- os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (0,0))
- res = call([self.apt,
- "update",
- "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure",
- "-o",'APT::Update::Auth-Failure::=touch /tmp/authFailure',
- ] + apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg"),
- "The gpg file disappeared, this should not happen")
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages"),
- "The Packages file disappeared, this should not happen")
- self.assert_(os.path.exists("/tmp/authFailure"),
- "The APT::Update::Auth-Failure script did not run (1)")
- # the same with i-m-s hit this time
- for f in glob.glob("./authReliability/lists/*"):
- shutil.copy(f,"/var/lib/apt/lists")
- os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (time.time(),time.time()))
- res = call([self.apt,
- "update",
- "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure",
- "-o",'APT::Update::Auth-Failure::=touch /tmp/authFailure2',
- ] + apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg"),
- "The gpg file disappeared, this should not happen")
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages"),
- "The Packages file disappeared, this should not happen")
- self.assert_(os.path.exists("/tmp/authFailure2"),
- "The APT::Update::Auth-Failure script did not run (2)")
- def testRepositorySigGood(self):
- """
- test that a regular repository with good data stays good
- """
- res = call([self.apt,
- "update",
- "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good"
- ] + apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"),
- "The gpg file disappeared after a regular download, this should not happen")
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"),
- "The Packages file disappeared, this should not happen")
- # test good is still good after non I-M-S hit and a previous files in lists/
- for f in glob.glob("./authReliability/lists/*"):
- shutil.copy(f,"/var/lib/apt/lists")
- # ensure we do *not* get a I-M-S hit
- os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (0,0))
- res = call([self.apt,
- "update",
- "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good"
- ] + apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"),
- "The gpg file disappeared after a I-M-S hit, this should not happen")
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"),
- "The Packages file disappeared, this should not happen")
- # test good is still good after I-M-S hit
- for f in glob.glob("./authReliability/lists/*"):
- shutil.copy(f,"/var/lib/apt/lists")
- # ensure we do get a I-M-S hit
- os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (time.time(),time.time()))
- res = call([self.apt,
- "update",
- "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good"
- ] + apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"),
- "The gpg file disappeared, this should not happen")
- self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"),
- "The Packages file disappeared, this should not happen")
-
-
-class testAuthentication(unittest.TestCase):
- """
- test if the authentication is working, the repository
- of the test-data can be found here:
- bzr get http://people.ubuntu.com/~mvo/bzr/apt/apt-auth-test-suit/
- """
-
- # some class wide data
- apt = "apt-get"
- pkg = "libglib2.0-data"
- pkgver = "2.13.6-1ubuntu1"
- pkgpath = "/var/cache/apt/archives/libglib2.0-data_2.13.6-1ubuntu1_all.deb"
-
- def setUp(self):
- for f in glob.glob("testkeys/*,key"):
- call(["apt-key", "add", f], stdout=stdout, stderr=stderr)
-
- def _cleanup(self):
- " make sure we get new lists and no i-m-s "
- call(["rm","-f", "/var/lib/apt/lists/*"])
- if os.path.exists(self.pkgpath):
- os.unlink(self.pkgpath)
-
- def _expectedRes(self, resultstr):
- if resultstr == 'ok':
- return 0
- elif resultstr == 'broken':
- return 100
-
-
- def testPackages(self):
- for f in glob.glob("testsources.list/sources.list*package*"):
- self._cleanup()
- (prefix, testtype, result) = f.split("-")
- expected_res = self._expectedRes(result)
- # update first
- call([self.apt,"update",
- "-o","Dir::Etc::sourcelist=./%s" % f]+apt_args,
- stdout=stdout, stderr=stderr)
- # then get the pkg
- cmd = ["install", "-y", "-d", "--reinstall",
- "%s=%s" % (self.pkg, self.pkgver),
- "-o","Dir::state::Status=./fake-status"]
- res = call([self.apt, "-o","Dir::Etc::sourcelist=./%s" % f]+cmd+apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(res == expected_res,
- "test '%s' failed (got %s expected %s" % (f,res,expected_res))
-
-
- def testGPG(self):
- for f in glob.glob("testsources.list/sources.list*gpg*"):
- self._cleanup()
- (prefix, testtype, result) = f.split("-")
- expected_res = self._expectedRes(result)
- # update first
- call([self.apt,"update",
- "-o","Dir::Etc::sourcelist=./%s" % f]+apt_args,
- stdout=stdout, stderr=stderr)
- cmd = ["install", "-y", "-d", "--reinstall",
- "%s=%s" % (self.pkg, self.pkgver),
- "-o","Dir::state::Status=./fake-status"]
- res = call([self.apt, "-o","Dir::Etc::sourcelist=./%s" % f]+
- cmd+apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(res == expected_res,
- "test '%s' failed (got %s expected %s" % (f,res,expected_res))
-
- def testRelease(self):
- for f in glob.glob("testsources.list/sources.list*release*"):
- self._cleanup()
- (prefix, testtype, result) = f.split("-")
- expected_res = self._expectedRes(result)
- cmd = ["update"]
- res = call([self.apt,"-o","Dir::Etc::sourcelist=./%s" % f]+cmd+apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(res == expected_res,
- "test '%s' failed (got %s expected %s" % (f,res,expected_res))
- if expected_res == 0:
- self.assert_(len(glob.glob("/var/lib/apt/lists/partial/*")) == 0,
- "partial/ dir has leftover files: %s" % glob.glob("/var/lib/apt/lists/partial/*"))
-
- def testValid(self):
- for f in glob.glob("testsources.list/sources.list*validuntil*"):
- self._cleanup()
- (prefix, testtype, result) = f.split("-")
- expected_res = self._expectedRes(result)
- cmd = ["update"]
- res = call([self.apt,"-o","Dir::Etc::sourcelist=./%s" % f]+cmd+apt_args,
- stdout=stdout, stderr=stderr)
- self.assert_(res == expected_res,
- "test '%s' failed (got %s expected %s" % (f,res,expected_res))
- if expected_res == 0:
- self.assert_(len(glob.glob("/var/lib/apt/lists/partial/*")) == 0,
- "partial/ dir has leftover files: %s" % glob.glob("/var/lib/apt/lists/partial/*"))
-
-
-class testLocalRepositories(unittest.TestCase):
- " test local repository regressions "
-
- repo_dir = "local-repo"
- apt = "apt-get"
- pkg = "gdebi-test4"
-
- def setUp(self):
- self.repo = os.path.abspath(os.path.join(os.getcwd(), self.repo_dir))
- self.sources = os.path.join(self.repo, "sources.list")
- s = open(self.sources,"w")
- s.write("deb file://%s/ /\n" % self.repo)
- s.close()
-
- def testLocalRepoAuth(self):
- # two times to get at least one i-m-s hit
- for i in range(2):
- self.assert_(os.path.exists(self.sources))
- cmd = [self.apt,"update","-o", "Dir::Etc::sourcelist=%s" % self.sources]+apt_args
- res = call(cmd, stdout=stdout, stderr=stderr)
- self.assertEqual(res, 0, "local repo test failed")
- self.assert_(os.path.exists(os.path.join(self.repo,"Packages.gz")),
- "Packages.gz vanished from local repo")
-
- def testInstallFromLocalRepo(self):
- apt = [self.apt,"-o", "Dir::Etc::sourcelist=%s"% self.sources]+apt_args
- cmd = apt+["update"]
- res = call(cmd, stdout=stdout, stderr=stderr)
- self.assertEqual(res, 0)
- res = call(apt+["-y","install","--reinstall",self.pkg],
- stdout=stdout, stderr=stderr)
- self.assert_(res == 0,
- "installing %s failed (got %s)" % (self.pkg, res))
- res = call(apt+["-y","remove",self.pkg],
- stdout=stdout, stderr=stderr)
- self.assert_(res == 0,
- "removing %s failed (got %s)" % (self.pkg, res))
-
- def testPythonAptInLocalRepo(self):
- import apt, apt_pkg
- apt_pkg.Config.Set("Dir::Etc::sourcelist",self.sources)
- cache = apt.Cache()
- cache.update()
- pkg = cache["apt"]
- self.assert_(pkg.name == 'apt')
-
-
-
-if __name__ == "__main__":
- print "Runing simple testsuit on current apt-get and libapt"
- if len(sys.argv) > 1 and sys.argv[1] == "-v":
- stdout = sys.stdout
- stderr = sys.stderr
-
- # run only one for now
- #unittest.main(defaultTest="testAptAuthenticationReliability")
- unittest.main()
diff --git a/test/scratch.cc b/test/scratch.cc
deleted file mode 100644
index d638c7097..000000000
--- a/test/scratch.cc
+++ /dev/null
@@ -1,105 +0,0 @@
-#include <apt-pkg/dpkgdb.h>
-#include <apt-pkg/debfile.h>
-#include <apt-pkg/error.h>
-#include <apt-pkg/configuration.h>
-#include <apt-pkg/progress.h>
-#include <apt-pkg/extract.h>
-#include <apt-pkg/init.h>
-#include <apt-pkg/fileutl.h>
-
-using namespace std;
-
-int main(int argc,char *argv[])
-{
- pkgInitConfig(*_config);
- pkgInitSystem(*_config,_system);
-
-// cout << flNoLink(argv[1]) << endl;
-
-// #if 0
-/* DynamicMMap *FileMap = new DynamicMMap(MMap::Public);
- pkgFLCache *FList = new pkgFLCache(*FileMap);
-
- char *Name = "/tmp/test";
- pkgFLCache::PkgIterator Pkg(*FList,0);
- pkgFLCache::NodeIterator Node = FList->GetNode(Name,Name+strlen(Name),Pkg.Offset(),true,false);
- cout << (pkgFLCache::Node *)Node << endl;
- Node = FList->GetNode(Name,Name+strlen(Name),Pkg.Offset(),true,false);
- cout << (pkgFLCache::Node *)Node << endl;
-*/
-// #if 0
- _config->Set("Dir::State::status","/tmp/testing/status");
-
- debDpkgDB Db;
-
- {
- OpTextProgress Prog;
-
- if (Db.ReadyPkgCache(Prog) == false)
- cerr << "Error!" << endl;
- Prog.Done();
-
- if (Db.ReadyFileList(Prog) == false)
- cerr << "Error!" << endl;
- }
-
- if (_error->PendingError() == true)
- {
- _error->DumpErrors();
- return 0;
- }
-
-/* Db.GetFLCache().BeginDiverLoad();
- pkgFLCache::PkgIterator Pkg(Db.GetFLCache(),0);
- if (Db.GetFLCache().AddDiversion(Pkg,"/usr/include/linux/kerneld.h","/usr/bin/nslookup") == false)
- cerr << "Error!" << endl;
-
- const char *Tmp = "/usr/include/linux/kerneld.h";
- pkgFLCache::NodeIterator Nde = Db.GetFLCache().GetNode(Tmp,Tmp+strlen(Tmp),0,false,false);
- map_ptrloc Loc = Nde->File;
-
- for (; Nde.end() == false && Nde->File == Loc; Nde++)
- cout << Nde->Flags << ',' << Nde->Pointer << ',' << Nde.File() << endl;
- Db.GetFLCache().FinishDiverLoad();*/
-
-/* unsigned int I = 0;
- pkgFLCache &Fl = Db.GetFLCache();
- while (I < Fl.HeaderP->HashSize)
- {
- cout << I << endl;
- pkgFLCache::NodeIterator Node(Fl,Fl.NodeP + Fl.HeaderP->FileHash + I++);
- if (Node->Pointer == 0)
- continue;
- for (; Node.end() == false; Node++)
- {
- cout << Node.DirN() << '/' << Node.File();
- if (Node->Flags == pkgFLCache::Node::Diversion)
- cout << " (div)";
- if (Node->Flags == pkgFLCache::Node::ConfFile)
- cout << " (conf)";
- cout << endl;
- }
- }*/
-
- for (int I = 1; I < argc; I++)
- {
- FileFd F(argv[I],FileFd::ReadOnly);
- debDebFile Deb(F);
-
- if (Deb.ExtractControl(Db) == false)
- cerr << "Error!" << endl;
- cout << argv[I] << endl;
-
- pkgCache::VerIterator Ver = Deb.MergeControl(Db);
- if (Ver.end() == true)
- cerr << "Failed" << endl;
- else
- cout << Ver.ParentPkg().Name() << ' ' << Ver.VerStr() << endl;
-
- pkgExtract Extract(Db.GetFLCache(),Ver);
- Deb.ExtractArchive(Extract);
- }
-// #endif
-//#endif
- _error->DumpErrors();
-}
diff --git a/test/test-indexes.sh b/test/test-indexes.sh
deleted file mode 100755
index 50d54f691..000000000
--- a/test/test-indexes.sh
+++ /dev/null
@@ -1,235 +0,0 @@
-#!/bin/sh -e
-
-# Test behaviour of index retrieval and usage, in particular with uncompressed
-# and gzip compressed indexes.
-# Author: Martin Pitt <martin.pitt@ubuntu.com>
-# (C) 2010 Canonical Ltd.
-
-BUILDDIR=$(readlink -f $(dirname $0)/../build)
-
-TEST_SOURCE="http://ftp.debian.org/debian unstable contrib"
-GPG_KEYSERVER=gpg-keyserver.de
-# should be a small package with dependencies satisfiable in TEST_SOURCE, i. e.
-# ideally no depends at all
-TEST_PKG="python-psyco-doc"
-
-export LD_LIBRARY_PATH=$BUILDDIR/bin
-
-OPTS="-qq -o Dir::Bin::Methods=$BUILDDIR/bin/methods -o Debug::NoLocking=true"
-DEBUG=""
-#DEBUG="-o Debug::pkgCacheGen=true"
-#DEBUG="-o Debug::pkgAcquire=true"
-APT_GET="$BUILDDIR/bin/apt-get $OPTS $DEBUG"
-APT_CACHE="$BUILDDIR/bin/apt-cache $OPTS $DEBUG"
-APT_FTPARCHIVE="$BUILDDIR/bin/apt-ftparchive"
-
-[ -x "$BUILDDIR/bin/apt-get" ] || {
- echo "please build the tree first" >&2
- exit 1
-}
-
-check_update() {
- echo "--- apt-get update $@ (no trusted keys)"
-
- rm -f etc/apt/trusted.gpg etc/apt/secring.gpg
- touch etc/apt/trusted.gpg etc/apt/secring.gpg
- find var/lib/apt/lists/ -type f | xargs -r rm
-
- # first attempt should fail, no trusted GPG key
- out=$($APT_GET "$@" update 2>&1)
- echo "$out" | grep -q NO_PUBKEY
- key=$(echo "$out" | sed -n '/NO_PUBKEY/ { s/^.*NO_PUBKEY \([[:alnum:]]\+\)$/\1/; p}')
-
- # get keyring
- gpg -q --no-options --no-default-keyring --secret-keyring etc/apt/secring.gpg --trustdb-name etc/apt/trustdb.gpg --keyring etc/apt/trusted.gpg --primary-keyring etc/apt/trusted.gpg --keyserver $GPG_KEYSERVER --recv-keys $key
-
- # now it should work
- echo "--- apt-get update $@ (with trusted keys)"
- find var/lib/apt/lists/ -type f | xargs -r rm
- $APT_GET "$@" update
-}
-
-# if $1 == "compressed", check that we have compressed indexes, otherwise
-# uncompressed ones
-check_indexes() {
- echo "--- only ${1:-uncompressed} index files present"
- local F
- if [ "$1" = "compressed" ]; then
- ! test -e var/lib/apt/lists/*_Packages || F=1
- ! test -e var/lib/apt/lists/*_Sources || F=1
- test -e var/lib/apt/lists/*_Packages.gz || F=1
- test -e var/lib/apt/lists/*_Sources.gz || F=1
- else
- test -e var/lib/apt/lists/*_Packages || F=1
- test -e var/lib/apt/lists/*_Sources || F=1
- ! test -e var/lib/apt/lists/*_Packages.gz || F=1
- ! test -e var/lib/apt/lists/*_Sources.gz || F=1
- fi
-
- if [ -n "$F" ]; then
- ls -laR var/lib/apt/lists/
- exit 1
- fi
-}
-
-# test apt-cache commands
-check_cache() {
- echo "--- apt-cache commands"
-
- $APT_CACHE show $TEST_PKG | grep -q ^Version:
- # again (with cache)
- $APT_CACHE show $TEST_PKG | grep -q ^Version:
- rm var/cache/apt/*.bin
- $APT_CACHE policy $TEST_PKG | egrep -q '500 (http://|file:/)'
- # again (with cache)
- $APT_CACHE policy $TEST_PKG | egrep -q '500 (http://|file:/)'
-
- TEST_SRC=`$APT_CACHE show $TEST_PKG | grep ^Source: | awk '{print $2}'`
- rm var/cache/apt/*.bin
- $APT_CACHE showsrc $TEST_SRC | grep -q ^Binary:
- # again (with cache)
- $APT_CACHE showsrc $TEST_SRC | grep -q ^Binary:
-}
-
-# test apt-get install
-check_install() {
- echo "--- apt-get install"
-
- $APT_GET install -d $TEST_PKG
- test -e var/cache/apt/archives/$TEST_PKG*.deb
- $APT_GET clean
- ! test -e var/cache/apt/archives/$TEST_PKG*.deb
-}
-
-# test apt-get source
-check_get_source() {
- echo "--- apt-get source"
- # quiesce: it'll complain about not being able to verify the signature
- $APT_GET source $TEST_PKG >/dev/null 2>&1
- test -f $TEST_SRC_*.dsc
- test -d $TEST_SRC-*
- rm -r $TEST_SRC*
-}
-
-############################################################################
-# main
-############################################################################
-
-echo "===== building sandbox ====="
-WORKDIR=$(mktemp -d)
-trap "cd /; rm -rf $WORKDIR" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
-cd $WORKDIR
-
-rm -fr etc var
-rm -f home
-ln -s /home home
-mkdir -p etc/apt/preferences.d etc/apt/trusted.gpg.d etc/apt/apt.conf.d var/cache/apt/archives/partial var/lib/apt/lists/partial var/lib/dpkg
-cp /etc/apt/trusted.gpg etc/apt
-touch var/lib/dpkg/status
-echo "deb $TEST_SOURCE" > etc/apt/sources.list
-echo "deb-src $TEST_SOURCE" >> etc/apt/sources.list
-
-# specifying -o RootDir at the command line does not work for
-# etc/apt/apt.conf.d/ since it is parsed after pkgInitConfig(); $APT_CONFIG is
-# checked first, so this works
-echo "RootDir \"$WORKDIR\";" > apt_config
-export APT_CONFIG=`pwd`/apt_config
-
-echo "==== no indexes ===="
-echo '--- apt-get check works without indexes'
-[ -z `$APT_GET check` ]
-echo '--- apt-cache policy works without indexes'
-$APT_CACHE policy bash >/dev/null
-echo '--- apt-cache show works without indexes'
-! LC_MESSAGES=C $APT_CACHE show bash 2>&1| grep -q 'E: No packages found'
-
-echo "===== uncompressed indexes ====="
-echo 'Acquire::GzipIndexes "false";' > etc/apt/apt.conf.d/02compress-indexes
-check_update
-check_indexes
-check_cache
-check_install
-check_get_source
-
-echo "--- apt-get update with preexisting indexes"
-$APT_GET update
-check_indexes
-check_cache
-
-echo "--- apt-get update with preexisting indexes and pdiff mode"
-$APT_GET -o Acquire::PDiffs=true update
-check_indexes
-check_cache
-
-echo "===== compressed indexes (CLI option) ====="
-check_update -o Acquire::GzipIndexes=true
-check_indexes compressed
-check_cache
-check_install
-check_get_source
-
-echo "--- apt-get update with preexisting indexes"
-$APT_GET -o Acquire::GzipIndexes=true update
-check_indexes compressed
-check_cache
-
-echo "--- apt-get update with preexisting indexes and pdiff mode"
-$APT_GET -o Acquire::GzipIndexes=true -o Acquire::PDiffs=true update
-check_indexes compressed
-check_cache
-
-echo "===== compressed indexes (apt.conf.d option) ====="
-cat <<EOF > etc/apt/apt.conf.d/02compress-indexes
-Acquire::GzipIndexes "true";
-Acquire::CompressionTypes::Order:: "gz";
-EOF
-
-check_update
-check_indexes compressed
-check_cache
-check_install
-check_get_source
-
-echo "--- apt-get update with preexisting indexes"
-$APT_GET update
-check_indexes compressed
-check_cache
-
-echo "--- apt-get update with preexisting indexes and pdiff mode"
-$APT_GET -o Acquire::PDiffs=true update
-check_indexes compressed
-check_cache
-
-rm etc/apt/apt.conf.d/02compress-indexes
-
-echo "==== apt-ftparchive ===="
-mkdir arch
-$APT_GET install -d $TEST_PKG
-cp var/cache/apt/archives/$TEST_PKG*.deb arch/
-cd arch
-$APT_GET source -d $TEST_PKG >/dev/null 2>&1
-$APT_FTPARCHIVE packages . | gzip -9 > Packages.gz
-$APT_FTPARCHIVE sources . | gzip -9 > Sources.gz
-cd ..
-
-echo "deb file://$WORKDIR/arch /
-deb-src file://$WORKDIR/arch /" > etc/apt/sources.list
-$APT_GET clean
-
-echo "==== uncompressed indexes from local file:// archive ===="
-echo "--- apt-get update"
-$APT_GET update
-check_indexes
-check_cache
-check_get_source
-
-echo "==== compressed indexes from local file:// archive ===="
-echo "--- apt-get update"
-$APT_GET -o Acquire::GzipIndexes=true update
-# EXFAIL: file:/ URIs currently decompress even with above option
-#check_indexes compressed
-check_indexes
-check_cache
-check_get_source
-
-echo "===== ALL TESTS PASSED ====="
diff --git a/test/testkeys/mvo.key b/test/testkeys/mvo.key
deleted file mode 100644
index e1ab50119..000000000
--- a/test/testkeys/mvo.key
+++ /dev/null
@@ -1,1182 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-mQGiBDgbNk0RBACbHfepY/RojAOL0tqkJOLnJ0ppvoAcFj427ZxdUbEwdwc7BNL+
-XtRgZ1WBURA+qb2inC3rA9a9TrQA2x2luq7XmCVbP7jv0K/8nYqzSHp0oPuMsrCO
-6EhK/XLOzKw7Bk1rfl4JVOX92QFBXodJiaemUok29CXVSn8vUR2lqGdypwCgpiBJ
-zxjf/eSvPp4IihsTC3kke9ED/2ASOhlkfWobIaed47/ehIYc9gvbdMOnoGDrwXN6
-8ba+3FGvtY5qbUKg2HinOYQoBjXW9NDjeJ6b8klpyG2LMAhS2UzPQjhwUIn9WnNX
-Qsvreq0e3ad+kXCjPFjtfjCPno19mPvTSevLEXIUoG02fjpDdHTCxlUq7jdthtPC
-TMCLA/4scIFi2Ll7pqVvNqc7xTLb/b5E9fKsiqdrJMLGqg4cWak84e9UF2tQmsqs
-UohiU9qV5u4HIehraXs9NDdt2PvFgCsEYNtwFdSCsq6q9YtqfgnGia1hyQLE47RP
-J+AwLeZRU9R81gKslD/ouxgj3ctx44hHMtLAFEZU/SqoD6CZBbQcTWljaGFlbCBW
-b2d0IDxtdm9ndEBhY20ub3JnPohVBBMRAgAVBQI4GzZNAwsKAwMVAwIDFgIBAheA
-AAoJEJYkg+FWYsc0Da0AoJL3vvvHdGlRzVKRBUmUk7ldSaeOAJwJx+M17RtS2H7/
-rtDs/FdKgOpyYIhGBBARAgAGBQI44PQGAAoJEHnZRpQA4NBUcfsAnjJyH2KDaapk
-LmWIo8mXbjKkp1nPAJ0ah73TIyMDX46M5keCVv14rEO7qIhGBBARAgAGBQI5XewC
-AAoJEG9cFK2bBJM1u2MAnRm2g0rv3MJcp0+WqJ6gBwFusJLGAJ44gsM1etFK+/v5
-K7fhtTVHVw2p5ohGBBARAgAGBQI5YbDGAAoJENfxTmPdHGLWOx0AniI3REj/jKDw
-rlLox+UMytalnzKcAJ9ymd5/mwd2Vv5xgZpOzlzmOkHM24hGBBARAgAGBQI5czP9
-AAoJEFTCT7U7C7mpbogAmwc+jjRJAQLuwP8AY4oEf6G5MAErAKDIGv+gNkcZM66T
-whLZdmF+SUYcEIhGBBARAgAGBQI5ye0MAAoJEFGs9q11voCXz5IAnivGxujJtmUl
-9qOu2j542xIpFOcLAJ4/IeHXf0Z4UknuqDDRuEK8iLsAfYhGBBARAgAGBQI5yy+C
-AAoJEL/hIGVrIUiaJXYAnjwaPF3bh7P0SBNlD+wLjtQJ/MTHAJ9Y3WWJKMYUg4xL
-F0tHLZyloU9674hGBBARAgAGBQI5zN/1AAoJEN56r26UwJx/QdIAoMfkJQVmLGmZ
-zHOxLMb/EtMGUF1ZAKCMwdQnb1x9ilkIzr5NtNUE/TErJ4hGBBARAgAGBQI51EyZ
-AAoJEPhev0YljYeBAhoAn3wxgOQeBwbCkJyLicdOrzy23Cv/AJ0UTreo2KaFOfcy
-eqdxDSZpt//2hIhGBBARAgAGBQI6Ac4jAAoJEB/Egc/tDXz6yeoAn1lqYvC91uvt
-JmbJ1mPgWOL8BRlLAJ9zSXAy/Evl7ffMmNRmw68hgiw+uYhGBBARAgAGBQI6Lj7J
-AAoJENwT5U6rm2b9hyUAoNKrqr+wFKb53a/2EiqiwlxwMe9sAJ4rmmdg/eD7+gra
-taOyc9hbc9BsIYhGBBARAgAGBQI7QFC3AAoJEHkWLzb39qrZmlcAoKcsJvgM2fLl
-msslzS5C0wPmHp2aAJ9GwhzCzA5m2sfHF//VE9vK7lGP6ohGBBARAgAGBQI7QK1g
-AAoJECm+XSJo/VSf9RMAoKeZR763sZs1FUzDZqO+1P1PvRORAJ4/pPOXrBtUVxtP
-L7JYcby7Pu2q4ohGBBARAgAGBQI7QEqKAAoJEHzz9a8pSZ9h/LoAnjq3tepe77aC
-7A87N4m8ioQNq9EWAJ4r8xJdSV9WJuKOpWO8RhcQK+zG8IhGBBARAgAGBQI7Rdfh
-AAoJEENVU8Xg+cY0XsEAoJYuY/GAwj3D3O2l2/4kpqL/K2bOAKCVFnIXGzmokhUW
-OzEpR9zISB0Jl4hGBBARAgAGBQI7QVVlAAoJENdZXTdLcpYl3IwAnjJg1r1c8SdB
-pmCusQhdlvth9KanAJ4oVB5ClSpXLszX81n3K14E4xgSz4hGBBARAgAGBQI7RsZj
-AAoJEPIPrAt7g1flwMgAoKif05sqy6lgnhOOW0gen5ZDMZiDAJ4lZrdd+We/lzOI
-ItzwaH7MtR7mnohGBBARAgAGBQI7MdbOAAoJEIuYyKIb5v0ldf0AnRNFMcbfelX1
-kWyQ7iwBe8ZdrnBSAJ9XAYyd+YDMxRPgUjPsx5g4bVoByIhGBBARAgAGBQI7SxV6
-AAoJEMCky7mHl4VpMpAAnAiPDNzcAqS3SitNzdfo6um6ULm3AJ45Arkvwdt1rhe+
-XdJb8BmE0csV24hGBBARAgAGBQI7TWOqAAoJEP6aHsNkhDkzNo4AoIG4qZnmAhiu
-tjYUGe8iTHvlSRn2AJ0R78A+6pNYq7bXsX+u2wQCmtKstIhGBBARAgAGBQI7TyYG
-AAoJEF3iSZZbA1iijrIAmQFyBc06cpHnk8Z1jcb1j4hppKDTAKCrOAVms47hOwSQ
-kx77XYYVmgv1JYhGBBARAgAGBQI7UiYzAAoJECTpnxDbPUTUOs4AoKxun2wYzw6n
-X8m2GD852Fvl1ejRAKCcxxsM91CEqa1Dq1ZgSAPcPW4aFohGBBARAgAGBQI7Ur/6
-AAoJEPHSzMhJehdttqIAoLlQ8CR3oGaSFhnJUJlhITxph2AcAKC/D8KE2TBBH9Ns
-Xnd9w4TueW5ZwIhGBBARAgAGBQI7XvRyAAoJEKXycCgJF6nkbZIAn0a/QJMxWZA1
-joLAmTZeZKtpG4kBAJ9HmXc4IvbtywrkN2UUXy6V9EBdmohGBBARAgAGBQI8Bm3x
-AAoJEG+rq7w1fSF4VpIAn2FRhND2RaEf7OzAHuijY51SxYRfAJ0bHBGbLKfiV9GN
-h+8ZeIU4G/ZoF4hGBBARAgAGBQI7+t0uAAoJEO/OC2AEJW07bwUAnRx8jfjEQvV+
-didBZ6royl+EQ+XIAKCEaXBmCylJjiDzzwFs2M6ofr7oiIkAlQMFEDweVsmABi58
-5NR+wQEB14gEAN2PQAo2JeKKw5Ehq5MtNncwAnY8f4k9vMR+bRF+ZQZRSENDseEi
-1NFe0L36ftZm+OPycd6sOW+ItdBQdz5Klg0itVPlneg6e172S97rBC3H9Sadc/s2
-e3TzSO75H17SZQqep8SQ0J5lpVqnZWv8UInw6nlNHrAZnKi5vDCDg2qViEYEEBEC
-AAYFAjtSxtsACgkQO/YJxouvzb1UngCfVU4Tuak2dZvqi3sGpEbP5N3JD6YAoMC/
-O5omvvNn+Y3roJ9DO9Gp5tuGiEYEEBECAAYFAjwea0EACgkQw3ao2vG823MD+wCf
-QMu34w5+e1IVv0SG/4u7OZ+gAU0An14HokAASyR08zx6YWRISe+ut2ugiEYEEBEC
-AAYFAjzOpm0ACgkQYFIoXKh32XgWBACgmj2D12AxjkIKtSAnxaJW0jctpPAAn3gD
-BekKLQ6nxUv/RtdSxgEuJaTziEYEEBECAAYFAjwaQVoACgkQArxCt0PiXR4VogCg
-4Ugp24rAWDTrg087qmJJDSzoFMoAniSj+0jFBN7+Cuxt6lvsYdzIZtRkiEYEExEC
-AAYFAj03JCAACgkQEmi4KLr+iOXtmACgpOsak4ZO2xpL+BWtsV0STUiHWa0An1MO
-+j7+1i/qyUqxK3dBMAAQR6DciEYEEBECAAYFAjz8wDsACgkQL0uj7/chxkPnawCf
-fe9U7VuB6Kmb8kCOuqLD2WdeQ5QAoKdNllTKuajMNuTKu7nK4cM5xwasiEYEEBEC
-AAYFAjz/WjsACgkQ4ggFW0tm2ZF8AACfRKZqobRP7Rz/nMmmjQTicKKRcikAn2ki
-Uout5ll4H8kJSN0xvQtwV/AtiEYEEBECAAYFAjy8heYACgkQ+FmQsCSK63M7qwCf
-XWEy22x1vjjEwqLKfcbfE/KUFYIAni6HE23kn69qjF9JIIHEwUaLO1JJiEYEEhEC
-AAYFAj2hjGkACgkQjjtznt0rzJ2LKQCdGrZeo3TW4KOL13MlTNst0njtV18An3h9
-6nXE3Hz9THRMuxldBfhrPbk/iEYEEBECAAYFAj44b8oACgkQ/5gPV7u/uOHgDwCg
-+VNQMCgxFaNiiyU1c6uppxDRYcIAn27PkEgAjlw0t6xHGSqSUelJONBEiQFABBMB
-AgAqBQI+jbNtIxpodHRwOi8vd3d3LnJhdGgub3JnL2dwZ3BvbGljeS5odG1sAAoJ
-ELbcsCzNGlK5XZYIAKlU2bdFlD90ss50fUi2+sUus7ev3nhPP9VPuN5IO325meNF
-OJN/074ewSHsdiD0323sohtqe4aQp0nieYg3IfC6agEiCiNffFmvs/oMuZKk0OXy
-BBZP3KxHUnz6B0eHN1HxdfrWO3Zt48T4cLEs2cudZHfGnzd/ZsPbxlMe+krHktgl
-FZdX2pm8g77NMD/FHICbypCsY2FLt7huw/pPcLyvE8Wafm8YmgM6biWR5CUglVfs
-IoeKzEdYj/Ys0rht7YGz5yB1U6Sy4JRLDbM1Msx3h2C2J76mV/oogt568okZSGZx
-EadrBn4PdJqU4zFK4t9Y0Pp6imFpraOAOaG0jvWIRgQTEQIABgUCPpGDpwAKCRAI
-XykZwmr06+IRAJ9yHo51a6Swdm2MzcE8NM3AiVZDAACeJPI2DzeXqckHrFmVhMm8
-WSUQcNqIagQTEQIAKgUCPo2ymCMaaHR0cDovL3d3dy5yYXRoLm9yZy9ncGdwb2xp
-Y3kuaHRtbAAKCRCprbf4rk5CXMabAJ9ewWNvXylfEGFtSEl/Akp5HmlcQwCguezW
-D8hrg9b7grq+D8Xa+qhVzoqIRgQTEQIABgUCPw/vagAKCRDTW7yZvH0CCo6oAJ41
-fNnL1AS8lMN4xxVoBudfnj0ENQCZARDKiW3eMp2+bLHKOcaMCF5GEHeIRgQQEQIA
-BgUCPxBWNAAKCRDW+vrdlS8//wK4AKCsH7xA5MH6ctCKrLqFgJVminkaigCfUyan
-WP6QtCkyC8x+wlEAN8g7g6uJARwEEwEBAAYFAj8RBnoACgkQQAYVDkAJ6u1KcAgA
-tSn2vpDSge72G8+oCQrhxcDpob0l33IuBXEFqczV2TO7oUisgiu+/90GeRzUqBvE
-jxg2uX0n+2uYInPbLL0m5rlWgkhyk5tWSdklDz3JLKSK24p48xBjDsAxL8eiYVJh
-HOUrHRIl5imsgRk8Aycey1/h2CfweIrIZHDxGRqtX/I8EO5rG2O/HV3nujPSli6G
-wPlf1aXlV9diPj0mwU5HlCFAB/Akfx8jzcMLbORGYM1fift2c01P/KLTr9szJ8iz
-2UDiNCM007CPwrYS8aAw373zOBhzZnrJLTP7hXl78UYjZWTJlDP1PYWYY5P4gq96
-djvXpDH2WiRgF56LAEg4pYhGBBMRAgAGBQI/ECvMAAoJELM00wiWL9Le93YAnR+n
-8c2tFDeBHcSTIfjRfWjFi0ixAJwJARGAeBLHzHfHfcf15FanE4GPVIhGBBMRAgAG
-BQI/ERPwAAoJEOGFItd8cSvLEpAAnjQ1MpPXRtTKmO9OsMVGLWAe+2I7AJ4zV1mS
-zJGkkFA77QnFy4X0lP5SjYkBHAQQAQIABgUCPxFKTgAKCRAJ6fkKinJORY7SCADB
-UjR1STWfr5rXFjFleiSwPdOFMFj1HJvMVirY9ah2gzz6R+WEkzBesrg8X+Zrgf1D
-UrodM/Uas57Ght3t/ytKJdjfPiCcpn9rcWk7Gy5idpBgpGJD2YG8mATNoXsz4RHi
-evtXO8DFJ87d7fNRv6RWN6aV1hf61MfGWGX0v+qLxzGJtwalC2w6YQVmisF/IuOY
-g1TM3qtj58DPFu2CCaFcLVDpA41k6WvY+haYSoHxw6O8FUMZqCJgvo/rgaulzmCI
-IvPVGqoaZNZcaIqkDkPnXCF7Ol5Gz67SUG4p3meUIJcC0JoYO6rhzrTdom/YI2to
-cYFo6qUQX2xoyHUndGS0iEYEEBECAAYFAj8SooQACgkQ1DyzBZX+yjRANQCgoeSo
-eX3vAk26SuqRyDVfGvhX1MQAoKpdtVmx54GyB15T8KPyN/n8lm85iEYEEBECAAYF
-Aj8ROC4ACgkQ9Wsmo6Y5nnOc4gCgqb5ypf7CM7x9gGK4YLZbcvWAjqUAoJmHY1di
-lrgaafw3qqscNwTey5GCiEYEExECAAYFAj8QZjgACgkQeDPs8bVESBX5KACfUp9q
-RTLm0lLHgY9wPqJ32b1/aR0AniiRO65KcEHUZ5AJA7l6Q8stU3kfiEYEExECAAYF
-Aj8RP+kACgkQ6iGZQSR3yvj3UQCfSgvBuOlVuCOx0U83Zm30mrxsEK0AnRmDl3XT
-kQtv/wOCVoPXS21UaHFziEYEExECAAYFAj8RXPsACgkQGf7YPOK+o0HcRwCg9z9+
-ln1+teEYBfS9QCaX8DYR22wAoOHlbP+t6SnqfoFg8P0rqKnk0N+RiEYEExECAAYF
-Aj8RpBYACgkQxcDFxyGNGNcdmwCgpPCow3W9Gb6xjeKu8bLoC4SWLKwAn3ClU08D
-C3IBK6f4gAG5+Ad9NspgiEYEExECAAYFAj8RwdUACgkQvpyGjQRgTriRlgCeIoQh
-eYO1QF9oYli4AkJKP4Rnxw0AoJ1TGUjnasCUnib0LDTsLkz4G4obiEYEExECAAYF
-Aj8ShtwACgkQoJD705cZn8OiTwCffk6fmJbXPZEjLvz5mMPKqihKEDMAnRDLrmVU
-7Zyr1MTNkEkXUdRKU/R4iEYEExECAAYFAj8SkwQACgkQVm02LO4Jd+gV1wCgp3rq
-b/jQ6p5s7mtGz4nIGq5rWscAn1VG5Y74+kHz3zIc4R6+cc6GfgYgiEYEExECAAYF
-Aj8Sl20ACgkQj7mZcU7rMfFoFgCfULiIrce0s4O8RkaA1/3Aim8vw8gAn3pJeNz4
-xbjG+SdSIkt20PClEdsZiJwEEwECAAYFAj8TMi8ACgkQtGuSO22KvnHtdQQAq36q
-n4gFtu4ocQf1pDaxZRyuEvwjuiRmrOGWRbSwvz0xKWDflYxfHPz17XSbZsTrk3EL
-OoVVlgaSDhwf67SLfVlyYW8lxJVXY4qF55UNQ2+fe2zlJ8TKQd3FdxoRzurkMoEX
-4kay3hTFBH+nRqVS6a848yDEuTFtHSbWIh6asHGIRgQQEQIABgUCPxNhDwAKCRCt
-7CzRGpU359pzAJ9ovdQwBw48LD0l5oj+NyBJHUkVIQCfX6/AGCDhhryIn7wZw2UI
-CZ+I25aIRgQTEQIABgUCPxGlCgAKCRAoxvVrgXw1aAJQAKCQBwJZ+fZpd3wpidfj
-TSsO3DNzGgCbBFivSKHERjKt+BMU3FD/PiQVvJWIRgQTEQIABgUCPxPyOgAKCRC5
-gsvVwOMfHay/AJ4x8E/I6NaP+MZCRghVnBbc/jWXdgCdE4NPmJMYlS4DjEi5yrnO
-GTAoZ+iIRgQTEQIABgUCPxQadQAKCRCAdScAZahB7ZzWAJ9U2/wm19/e5hO6ctED
-OU4tyNX0HgCgtvah2EaEJCeHBtkcxV0gNAkjTcCIRgQTEQIABgUCPxQqPwAKCRBs
-dheMoO2YLdhsAJ9SnpDiEONSVKp4WbNUEdYg0nfQrwCgllFT54PAfK9imNf7oqm/
-u5Gmwr6IRgQSEQIABgUCPxQtmgAKCRA19mF8UTrv2SncAJ9ZGhHJo8mLfyE4N9hI
-du1knh4aiQCbBaPnoJwUU9bdGpIWdG8iO0cBPgSIRgQSEQIABgUCPxURowAKCRDV
-Tq5LyZhwscfrAKCOEb1D/zxJhDXZwpbfsxzOxGCM5gCgxwjjBCfa0eNRDEliX8LT
-LapqULmIRgQSEQIABgUCPxUs6wAKCRCJzUshYHVZ5vz+AKDIHISOOuQrtpEOsZuA
-IbCsGxuMVgCcCx4HWZUoDtnUQCwKQ1qdoNLGo26IRgQTEQIABgUCPxZujwAKCRCE
-LNt6RHeeGHlBAKCcghKXmdVvFv24BmjjNLblVkI19ACfTmvdtA319OVUdb8vj8qk
-8u6iRvGIRgQSEQIABgUCPxV1MQAKCRB8IsOfgHrFOu+lAJ45JtfYzbCAQg8zqq9b
-KYuPnb9QNACggib0rObV9FWyAtyU+YPdzpYdfcOIRgQSEQIABgUCPxUSaQAKCRC/
-QVlbc3Kipde9AJ9k8+gTNbm0kCZQR/Sr7nUp54qT9wCgozihBCCCz1UlyKlpuoPB
-Lyqn+Z6IRgQTEQIABgUCPxRl1AAKCRCUj9ag4Q9QLqUPAJ9osOfIVyhbJsJG/jaW
-bPHLlhO+4QCdEndVlz3FfEIvIqr3un8aS2mnR8aIRgQTEQIABgUCPxRl4gAKCRC0
-deIHurWCKZ90AJsHI7U/TK8ASY6qQnCs319TrsoiCwCfbzBLW6IrbkQz2ooGCWKv
-XGNZaqeIRgQTEQIABgUCPxVtRQAKCRC7VaR/yQHDPnjcAJ9es1zm1Kbba+MQpMJ/
-W7LoojAEQACg/qe/YgPY8kc3XIT3GTAxt4uU2NqIRgQTEQIABgUCPxZZigAKCRDn
-yduv41bvwEH/AKDAx7U7T+mag4+nQgJt3fVtBaBotgCfUc8zZ1GoO+4nl6J16HaS
-383ZMoOIRgQSEQIABgUCPxcIVwAKCRB3+BUzuw7ox4LhAJ985s36sd3XVShLnNSs
-oWwBCASHuwCeMR+G2M9etc91AwWmWTAa7Cm5oyqIRgQTEQIABgUCPxZaGQAKCRD0
-tLDMeX6/q2ixAJ9s5BGe4RAXi6h8crxOe69xY8Z2UgCfa95gIjyGx/78TvCxTld1
-rN6qsQCIRgQQEQIABgUCPxe0rAAKCRBGzFxj8xilakodAJ44FYFEomCpZ8fZiY/9
-kuQaxxSvagCgulF5/z2p5KjhzG3WB/ujP+VIhSSIRgQTEQIABgUCPxfUcgAKCRBT
-trgdwTzuB6pxAJ95M7TpYjim9ooeyC1t8escuno0LACeOe4iq+6JWhZcow3us448
-Duvc+IKJAQEEExECAMEFAj8Whg2GFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVzQHBl
-bmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9z
-aWduaW5ncy9ub3Rlcy5FQTcxQjI5NjQ1OTc0RDhCMzQzRTgyMUU5NjI0ODNFMTU2
-NjJDNzM0LmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9w
-Z3AvcG9saWN5L3YxLjEvAAoJEKseS2BGdWseknkAn1m1/xMVTIsJr18NZWVWaduY
-SisWAJ9zpOZlUDvxUgygPf8qxpw/+QjhLYkB1wQTAQIAwQUCPxaF/4YUgAAAAAAa
-AGNzaWduYXR1cmUtbm90ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4u
-ZGUvfmJiL2NvbnRhY3QvcGdwL3NpZ25pbmdzL25vdGVzLkVBNzFCMjk2NDU5NzRE
-OEIzNDNFODIxRTk2MjQ4M0UxNTY2MkM3MzQuYXNjIjMaaHR0cDovL3d3dy5wZW5n
-dWluLmRlL35iYi9jb250YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQGaJoCYg4/ZRS
-swf/d/l/jDhzqfSTDH0IpH1vTt9k4+qN0LSVv2z6keHd3LLS+QCVZAGuNuJ0zDUn
-oGuYfGccqLOMgnmTR+wQj1pROA1cwmISpZUn7Mwbd2yQ7KMix12/Gp3dL+KfE+UX
-DILLeZgod8ZyR35Sq17MsdFLMl9OCBCNCRigbaTW62be5HApsayOX8DjCUnkccnI
-JDqjFr9rpPlPOixLzzBi3ymLmt/Us3gXPnDIvQ9AOjk/xrLkvqibLx1SnehXuclq
-Xy1fGz70/VURD15FKR+EZoAC/z3KSt+yi5LF1rQ1JrvgWi3R+UaiQlWhjc2Y2+pC
-s9MzNJ6ajY7JebQloTBXmTZrd4hFBBMRAgAGBQI/F/CrAAoJEJEfSuaGoRjm0bEA
-oLmnPfLKN928w4MCbe1NEzN+JZ4pAJd7Qupi2vK3rYjHL6at7N0k+h3kiJwEEAEC
-AAYFAj8WkE0ACgkQ722CQfCBGV24GAP/VUmlNMWdNqADJeAS9sgmuwY499HBfxKC
-GPoUJQzz1Kp8UJUErXW0lnZap3Ovh+QWdZOGOwpcFjs/ph27SH+skieKjg+X8IsA
-z7zN+P7UJ8NDWuVA7WWlgJuubDPpWCOxcDcxefB+qUL8L+riWbmylEjron6SvAN0
-44J9fSSeCLiIRgQQEQIABgUCPxMfJAAKCRDQGfXvkCeriFR+AJ4+NtZifShtVwlF
-OmhpQeVKb8MZRgCfQfCYbEjyHmj0dkmBa1uBB5q+E9uIRgQSEQIABgUCPxh7XwAK
-CRAzCwOLbGN0bd7PAKDiCGbuxIi44hNaZp2k2iopmZp+ZACeNb4Xx1QC/UfFYIUU
-GyFaLy3AkjuIRgQSEQIABgUCPxh+JwAKCRCxqd2C3IFLCedaAJwI5NSu6QLC31Oa
-RVhwK4fMj2mRHwCaAv58aG0NwzECcAB9Q2CMu3+FnO2IRgQTEQIABgUCPxfwYQAK
-CRBWQSbyKfGb0fu9AJ0ZDxRkyQrTjBgZFNhmgLkkkc4T5wCeP2xiAp58UrX3zOlB
-gT5AKMrqjWeIRgQTEQIABgUCPxhKFgAKCRAadH5FMOC52MvlAKDfHIejXjn85Ryc
-Vfjx1QZfkr9l/QCgwWteC336NJVKdgNTL0e/uyVjzTCIRgQQEQIABgUCPxh0/QAK
-CRD2KOuTR0MgbNw+AKDVZRvEepBdgQm+WtRWY2pZyMK+IQCdE3CgB8xrU5PEG4hA
-qLSARu+9pAWIRgQSEQIABgUCPxkroQAKCRBl3zTAK1+F49K8AKCPN+Q80sOUAfGi
-yeaS62P21Za71wCdEiU6eO1A/G8AoAfJBOnNOasFJMmIRgQTEQIABgUCPxmU9wAK
-CRAh7E/chK1nbCH6AJ0Zs14KeXxHenncYDYQwaRytW/legCfalBDlkhqD/GU7Xic
-XkIntVILRoiIRgQTEQIABgUCPxplPwAKCRDOinnXmAFtxxlSAJoC0dP/HCw4x2j2
-u4ljZSk5dQh6YACfTEtkWHXY4be31uF2iqf9fcOpGOSIRgQSEQIABgUCPxuRvAAK
-CRDsDq9xNneAJV/IAJ4phQH4WQ317AHgTlQMU+fqHJVNMwCfcXX7srpJDaUj3GkU
-ETUmfROkgFqIRgQSEQIABgUCPxwpdQAKCRB014DXvzux3bjTAJ9cDtHwxak4XAXy
-SKhGvMOEcKIGWwCg0TkJU1hJ7lOD88MI3+GZmP94NfSIRgQQEQIABgUCPxXJzwAK
-CRAqJXt3xjco0mMDAJ4/2AWeFl8bMr112JR9YutxOATUAACgiTSoWjRDj1MT82Zk
-ljcQbsBYvYGIRgQTEQIABgUCPxAiUwAKCRAC1u0h4yxPSzEVAJ0TiCEpUwGnQNXY
-vcxtdx+9DYKM0QCgnkP2SvxPfAB5RZHbXkWB3iN4FxKIRgQSEQIABgUCPxx7wQAK
-CRAL21Oxos+KOADzAKDMIFe5u8tfUq5pyaxAK7NyrWx0ngCeOlp6LDGZSOPyV1oH
-qLQDAJrs+8WIRgQSEQIABgUCPxzaFgAKCRDID3RZrcKezYVqAJsHTfZZV7NhFcrr
-jglBZAixUHnNLACfcZMmTNrQoPpfPgoAiM/g3V+E3v6IRgQTEQIABgUCPxW5gAAK
-CRBL7yYkIt9Ah3cRAKCMCv5Jx7psrcqAkn0Zx6yojSeAOQCeM1Ub3yM+XcRuo8i8
-HS2SUygNR+yIRgQTEQIABgUCPxW5iAAKCRCVZB9rJT5Y45LMAKDcLu+jtrA9WqnI
-1UPw8I+suNflGACgvZ21OB2nPFvzsBDJQSY921C2k9+IRgQTEQIABgUCPx2AngAK
-CRA7v893vYsFDTTDAJ40XIFc472Yv+8gHICgcJTG8ATHbACcDloWcwv8vSnABT6R
-JV0U6bPBmu6IRgQTEQIABgUCPx2UZgAKCRAryEAWIGh4lYF5AJsHGbKmJXb1Qvx7
-1c6n2jNWmK81gACfYbmpioevt3Y3KSjlf12OEOxSFy2IRgQSEQIABgUCPx46sgAK
-CRDMAZrE/xbW6PbNAKCebFEzvR8xnYAJT2ckk1I3C3qOsQCeNZbsexfRL4b+dDFC
-cRBCTqSDpz6IRgQSEQIABgUCPx6ZMwAKCRA0UO1RP8wqkGZJAJ9+DCk9lV2Svnd+
-l+7u5aefZL4cBQCfdCD+yUvcJj9isbg4RCgKkqDh5jiIRgQTEQIABgUCPx7TtAAK
-CRAo7rNaPo3MwJ4hAJ9dXJK1bIDR5/0GEOCLHnAV3G/bTQCfcwoCvpk2gKUbBADC
-7JfNvsn19tOIRgQSEQIABgUCPx7ZUQAKCRCSvJR2Y5QmXiREAJ9kpiEYox6slmxY
-NI2Mse4nBv7I5wCcC+sOnQ0lMumt6KJjpav5GzKpbIaIRgQQEQIABgUCPx8BvgAK
-CRAo3bD9Gcm2ukpkAKDAiwTTAJsdKVc1VhOBERBSqQ/uCwCgqiVGLPYY3+VrNuH8
-xaNCY5OsuKWIRgQSEQIABgUCPx7v1QAKCRAakE+JnAT0Vn+CAKCOpLwh3WFEdR05
-bhTihE3sr4oLEQCeIalp5fJMik+TJdAUilxf/cJUF6iIRgQSEQIABgUCPyAnywAK
-CRAD4Yxrg+URDwflAJ4m3noUwZQmNE5y9rr/3zXmtWUHigCbBYD/QUEGD+rbosE8
-yu3bxELdHJ+IRgQSEQIABgUCPyESpgAKCRCkU1GZ6fLHRySNAJ4yOHY0XnCL3MO/
-ccT45BkUls6ctACfZ1G/ojmCshoejKeEm+V2fjCy4leIRgQTEQIABgUCPyFzPgAK
-CRCUmyXsB0RyUrZOAJwIHTQ9q9fMrKLrYwNcvbhPZXO3LwCfTg+ynV/d6VVli4Gy
-x44xSEo854uIRgQSEQIABgUCPyLsxAAKCRD6jjeQkFE49AgzAKDBiS576xIrLq8F
-rXoel/BKxEbxWQCffVbXx86q6BfQrg9je6j2KcKKkN+IRgQSEQIABgUCPybB5QAK
-CRD0PnJmPMiMCfguAJ9zNZ2SHdPQt9mRs7fmJ7eFzXL+yACfSRTv3/LMwz0j/EIE
-LcjTMlwf8l6IRgQSEQIABgUCPyOdjAAKCRAYoMyNVwaktIGXAJ9sx9LPQiA9J6z2
-FkB9qhbl17If2QCcCCtWo1tICBg1P/ExTA2BwnFAauuIRgQSEQIABgUCPyPEAQAK
-CRCUT8anamoLvKHtAJ0TyFAX6asPnzbpFBjLtY6bzFqeBgCeMUofVcspoa/0/YBa
-A8hSD9Qd/I6IRgQTEQIABgUCPxvrDwAKCRDYDvNai7Unr5ilAJ46rCD0b3Ywssdg
-c/bBBUS9kgUzkACguVCo26BCv86vOgOBe2wQr9qEPZKIRgQQEQIABgUCPyfZIgAK
-CRBvI4vCT9paDCFcAJ96KZRIVSLr+IrMrYoHd/H4r/R9uQCgioG+kSWctJYlqMxo
-4fatptDbM4CIRgQSEQIABgUCPyfefgAKCRCfzyzNPz5kJqT2AJ9qA0P5h9X1TZ2t
-ckVTEt1NRX9ydQCeOsbIvSvlfxdI72Bbpb6Uj8k1uwaIRgQTEQIABgUCPygYAgAK
-CRAEMjbrEHMZdzbaAJ9TNJBBoYV7cPOsEtIm4546RqsOgwCePRaDLbRQ+zojgFYE
-0l7c5G2kacOIjQQTEQIATQUCPyjtT0YaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRo
-b21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJ
-EKR5zcRatGBq87MAn0fdtv+HO8PkzE0jwcJTFq2mBMVAAKC/cq4wlxqxRnnHq0QB
-vHPbR1ZKv4kBYwQTAQIATQUCPyjtWUYaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRo
-b21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJ
-EPl8+eM6S39dX/sH/3xKPJriQO+GAhgL206tg3CC0HD7szn4zstqcokgLuIDhnBU
-dnEHq8RH5Cm9y31wfSJBhs3dhJD6cLEBKxZmO05T2eklYeGyhRzL2MH7PAj5oIHx
-Xds7ue9k1OJbBlEugj0SQaO3twWv8DM68ynpSV89r7vYQXDIB+rDJBSUy38f2Sf6
-QEf31nThMgOo3zxg0HTnFqTZxF/Zxl+qXb29g/LIVo9Ro95AI62DDLbeBbo3ofX6
-pb9+iLLBO7gEp+jzLYWITpbS3yG3N+3kxJUSxHFkTVVnKUWdkkF2ba5VcdWOU8h0
-qCjds6Bd6AL9r1d9+OTAGNJo1/hKJmHB5i71HAmIjQQTEQIATQUCPyjtZEYaaHR0
-cDovL3d3dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5
-c2lnbmluZy52ZXIxLjAudHh0AAoJEHkFdo91hPXYWbwAn0wIO2rpKpKPbfLlYPLR
-qogcYL7MAJ43Jo7qeNvX7+R1Y2egJKUMtJv/GIhGBBMRAgAGBQI/KO1zAAoJEPnQ
-FPA4yYWN1J0An2MMMdigRu72LLgPs9y+N/OcBo53AKDR4YObuiiSusq05/0/IpRP
-SpyFUohGBBMRAgAGBQI/KO1+AAoJEF0Pf0ng5J80GzgAoOw2yq4lnPopbXJT7NbT
-SzYUdQhpAKD5nJtD1PBQfMEWX7+E9Q2eeq5LMIicBBMBAgAGBQI/KO2JAAoJEBuw
-i78qkjIl634EAI1vXWW3JV4mRLWURiatAXE6ELl1t6zkcacP+VfsSpABqKw+/6Ga
-rnpnS4/9Eg4RC9F1uHcx3HrZiWoJMdrmJX89QHuCF7t4d7DJk9HOSlL3LkGCe9m+
-Z1rflATrtr1MykMly8P2w8GeEsegeP/qpXA5M0IT5R5Ydq8/bcDayvBXiEYEExEC
-AAYFAj8tVsEACgkQLJg+WtKKVdaquQCg1IXH52P/zc3SAg2BS9fwUrFfT6sAoLLv
-pZMGtQr4Ls1ENx1vLn2/5tYSiEYEEhECAAYFAj8ueAkACgkQEgljnRFKqFzSIACg
-4Czty3NmmCDd7ZytqaDYpnluyZQAoNXXygq5k5mFRSrYBNbKLQ2pTmcpiEYEExEC
-AAYFAj8tjjgACgkQTvSphPLKucgE6gCgh9l3Htk/cN9inNeozu2BxwCVnTcAn34l
-GxnITs3t11dr5fgeWntxWojQiEYEExECAAYFAj8zVvQACgkQyg4WnCj6OIrOcwCf
-WFi3qRdARzOjOzHc7e3wkE2Y1HIAn0sI6DnpFArA2q0B4+QATJtwNWNYiEYEEhEC
-AAYFAj8fL+EACgkQ2tp5zXiKP0wi6gCfZqoOI9vrerzDqwaHpusmhWZNHf4AoLxr
-H4N+VDTFpyf2fcF6kOjTdOI8iEYEExECAAYFAj85JnEACgkQRcAhR2mr3VTtWgCf
-RkvdJ+JLLABz0Rf8jUElesJAKg4An0T9vtCGack3TYp20xrkVjB1Y5E5iI4EExEC
-AE4FAj8fB3FHGmh0dHA6Ly93d3cubWF0aGVtYXRpay51bmktYmllbGVmZWxkLmRl
-L35tbXV0ei9zaWduLXBvbGljeS0yMDAzLTA3Lmh0bWwACgkQ3oWD+L2/6Dit8ACf
-eJyQ4Ug7UTwpgMM0bh6ivqV8O00AnR56LyPYir8xNMEDvhxW6CIXNZTtiEYEEBEC
-AAYFAj81i3wACgkQadKmHeJj/NTf2gCeNIpt7nvOdpIk9TJvYTJSn6iLUaEAnR8o
-uhq4erZO00NEtc4llNzaPfLSiEYEExECAAYFAj9ka/MACgkQZmZxetuDVnmoNwCg
-0J/dSioWrpCswFEn0FjT/nDiSWsAni0xT8LTtc3rlMblmleweYHChwEQiEYEExEC
-AAYFAj9kbAkACgkQDZZLZlcObeqx0wCfYoj+KssyUhVS56GB2WXKuc4sorAAn3Ol
-tD2OAjvwcuLi87npRTTXQbtjiEYEExECAAYFAj9kbUAACgkQTgKsrh3Ws4Bt6ACf
-cBrI0RT+qtOaq8ZASC0I3OAlM3gAnjR5oUgzTC+9U9M9jdpZvT0BeSSxiEYEExEC
-AAYFAkB3KgAACgkQpD5tJxKCh+jl0ACeNPz/WFH/10uxp2l6/90dV+2ElwsAnR0k
-7I7LxUR+O9SuzpPueEOYqH8ViEYEEhECAAYFAj/cWFEACgkQxRSvjkukAcNBMACf
-Xfg1gsZGuwz9Dh61eZ43DrNYiQ0AoNtpKAN53n6fa7qEzw0o2cC8Y2soiEYEEBEC
-AAYFAj/pG48ACgkQZKfAp/LPAaiEogCdGd1scuANXPxbF4w6df1zGChirXkAnA1w
-uWcW0c0cO2HW3ABlahR6wPPBiEYEEBECAAYFAj/MNCYACgkQoL6dujuIbn3dhwCe
-JqloDYulF0Gs33SEON55laT7fVUAn2QVkMisnawg0MbX6THp1pLAdBTriEYEExEC
-AAYFAkB3tZAACgkQhnv5qfvT645O3gCeNCTIuIs9+6w3jqB7GQaLXXpUueMAoJSP
-KUrk9dlxe74XK0fedbmaKSB4iEYEExECAAYFAkB4vOkACgkQzN/kmwoKyScqLwCf
-c11cQ2SYeDBEFhxb3Qc5wFL/AXUAoI03ZmLsly+9p67WmuY114lh7jpmiJwEEwEC
-AAYFAkB4wnAACgkQq/8HtEbzIS2zVAQAqi9LRR7bEeL/KZTYonpAs076eUkjxksX
-2Ls/ecQ/3ERA9fze4Em0XHGOLAVzKw4MIv1oWRiyfzXb+6J2lGw8e9zQM33Y/Y9Y
-Dq+YC0umSiPHtL+225dQdS4HXmfex6sDigG5sZ/cou8HYBwR5oIHD6QM0QUbfj+Q
-plk19ZhEHxGIRgQTEQIABgUCQHnwrwAKCRB8O3lwiMfB932kAJ0f16e5tFae3JN3
-61C13Tx0ck3waACghmo7zp4EAuxr3FJW3cDeMeHR+1OJAhwEEwECAAYFAkCX0dQA
-CgkQtWeUZ0c/fvoaHg/6A1i9isPv/kxiOEI9unftpwweApV3k61hxwrd6auy8Gt6
-2oa4/KgU2S6uZkUamO2hQpfNyXX9iTF0XhnHysKBDnyv3dmfNKAfHB/RCLqYWjWL
-zABHvN65BLav4Dfa8yizbiwbx+pnKQomr13i1hcL3h35ATw49TagyJPQzCUNtfZu
-C7Rj7QeMmmVM8VTqMRRAET5lqdUVuB1YHnc1kuER9JWYmatn0AnX2Szkj39gi08h
-K6cq9mIsjCi15jhuY5onYeQmVsnfOBCZmJ2XyFzex8Kjlf6rZDrt67gRZAc9noov
-eL4Ifw/Z2OXaWZqrNa+yvWR+y+0AXlxGzlZTKrSr7MFbsQ8vG06G3K68n2pX7iku
-AVvF1RDkFZuFRrde6ggl99DlbngM2cgRJne4AzTKJrgzfOOUD6SLDFdaFTwDHP1q
-kGPV9d2jN3ZOUG5ZusNbM+74e+3Oo7XLW1j011auC6SDrv6ndZQ9Z9vZdYw4tI47
-LWBxYmZ9CpC2GqCpstZiovYjB4RxrYiQNLVV9KkSLyoreHrBb5JLvgounK3W/3JV
-qDdqg3ZZobP0JQh5UhavlxzwCK6idp+iBcUHC3CtEeytz2bExh49wLfmLWpEFAZz
-l50A5fvvgj5AjeQiwGoTrD6I9l2KRu3fvmgXjZJAahZz3NyyDb/g9TS8fvY5c22I
-RgQTEQIABgUCQJy1rwAKCRBDGjztotfSkrrFAKCtMRim/eEp1ZZQdLqghyfBv4KO
-sgCggyFU/TEAQM4eiK7lZTZcDxkHt1eIRgQTEQIABgUCQN7OIgAKCRCzdT5NUUs+
-fElcAJ9H1NGrQc/RCdJO3XXpwazOqDlWsgCfVJAy3/dzjdTEXIuzunwcMOatemqI
-RgQTEQIABgUCQOaoFQAKCRBxXtagfnuKyUNQAJ43EoKiOLUgJQmOhPX/Mfnx4C25
-cgCeKsuX7YXeCNS0xzT+00bbISBmEgyIRgQTEQIABgUCQQQIbQAKCRDbTMxLKjDX
-KVk2AJ9DFIsf3VdcXXuD715uRFqDWOH/vQCfa7q9DAG/s0zdXQ+rPNQE63pqmb+I
-RgQQEQIABgUCQU1UxwAKCRBLIOcA56zBhyyCAKDEcrORvNKFS6a8+jDCGXbWmd8m
-VgCdF6IW+ohQTfxmbsWNqp8066ix2Z+IRgQQEQIABgUCQnIiswAKCRDT+ZXVd2r+
-Em3+AJ9iOcXpqIA9u99C7v30zr/WxgsEkwCfTLANSobqy/GLvVyItLjiGrEFp4KI
-RgQQEQIABgUCQ7l+AAAKCRByHrGwzuRJeEZRAKDphuCQVBHnJ0jNRt5gE6ry7Bjz
-+wCg3X1hA3hzleqMay8Kazhx5H1+712IRgQQEQIABgUCRBqs7AAKCRBBUuHxxnGG
-/61lAKDr6KW9NaW7hf9+uQ0+sz58icccrwCgkvm+iYD3ROLubSn7ZmtTa2Xh1caI
-RgQQEQIABgUCRBqtCQAKCRCqDNHu0ItH/tFCAJwL56EGCMAq/ojS4PlLwyWFlCnz
-rACgjKI++vABdNS01zi30QJMSf6OS1uIRgQSEQIABgUCQfwrkwAKCRCY8qTu/+W0
-tm4fAJ9+N/ujThD65SquB2oBmyXsQTcBcwCdHvcqGVYM7/u0cZwY3K+jIAA0F6mI
-RgQSEQIABgUCQnIN3wAKCRDz6FQA1wqv+UqaAKCjoNCBKl+bwWkdTGHuyXmlOZEI
-jQCfVTKpX8xgxXHqv6k6/ulMOUD31YqIRgQTEQIABgUCPxvrDwAKCRDYDvNai7Un
-r5ilAJ46rCD0b3Ywssdgc/bBBUS9kgUzkACguVCo26D///////////////////+I
-RgQTEQIABgUCPxvrDwAKCRDYDvNai7Unr5ilAJ46rCD0b3Ywssdgc/bBBUS9kgUz
-kACg//////////////////////////+IRgQTEQIABgUCQHezHgAKCRBsv4suVls4
-+UPzAJ43hajJMePyTwGZmhE077EeXOtXSwCbB27L/y+tt1DooFNT64/skgJXC/6I
-RgQTEQIABgUCQdHolwAKCRDg0NExEXGwT+X+AJ4/oqNYw44Nxn/N1U10XRpumuJi
-KQCfRJrb6+M7rLOidrXahHwMPkeBURaIRgQTEQIABgUCQjgRawAKCRCvc7YIqUBQ
-r8bpAJ9UKImdTczoRmWQZJPu7niWnc/HDgCgihWFL/uI9cKn0vGVUcFHbeTNEx2I
-RgQTEQIABgUCQj2ItQAKCRD4LlzASysrntXeAJ9JwtUtRj2W8n0JH/wtY0Rpb0/u
-QgCfTcAzoL0d/zdonZ/FhkO37xLul4KIRgQTEQIABgUCQnI52gAKCRClBubU3U1Q
-iJpUAJ4nQBuETnRFytABRiSMDvuK5hYrHQCfQXL1NfJx6AnyhfUbw0lxxmHgrpyI
-RgQTEQIABgUCQnLGtwAKCRDdynmcYUNN1kMSAJ4oQy4OMkrgajvGeJDjQvLdJj53
-sACgiYCiSwosFpVz9oSCuQeZ7qsfSDaIRgQTEQIABgUCQnL5HgAKCRB3/iD+qmq1
-y7vJAKCjoEjo7K1aCa4RmWCxf1/0/Us+8ACffk8KjrIdrDJzVdM5NHXYcD4SOO+I
-RgQTEQIABgUCQnMYogAKCRCf8lg+aBtkaRDtAJ0Wbit7y4DewNZiBCGAsGo66oif
-qQCfSXKgIleO9Fddnreh8vC+Giw8B+yIRgQTEQIABgUCQnWmLAAKCRC7xv+5oCEv
-5Ge2AJoD5QCB1+IlZXc3W4rkAo9YjxWtZwCgoI5I5XPDMuGsJuHSnEnOJnVHSzuI
-RgQTEQIABgUCQnXM1QAKCRC+PO1Hxs6gya7dAKC7l9PQFrr9MyxLqIwSZzKAJk5Y
-YACePNGy/wNgKhMtAzKuHL7jZhLZviqIRgQTEQIABgUCQnZInAAKCRBGxZjby+xf
-gEg1AKCM3tdxh2s8lbraHdWScpUBu+6KIQCfaY/hU72wV17KVG9KXwETr4iH3E+I
-RgQTEQIABgUCQnZLrAAKCRD+qzY2RbLXWyVqAJ96fiAU/WzVe5IDnokDrQBNYLlO
-6gCeN4wtjZA0LYNfdJv+bfqvdltTEe+IRgQTEQIABgUCQncqMgAKCRAN5ydtXgV3
-8l/EAJ9GWZl7Gvl4kYK9i7asA6mIz9QlNQCgyVPu0fzbUigRBskerqJxYz0qOLyI
-RgQTEQIABgUCQndHTwAKCRAO3cXyakXIFuBMAKCMtXYLJmQDdCSzq7qFfYTg9NZv
-FgCbBQfXf2EpHAEQwopSz7tHCuHnBXWIRgQTEQIABgUCQnfNGgAKCRBKw5P7otBp
-NrpLAKCJckctqEq/jDqEfcdHajtLJCznkwCg2sKvB/LlZtkOuoIneZfWx1/nnsqI
-RgQTEQIABgUCQnjY0AAKCRBwmj9gO34W4VmZAJ9SymG9oRHzwTowbe4MAJWTKbj/
-ZgCgrzoZwzz5v/PY6bJr/oe1dTxjB72IRgQTEQIABgUCQnnJVwAKCRC81a2QeT9r
-AqyeAJ49eMAaPQQw8ht3oKZGQlza4L+w2wCfcMvbc7JzONfXHCNywWgXx46YUp6I
-RgQTEQIABgUCQnpNxAAKCRAf15DD8aLe1bmWAKCsZCQraaj3Ia2nzHgSasIlWP/j
-zwCgorjV199hJOvdXBHhwRGyeCXBV5GIRgQTEQIABgUCQnpe/wAKCRB6b+tv/1LB
-UK7sAJsHbW4PC8zevjnWXn40ihmDKVC/EQCg6X2LQ+1XGtzaRhhDUfy0GVAupd+I
-RgQTEQIABgUCQnrUIgAKCRAGUeUmdLfHKrXfAKCeheZcLx9lUd5BUwa4bPYUAxKq
-9QCbBJvviKSYdJxXZNlmld5S8YC428GIRgQTEQIABgUCQn7OEgAKCRA8Y8o/oLPo
-ixoUAKDJeK/rhuKpG26/lRihhVo+64jR2wCglAqCyhcczML4A822cTShr16b3piI
-RgQTEQIABgUCQn8UKgAKCRC4lA5tqXtpoA4rAKCwrHn5dsY/nuRdxDsQPtslJEDE
-bgCbB7qvCrfdAXXYTpHH0Cd/Yi9ysp+IRgQTEQIABgUCQoJaUQAKCRAT3U4YLkTT
-yvhDAJ9fb8ubNZE7PaVVzoO7o9YzRSlOawCgr57n+WuJ4mNJgKt5ZgC+95uzEJSI
-RgQTEQIABgUCQo8wzgAKCRD23TMCEPpM0cqBAJsHXmTB4bzFtQL9YD9+xNRCR1ay
-EgCeO+/L9mNHBDbQOAwZAR/mi0G8L66ISQQTEQIACQUCQnLueAIHAAAKCRC4lA5t
-qXtpoO5/AJ463NgE78T3zHUXvOx6d5Ru+cyXkACeO3VkUyPyQbJIyM9sWEAgg8df
-YySJASEEEAECAAwFAkK3NbwFAwASdQAACgkQlxC4m8pXrXxOyAf4jmnjn7d62EwR
-rSdmF1j/mhMppsV4ESOdIv44tJm0Kw4WOkYZ/M+uE0Ti5U3sQrCoFe7aMSuZnJQp
-XwEd4RlIPjGx26FyI2Pcn8rZsSB7wjarUjvS32pDMtrL3W8V68wvWeiBOnt77OUQ
-3MLV1W6rVTKNCsGhrJwTt/EyjmeqqPxILvGTbDLtlwRrK1NtQZZHR1AVnJ75H1Ia
-uyQUFzpI9TiY6lCALDhIPb6K4UlhI3Bqw8l4Ig76tgNa1JZoUTpyaDKM0qMKkPPf
-Ne0/k8SsxlpDck2tyGJAFQIAzC6ekcUHK2QSlu73wIB8m35dvtahGYPmW39EdYAR
-4rmFdCu6iQEiBBABAgAMBQJBzHa6BQMAEnUAAAoJEJcQuJvKV618YR0H/3alOq4a
-MkPVB4ZN8iKNAx0Gg+cA4ykx3su4fuVfI1vuweZIPRLcGdGKubSjfiPOOpeljuwu
-2/IQv70GHfucaRzHSRuDO2T+dShN+N6/IuckyeH8eAOuF2H2F0/otqRCgwOfM0mb
-Rz5iR7/A6l59zBeL9TeZ8Bd+ZlaihRNrgsjdP1N/PJbkzithXxBPCpE87JHsNVdF
-6yTRQgCG5T6J0v/wAJ4JkS4QGMJBBP2gK3n8sPS+Wo5sH6I8AflJQu6ML2By8pBV
-03S961UU7xXv2ySI5/RhuOceLcxoLoS6xy4yrPtxVs4knQ/b18aSTa4UiiU4saon
-m+nCasQDlFnY25qJASIEEAECAAwFAkHdmv4FAwASdQAACgkQlxC4m8pXrXxo+wgA
-sU34Mms+OFXufehaXjXfphBvlI7n9n4gqX5/ihH9WcP2IKObNXAd3H1HcOelTeuW
-uYDHdJ3yUF+cUN9+wDEzZsI5pYNqFmb3b2BcZMd1a7JItqC8Su3M73AXp5vCNjA0
-CCR5RwukWyIYeZ0GcIqs34NYCOBkT2+OLO0M5FegSUQ0B2UcPnPOSj983+I6ZYDy
-9MCbJRXBhsGCFMPno3kfA5Ttaa2O/3iZwU7zanBjebeGcIbSCWDtKAXLx+cJfyyJ
-JjAQ6irwOwr1Uyrum3JGJ9vA6flmHHf8YRmeT9A3j7UkDMjWC04+SeYCYlk3jJGP
-tXJBUjKiijFc4PGiS/jikokBIgQQAQIADAUCQe6/8wUDABJ1AAAKCRCXELibylet
-fLDDB/99+7DGQsYCwNMAgmmgsajK7Z+vz0s9cyZiLM3pQGdETqsGI6P4wC/eBGvv
-r9QDzdPsEd+nffGD9gnqoTDN1NvykMip+pT1f4p1W69tRt2N/ibrAhaWgZLxVKh8
-XcKfHSjhWbuYg7S1qs2pUIHYsrDnCY9iwksFLHVv2DgiPvg7uoGx0acFsEwud5bg
-BweMrN4BAOqOpTCXAL0zj24iutCILWywKs5o85NoMTEPiyqoM+n0a4bphpdfGBKO
-7je8kJgy2XYrVyVzzewytNNE9mlBQRHBa5FNWEy4dQKoOtlXST/9YvOxZaAt9yIW
-Si2YETUgz/xvYgOBPq2E39iywIRJiQEiBBABAgAMBQJCAI0CBQMAEnUAAAoJEJcQ
-uJvKV618MmgH/03yS301RRPye1+aYDdSgccfZ+EdoAP+uZdXJuHVmBL5cdhBIcpF
-Ryg4ACXiyLx7Q4ztsBEOB780CXswEhT0uTEyKSH2DaTQIyn8Ns/dd6ypcAU1+5Lk
-gxUSMclzX+cSUQwuITuhZ14gQ8Dr7TLLcx7OpyLsKd4wBN8wW2KA7Fgp0FY5h9Ho
-wvf+DUZRtLckMvXYkMNjO5U+Znb1My5/7y/KH+OTIJOf03J4O5m6+XyR42jUizp8
-UdRceXsSvZM3mskyGyv8xfMV4VsAQ6/CPPeoZWu7UY1OFIywTpfMX7s/hEE2XeJW
-s/dOVJYrZ7HZDe8SKfqJuDs84wNsdVKzSBaJASIEEAECAAwFAkISWS8FAwASdQAA
-CgkQlxC4m8pXrXzNGAgAhr8EN9rSNeldhN6+qCyzP2L/f9jd7GLMcuDzGNtzpkzo
-q/WgVWs/SBe2uZ+uLNXdfcDG+I64fMdaji9UDqdGIybH/l0Ea2AfaLdR2/LYK2th
-kfNWmySvN9sgwWaq8RPEKchRg0AsK1OKXjLByDPlB+vA81ObcjjhefKii3XVDSYp
-2HoRXfSZ/Wc0/5JQKXPV5zdZBqZ6DAlWn1G+sSdXCZYR/X8s+m8VmT1qx9efWcnR
-4jNfwQsgIbUWY1Fo7/tXGJ4nKywAk4LWZmM1dUkQyI3AZHNyPSXsbJoksAoQRFVT
-ESn7PkUPsjOBMp0m3Uh0OUsUF5MgahqEtHQldXVEA4kBIgQQAQIADAUCQhapzAUD
-ABJ1AAAKCRCXELibyletfEk6B/96IIV790+6BKmKPY0k8KJ+d8kUN2zo8sA5nIUe
-0X/lEsIhVCIgjwEcPp/2Q3Rx+EV8abqHHjG2VgF4x7wJtKIabQZW/OQIS1snZe5j
-66OTJbPPtLvFImdGQuy5uHHog/3ZaNO5EmqchaTsZPPhX1xbhXJlQuP4EXJ9+s1u
-14LPaoZBHU/cgqYs+lOMeOHAjx282lX6X170x50PIubSz0B2VvO3rN1u+CNuLMTi
-Qz+tv5vePNEtCmR3Hj50UnxkUe6r46fzA2Wb0YGNHbfbUY9nbQ10B7WUw6OaB9fT
-j4nO+rS0ocw8txEziJXAeBOeIrSOB+/IcLsSKCjpj2J9JGoEiQEiBBABAgAMBQJC
-KYicBQMAEnUAAAoJEJcQuJvKV618ioAH/i0A1iVSAMZSakBcBR+bP8iT3uLMoEkY
-zWSlb+R7q33LQwWXgjix9Y/GyqFwCsYHDkFXBm/fYsErhRVDN6PLMWs7VAli8E9B
-uOa68VDI+x4rVBUYvZ/KGP/7OavdKY3D/ZERSaP9m3wdEs9cdeSPAqnBhMtC8UkS
-huUWUYwbRN5Ib96Gzwl3R0Z3WUKloGK5vbMchleXUXUUclAeFe5lJCwX2n24KCQJ
-UWE2n9ervQHL9UOJoRedTUtOWPvJTTp+moy70NJJGgXstzcFHhuDxH4Y/gqj5hzp
-UXJANq4rmkohkiNdBgV+l8RBFqNJ6yitRnwrYrIj0h4his/RY6cGwleJASIEEAEC
-AAwFAkI9SRUFAwASdQAACgkQlxC4m8pXrXy7vwgAylGsb+kwxfkl/fxTDL9Hlcwl
-Ek1NnXNmfbHryHh6iSg7PUvmrCFQ2ee+IUZcf1JR8BALI9gb093fFhWB7AxD+JTi
-Lh/9AMuYbHe5fhDj7v1V+Nnu7WTP6z4Zqzt0UHDqdpmpy+uq1Q8Cg9k+21UxQ9s7
-mW7QBl8d5SOtb2XGiwl/HSUTv2tR572DYyGc9i+K9C/hIRtpnpJSaZjV5ZT6I3Z5
-XA72cfCCVU/FeeX7p/v6FqSEbr9/YUxbLt4eYZl6GRNDean1G9NIcZf0Ihi1fvuf
-E8/zKNKUaf+u00TmEMi39troiRrEoziasITG9e7L3m9NgQJsxR0awR+N1DYcRIkB
-IgQQAQIADAUCQk/AGQUDABJ1AAAKCRCXELibyletfMJBB/942fArMQnRknXJZw46
-Zhz/JTErKo1O1zCC1fzKgR8y+n7X8iEQsgWCoeFljpoxczzYixL98TSHXCtrXNAE
-QIkIo78aufJpEgjEzX1Tgirn3RLteIg3kdzUwX5M9ZganWS+1VgzmycQs9UYN+tY
-iTz3mN5bpJlK9Au8KjsNGRTMzR1pLUjc5eZwGWRN1HAJECqtsD0w0HYlHvGY6yfk
-T9MVpH71BnK9pOorpJ+hTGD0Gw2O1k+pK8UBE1y9MvGK3K+WoTFihUbuT+aqf0KU
-5QwPKrwvQe4yUrk4cpYjWIPBjhDkIll5yr19a199C3gsFoXcH8mbmh5AbKkj210d
-PgXTiQEiBBABAgAMBQJCYiZaBQMAEnUAAAoJEJcQuJvKV618WboIAKLLpzY5c9yV
-g/oOdwlb9tuQtdUt04R0t1wYeMYxed6Brx4/26fpXHtxUh1JfsJtzBpVMHBxnas0
-qWfZHywPyeDsXpWeSOYjGfAyGaN392e0ZtkPxWIx1KPaqnO3IVkg/D145De1A/m8
-Pd6OO/97ngFHg7C32EuS3YEfWaEcCo23qy/AvoRVbVmqXUJVC4aRDqg9rIl7juMF
-C7oysjjMv7Qi+yLS7BNSRmO5x637Z4AZeJ0p48npd4HKbJKMXqmUBSLFhzUCMA0o
-BeWxYld+sIHNW58tgkJuFfXQhXyY6dh4foh7roPqhIvI5lyxq0ZJoW76UrC0A5jI
-t/qGskU5ym6JASIEEAECAAwFAkJizvsFAwASdQAACgkQlxC4m8pXrXxG0AgAk6hi
-/JhLlElgbL3lL5KNOyAFssCcVwwrNufMHstpPJTFft1I4EGJpUdZLr8wUIvgxI8I
-bZDEWn/J+B7uqFw+4iAdi82rTVZDqv62usotnXs0y5GPsPbWyICyDrmwSYeBnL7y
-pDmXYu/Bf+H0Nx2ZCsw0zSIpHhPRc9Lv7q/ZJsGsxtF9FDHRheRf1wuZHhp5Vvo7
-KjSbl/KdezEOldULsZrQmTf1rTanrZnaYu+MSiL6A14+e9HG1OgykjvS/oQoefpy
-gdkbvkBKirxMr8hPE2kUPc57FpQUcon5m3TcMh72NE5g9INPXlDv2j0yIKVaco89
-suxIAF86AV0D+xMYxYkBIgQQAQIADAUCQnU/cwUDABJ1AAAKCRCXELibyletfK+H
-B/41TRknBVogdw63K9HNZkemH94eRXb1Y8bvw7F42oH0PTpcJOECphlBTzV22RnB
-zH7zUt7oGM8FmuTCKbTds31B8Io1wSnp+7hm+2oLs5l7YhhrkjpBaVOisPu3zvwf
-PS8Oo2qNBHp2TRfdWeP/dKlN6Pg64tzl49PJemJnhCi/Nse+zHr7Hm10jZAvQ7Sr
-+JgJ/p/mhX1+L4xYqq2gqHzu0g5V/gOpFFyy8zsir5TyZViqSrsFtx+9usPAc2Kh
-KqUXp2n58jXCW6wDKLy9L9plxshG2sp4RJ2cpi/+vz+LyZnoAAEuU/H5OxXC3izI
-hn0fIyv6cVbmkoQkCqNl0VWliQEiBBABAgAMBQJChxEXBQMAEnUAAAoJEJcQuJvK
-V618x+sH/3cplqFvGUxbm1oFFZNmp1aXy5im5m5cytJL9IYaiJtKuBPyAzUMzFLg
-jcF6LDDhCZ/bPitecpjIQm2iNBj4ELqNot/UJdgRbfikN70dvuDWXeegTdhEPAXR
-pSYoR5YDfeJeJT4ldxB2tO69tT+KrQZUaAZUceJjwsoZjXJa9aBWp1ecK3RRKVrl
-CKqtApqZqgYk/RW09vogrvIQEQqjzclkIp0SQ/LxwTILgoy/bIMJZH2jXGgmQyXm
-a/VT8GaNp9ioQ19nkORlHJqTrV5R+AeTmptGfJjGYZPhMO0wPU8I3aOtL5js7+PX
-sqKc3+bqVXVzVObIG+x3aamHo+DkW9iJASIEEAECAAwFAkKJtlIFAwASdQAACgkQ
-lxC4m8pXrXzNBgf/fJAoz8n7mRXeiBlSF0XFqpqrIKe0Hsl2nrSlRbUeEKMPLXOU
-oFCuE73L5SBvT0u6xrxFpEVegPfeJ3AKlcTZYulA5LJSMsKTwcDSwDV6FjE5wEmg
-1WwJ1E6Hw9p9MdUB0TIdrQx46yirymB+J2gLGnEMnjaw+3oVRCK/N61t6+3owX/3
-c6pN5FZfM5NgE+oN6EKTXE/teHm9B0OUSmq/xb+Rwt+xvMGLOuoh9bhA+nP5GvQp
-xKPBeYbz+17dSV7IMBbWuIHCrKsgUP8ERScHcCYY0xjFLn2sfWExIiIHog5OGiob
-9Wq0dwgQ23/2uX/zTgb3eqjWFmbqDKez9M+cYokBIgQQAQIADAUCQpuB+gUDABJ1
-AAAKCRCXELibyletfLzGB/9U2WMBn/SJpQA32jrNYOVsczX8dvgzJUA3dBJpOjBB
-nP80ikAyEkzVcHa1xfoq2hptEdzwmaSYfYRFHb4oT6V3SvjwNYtyDBkaTqxdKW+P
-Vy04fj0aGJL/cxLyMlYUybNo+cGxHfVwJWJA4VF/N/IPyx1VLeqTQnA7Brl89/ji
-9VkRXtfLMF+WfY07XuAxQEvP3pShDlHzGMhPmkUQmdHlnBRgtLIZZDMZhK6cxVln
-qudqR99MyDg7yq26ESjybrtSxCypF9xpa6iVnis3cMKi3S5Vp98oaH2Haof0qNJi
-p0bd5GKe39xyzlzyS2xp1YpqELqy0Up9cADkc5nKsTqhiQEiBBABAgAMBQJCnNMK
-BQMAEnUAAAoJEJcQuJvKV618RREH/jMt5I8jSpnlaHxe+B8eJA1Kl/kG77Op4s8x
-6BljyqiXXDHNULILfBmC22mvEpTvOyxiWh8E6olsFTo9epgjh8coYYtxyBXKRY6B
-y6F0Z16BG2vmByhkySc22GVJNEeZ8p849zonBSG50uHnttjAMlAS2duapzhhhI61
-RQ+4eF/TtPKghZGu7eGXqWR8ztVNaUNkvhu3nZneyU+OEZKn7LM0FY2oO5ZqnUGV
-O9/HtRmLUluqrmsTfeMJxMa97n/+zIFKqx7VDIwA8SV0qMbnFw929wtKTG+Av4jU
-9Mi+WjudyC/DYQM6Z2aGj6Jzq9O8yG/vzZRW5UQ7UB0o0RWKOVmJASIEEAECAAwF
-AkKv7KcFAwASdQAACgkQlxC4m8pXrXySQQf/Vf48FIUYYVflloKQj/rAMyEt71o/
-qEEt9YfkhPg+vpoe+EWKgGatxpc82mHf02u/Q66kpv2jFvrN/boVG7g2p89f8K0V
-+UYT5b5RREu8z+DaNPSwb3VCCZ6eXIjPyfRvP6GVBtbWOIZHSgHAWYuKGp0mVv42
-SVLYRx94+gp6AnnljQTjkYA/u7hDYUU/gqvUQlQL3QPgjL3iDGlkxC5Nwv/NMnAI
-8Z7wp/Ol8++77yUC+OhsDhP+9hxXP/BzVhSWzXFlLBPIYmJ82Rnc81YGo5l/4QuB
-noIjuDMCb/fydMMRpc+L/bgS0Cakqm0G0Ovi7h29kbJqlDv6s31t7fSjz4kBIgQQ
-AQIADAUCQrSPawUDABJ1AAAKCRCXELibyletfE6iCACsegwbn+aU+gmv3qYxHafd
-5coPwq20CnY7Db6iDeCytcN+IoqLX7v6fSUQgW1lsQDZaT4c638Z8I77OIGdSGA9
-ChuDk1U9pe36caHAHhDXkrzHv7w3tDrRnpEj0GJyo+OmPz018OFkzdpI9Tk775Xk
-jYlxJooKEnTbggo/B4fKclSoUU4ADBvTt0P45E7tWlr9uqvN87yW/YGy+O6aDxM8
-Eq/8vrgZr7mYyE1M3ZINvaFg5dhPWmOqxOUqSt/SORg/S/w++uOTPeu9qf+yGg+B
-jYNUJ9hIu7a35ruE5e3asQMPEMup8Iurckixorh1FKwRtcwAqjegDDxn5dPTMuQc
-iQEiBBABAgAMBQJCyQdJBQMAEnUAAAoJEJcQuJvKV618OOYH/j96LP1Mvdc2hqkE
-fnsuACOjJ+onzupaacez0jgXjmoRKqKLuBLCPmWModmzz0zR4uYWQJNBEGvZRBQL
-yIip3gTa6xs/Ak3bI4keX8q9W9uiy9pzu7D3hM1asGFOruwNtgwxst7ppj9NUkN7
-SyRgR4qHFUm0YvY3ZvfHA78u2zLK00D64rmG8VNddrymP1TASYq0TFNZhXSUyfIQ
-xFk4M4axGB9KfnYNIFUJjai1ZHw1xYVm2V3gsRcHBr8UC/MsuZNCfmzH8uZN/pWX
-icFYqNwj/Nmp5Iio111gBNbqui0FzkeMseM9K7j5iHd4SbNykTAb1TQ3goPkdQuM
-m6TPTXeJASIEEAECAAwFAkLQ+IQFAwASdQAACgkQlxC4m8pXrXzBfQgAglVzFEla
-U5BD91ZfcU8pq/pj96VnHoruSKS17Y1reHt/Fot5qG2ocYU7FQv7ybF649sWLc13
-mFqNn9n01fy5FgaDguu/XeR+IDyXQbduplBZC0bpU4RLcPxr+esjNyckQR0TlRr9
-xQv6AbJ0BPr7sFgle5ntZTi43KnHOaW3SmaZPx2VST29KoHPzJj+5PrT50WavQHv
-55kUGGJVF0/J47pSMH8HJmTld9O/luFMhg+ih1Sya7i/jNYIgFe4XxPAzNKPweyw
-VobvpX5n/ohZTjctmELz7+CBQn2DKrpCr43TXqkR9Gnr9nrUOAOIctg6dpaN6VG+
-N4+l0winEbGQo4kBIgQQAQIADAUCQtGddgUDABJ1AAAKCRCXELibyletfNnhCACa
-FcXOPg3JBbBGeUd7fIc0hHSNZO7yi2h2uvEPoIGfRZb82NyoXErWpce/N+h0a+Yv
-8xiE35k3l1ZtfuFlwcdjCa9hk+yZ8hUqxo+e8AUGa675JZNcm366PylUW3iPmQMg
-d+Bmi9DToXAXkWjq/lDUNRC0mvDdYPC5PyQcfm7350VOP6tb33VjLA6IYPwIiPvF
-mMlXujFV0Y85KPugpcYLrInNelxcJYwQu0YMsfUNEMa2MQA0TOSiB4NzsjVk3Tbn
-r7OQXhbukVRug8nkNi3jYtGo+mI1suq3aaToneM8Y1JYWw2PltEF098pLHH/ee0h
-AmyC/r6MBFmNIyzNHQH3iQEiBBABAgAMBQJC42W7BQMAEnUAAAoJEJcQuJvKV618
-ZjkIAJzDKDIwUWwKRNL8pWYMnbKDGnF1Avw9U2+5VpodhismlHJxeRBel4ZyL1EY
-u+60V0CliJB4I4wxh9UULVnjbH/fTVf/o+QJ6hfcZAY/IXIwSVzz7FJpe5V0jeXz
-EXPwvILAGQnZwH3LEJ/lza2BR5e4FvSKGugmfdXUlSuUG192SCFAn8tpAd8PXrwi
-3aDhv3REsL5lxF9nfRtOPwMxIwiqAh8XgjEgJ3gbbdBFkfWf7Q4lziE/1rDUs1W8
-5OTNleII/eK9fdWAsma5qQqSdsDuR9/eey5XCMIhv/lovIYXzZjGjUFdJLMix/uO
-rlvG/cNIpy488x+yCbDSeTrM8OqJASIEEAECAAwFAkLspEwFAwASdQAACgkQlxC4
-m8pXrXwx0wf/f6lej0+Xwqppwfdxiok/2dno11mWeUCDhCX6j6Vb5lxLemBwQCBS
-u53V9s6wcOT3NzkwGbl9Rowasihcg/pC5mg1o4I/mMrU63yto3iekK+0vneubm7j
-Zw9dY7aLzFdQm1SLnX2zJiC8Fv0zAJQWuiS0Bsj6MZl8+in57BGUi0E+n9Q4+qnn
-PVS8UBO8f+d3xlsMnOSf8IECCN4QqkI6d/RuKszBA40UzQ9JoZVHV3Kxoms6yJHc
-DI24xUkVqmo5E9qRdLt+mRblsFcfQqZbfc2v1kYI6+0fvkF3cFNOlC24c2ctN80V
-eMr63neRBiFSltaTCBT4Rh5Wu/jLTBL82YkBIgQQAQIADAUCQu1LBQUDABJ1AAAK
-CRCXELibyletfPrIB/9NEKKNoNfA8dscM1MN9hlITxbB2QDgm5jj1Cv/3lskBGUw
-GoStC8szJv8etlIxHnKafGglyZXdQycOIodccKcieZigsJA7ap5PdgAQUG6FRQRb
-tt7+hWx7FYEPDJsYca5FYEu+7iWHtRNu/lNjSJLmDbMTrmwP2BOglqlt2CktWWSU
-jJMx35OkO4G7TBO85EKnepm7MTtVdPr7WxtSOnsBlWOKk5a5mDSRIrofhBumhjwj
-NgGS6pAyo5MxJspCH/tUEocVMSDeHRgngD9GbfMC+FvssbgJI2barzvkHvuXBSla
-bf8+IF5WOxLgBE7SmeBAcC3nphEUm0ZE/qyTXYVqiQEiBBABAgAMBQJDBw4vBQMA
-EnUAAAoJEJcQuJvKV618IYwH/3d5XhOyfHHtqm8gceIBiy3WU/TYsYfpKBTYDkYa
-IYqOxI1DVIIIsDvoyUvLiEc+0mvnyKGCyZGFOYXxlSGGwyoDz3ABns4eEp477BqF
-xCN291aP5f8GdHOqH5jm7Wv/OTwajuYt+KCtuqQZo89070hmo6JN/+okI81Wa2uu
-ZDNnlxjLYtG6NVrTzg3thvouohzH5WHMuhWahF0sc5tRhbG0NBoF57zNEOL5P13G
-Es6skH1evhqJ2Yq4yF7qtITrkuAPvNYoTRrsl2S3QbWzgoE8cp3oVj2m5OZ5KV6n
-aTdKmuKbWmDNoh1F6cMZJ7OD+oZW1WpSWhrS/j/uNNUWiZeJASIEEAECAAwFAkMI
-YnoFAwASdQAACgkQlxC4m8pXrXyB4wf+L7SbCUfqQJB04bM5e5cgL8r0/wOqAJsB
-2XZssSrgSZrxJrZbZuNPdjemexR0vyA0ZaIKb7jykJnnMgRZxuHYAPcctw938BQ8
-LjYMfuvAmv4Sfs937j7x7IsoEff4uIl+ZC3000i2bERXgUbiZULx+PFdg8cdAB6o
-ZUbs8Jf9fg6/qP8sz/Wo/DhHW9CW6sSsccVfORVTiHTSGA71VYR2R+WFBi9EVl++
-1puu9yYz/dWc0m33Fl2R+ehiSV0xiSQnHSpSYMUdqViPsa833z7QTvvzh/9sWNHm
-28TRTdHLEXYQtKTcCeRQl3Tul+Ch5cU8WUqPN9DIRk1QNAro4yp9rYkBIgQQAQIA
-DAUCQxBNOgUDABJ1AAAKCRCXELibyletfEYKB/9GIKfaAtg6rYVhnruE0JT+c/zA
-M0ncuMiTSDOr/WxPE6ABpj1wAyrVbyTpfC75jyi7dLdUkzjaj6A5URtIurl4hlra
-oX6yVtx/VIFlBQG9Spuf9a4va/frDAF9sxorascozjvYD8F3o/5lHQ06ZsWCENI4
-CO9zSEVV/E+Jj1njto9fl4HPF4IT37xCaNoi5rby9tnaWktEBVqn22o3TULQdZet
-SYEfG6sF14MOMXfkfkMoV954tqVw7as5A3F5bDiCsNQ1eG4g2Zytw6Cl0NSQTXOs
-gZg45uam2ZohiCV+FuItaj/oETzdZI2BvJV7DYTNR5SNKlzoxhfT4AAiZc6niQEi
-BBABAgAMBQJDEPMBBQMAEnUAAAoJEJcQuJvKV6184vsH/03ofz2nVb2a2f2Wy35R
-k83tsUOeGbbxwOfV+zxOIeNhtsdRdMB9Ij61R9EUSAXQdcYDb1LWTXOS52FdMI3E
-UCax7/JY/rE25vwHn4nkqtvATLoTclw+geoRfDq9E3fqmJkdd5lsCsvbvajodQa8
-8hQQ9h3hprEy3axQNWdTg2XvszOJ1TVe/dOIzi8NIGpHSC8sl+8513Kc8u/14TSo
-Om9VceuLfmrjd8yw0qfbYCytkLPxLT96DcQpE1ARiDe7kd3g2Fe86zCviHrsA6Pk
-dgRPp++evAL7AAbTodXXWexST/b7hkHlT2P4XLKvjrThAUYE6Z+TEYsFiomSb/pL
-zWGJASIEEAECAAwFAkMSQ9cFAwASdQAACgkQlxC4m8pXrXzb2QgAq8v2+SYhN5YN
-cWApllLkWzQezrsZ8x7CJ2fqrvpVsQzJulyo5RHoz3DmiYUr7+7/IcZEQFc9BuhC
-fOI+Emu26QoQgqHH36bzgAfOgyVUjQW9PqCsBWNXtgl16dU8p8TeCD6+EPktY7CK
-cXwBTRQVrWlCuKOMwkCDILe+hcNCkJzjLq8I7n3sJulk5ti75Yz09B0zZTDX74zS
-lleh55rj6Mff1Be/zkTucWqv3oHKUwVHylXgkgiyW1J0GHU6cky2sPjh4GvovvBw
-V+4uHlJ//WARK6Fmd6avjpByvAMU8lxiRcQrTQrFSEFzBOkMhtfFiGVXg0hTLuwf
-3LEthKf++IkBIgQQAQIADAUCQxRCLQUDABJ1AAAKCRCXELibyletfIKgB/0fuFUy
-r6qnJD/XvAtnBvEf3qCDa82Gs03wqZaEPTrUqWmX9b15yd1HNyby4c3/x5U7Fzn3
-QN5LDQsU6pT02LfLaPSsGUQu5DGm/j9g2tEfOSfrvNssZuIFCx7BXXih7vrkXX9H
-SHVWyJYsJICECKOkCtEv+eOAIXpSx8FHdPq9qSQpJGkbg5V1Zm3JfqvwdwP3ztnM
-GBFDhEBy8EaG9cniFvh9IdOeifvCB924ZIo5XPgzx+nGgAbCjmta+Ab1L3m4vyIv
-CXept3AJOETuBuy88gQ3+50d8MnYvtn7wqCUfHF0DO9TZpvqREqgKJ/p8d8NXVh1
-N0lV33N/u428pR66iQIcBBMBAgAGBQJCdz8TAAoJEAgUGcMLQ3qJUgoP+QG34II5
-UiH9I+e/ZOv7MleAtJWTopGFm/wlt5l4e0D9VvaZJVFGa4QBxybX1R0aJBYn17lJ
-I57bULrYPrGb3Jir2/Wu0iI8RqaJRhJCkd+Gr8t0F4clDTUjQpf+/bKhy6Ax8Rd/
-DuDYNUdX5EUPVorjRMXJicQ9hYHMT5vQYtI83yC7fFKF6Et6nckCX79dXtFNZpsM
-2apSDsw6JPjyUMqjZ0+MBibW4VKjM0Ac6PxsjvH8JCYgo5AW7io/qdF9OvqE6JQ8
-R7cKr72cXQi8JAlCM56HcjOwAebpWwSE40S/LzP5KB3f1KZQLxlrJlN5X2kcGh5C
-CSYJbB95qa1JOP/5ZCk4Jf5s2K5yqO1yTsEgpMX6kYQjvfSbLZlpCR3ZV6we54PY
-HXJCdW/Pg0rCAVjTiKPohjpinaw3hM/rPoynUfGB7puCNBLv9LTe9NL/Nwq8Tu3d
-rR/cTUd+JwmZJdCkGb5F/vT4X4sGSaWMjzs9JTF16JVOZg+BG+xftBAQWISKegw+
-BtJNcS8oNhYh2PKLm/S7X4eaj2h/NJ3c4BZ+qG3qyedQ+VbNvi1HlA1xyHjfoShQ
-JSfL9XxCjbJyvl4BZ0/Jt/+pqRwHOmlSaIGPi0cTd2qfWvnuoMXDSOUYovZ7iFsu
-vFOauBpI7HY6uelPpae1Vkex7CxQ+HBYWMi8iQIcBBMBAgAGBQJCdz8TAAoJEFA6
-oBJjVJ+OUgoP/0qY/dla4C4S6ItcbViz7ptrjmos87/aCLFTfGqw8Z+FnfO65ntD
-/GHsJNW1YV2sdQC8rwPGBWSZ4r6S0F8GSfWim/QIDU1Ddzb3U4TSd6EMGn8QN2bI
-sFJcNhIUN4Rw+hAP3LIvJySFbLaX+PYH4a28LpkmJ2QOEpWK5Rp3yNJXCd9p33OQ
-8+5WhiabgEHDk0yZrCERYfMVyjhOYQGIHrFS7w5kLkgLP5cOQz55m+0Pm0hs2+sr
-nmQnfM/vMWr+K6p3uFQd/DrAbLdjOQb7hrC8VCbadI8XENbBMETCXPJVLuGh71CJ
-HQQX8+K/4KI9xlphJUxDqCaufn6u1gfh31HDcoN8rz5rz5huN94yNDL1Sns+aPqG
-uKPfpYJ/d9OjrXxiP9aow6lR/Khmty5Qlv+3X6WSM8w02KM66+IKHi8SmMkZ7DqY
-5TXs3MeYk1xtNdc2tu9VI0mhO0UiI+QOREuD0T2LUun2FiF71HjJo4b76TWouSFx
-g5bzNyJROdmHPLXozfJjPTED77CpexYHGnmmfTDTkAxeYNxZJqMx3IpZXyc9eFHc
-tsD3P2kLTk6xcqRiWNyA5TRWEdy27f2oBR3snRVRJiudBZ4fDGlF11nEuZsCoM3+
-SOUTqnezUzLExIfaCE3eyLHYvsjdpXiOW1xXLw3QlfHbm25awj0mqT8utB1NaWNo
-YWVsIFZvZ3QgPG12b0BkZWJpYW4ub3JnPohWBBMRAgAWBQI5PCLgBAsKBAMDFQMC
-AxYCAQIXgAAKCRCWJIPhVmLHNLTaAJ9hNOzeiwjWjFkzp871bkNEaH/ffwCeKkqB
-Xm+MgNn8x4jeJSAsmLnkV8aIRgQQEQIABgUCOcsvhQAKCRC/4SBlayFImgKGAJ0R
-sxryx9cxnBVh8/BWFyc9G++5iQCgnK7Mse4x4xwl9l+n2sIqj13yR2iIRgQQEQIA
-BgUCOczgIAAKCRDeeq9ulMCcf7VfAKCr0J1iWCUOW6Z+p8nsWnECWzqsLACbBUfH
-+uddjfI5A1xPKyuKI8N/AmuIRgQQEQIABgUCOdJS5wAKCRApXKqUbOX7VK98AJ0c
-4J0ZJH8Yqf1pF5AM3b+wzkCqIgCfUVA+624Pfy5M5MDn6HAFff8W4o6IRgQQEQIA
-BgUCOdRMnwAKCRD4Xr9GJY2HgY2gAJ9yVFmle7azEVP/pAQK2oj9EWV+VwCgi6cl
-O2WCkFjrUwh1XxfI2/U4pdmIRgQQEQIABgUCOgHOJQAKCRAfxIHP7Q18+tGoAJwO
-znBmhHke4Slp1KRE7gutjkhmqACg1OApW5K1Fu2e2qck4UHUV13pa/CIRgQQEQIA
-BgUCOi4+1QAKCRDcE+VOq5tm/brwAJ9fEoTskIB3v0+sTgY+BFhK0IkvpQCgjsNB
-skt1HRw/7UOU4/U/Eo5dy1uIRgQQEQIABgUCO0BqFgAKCRDndeMk20Gzh2KSAKC/
-qjFreYn4n1oCEU9ohUuj10zRvACfeHSqn1KNnV+bZrCUIhIFdsVpfmmIRgQQEQIA
-BgUCO0BQugAKCRB5Fi829/aq2Tf1AKCXVuHAHaDkDcqZdIPXlATLxZ3LDQCfSC+f
-XSfUIw126OiSV7N92rBpeviIRgQQEQIABgUCO0CtYgAKCRApvl0iaP1Un1qZAJ9i
-Ls4oQ2crdZjeCGMMOXHN0hP+9QCeM3eCuH7umtinTWSGYAV3FC3hjxKIRgQQEQIA
-BgUCO0C46AAKCRCZyJB1G8TjK6lvAJwLu++3heukjbhtl9oni8/53a+uygCfeJAM
-67FQlN7osr33gA3HcmXcYYeIRgQQEQIABgUCO0CLjgAKCRBgMFsxwJ/TWp+CAKDD
-22lET5do9L6N36OvMD4bDBLISACfddEotCwBUYo0M5xoruT6LCmJfC2IRgQQEQIA
-BgUCO0CtkgAKCRBdK6s7rrzF6NFBAJ9KIE9LOBkQmemtNRA4xiVU0lxjVQCdGunX
-/dtC0QuTTVg05h3MlxkMzUqIRgQQEQIABgUCO0BKjgAKCRB88/WvKUmfYXuaAKCv
-1ASCe17B92/RwRrkY2NS+PN9VACeLXD1EqWz8I56LuTkLtDIO+8P5oeIRgQQEQIA
-BgUCO0XX5wAKCRBDVVPF4PnGNP/1AJ4/Ks+5i/cfsNy0cHTWBb8AV7PuNACfQMiJ
-zYFyi5oHTVU0ElFGSPeajtWIRgQQEQIABgUCO0FVbAAKCRDXWV03S3KWJaUqAKCA
-Lemjsa5yGGqCkvZMZGvrzBkTuACcD8C8YJneGq1utCDmla1VRZMRQLWIRgQQEQIA
-BgUCO0WfPQAKCRAGBpzylpRX8FN5AJ4h+rSDaTZRx1XZ8mhyzmAWE929iwCeK9MG
-jMJ9aiocfQC6/AOqHvdDQwyIRgQQEQIABgUCO0m8hgAKCRAOp1a1FEhD9ZThAKCa
-/cS1/y2fXr0fws5hVnjnYr8BNwCgjTnOekqzSKg7cSnkFnm4u2n76AWIRgQQEQIA
-BgUCO0bGaAAKCRDyD6wLe4NX5ckfAKDB+5OHEo0iXNEX1gtgEPZ9WVPgrQCff1uF
-zeZPc32qw3DSLcX4uJFIb4KIRgQQEQIABgUCOzHW1AAKCRCLmMiiG+b9JZceAKCf
-2r/8ldyhCZrANdts7jHUEflaZwCeOZjH/RywKe2pPBmKZ5jlDnxxFCKIRgQQEQIA
-BgUCO0sVfAAKCRDApMu5h5eFaczXAKCJVPLjpBnXtWvqvkJlcM4ZTRuKUgCeLJPs
-DB/LUSSZ80lSGhStDdyuKveIRgQQEQIABgUCO01jrQAKCRD+mh7DZIQ5MxBqAKCx
-hrkGd+lgjZFOxMPrKPXf6pAw7wCbBp7IE92Sakh9OHjL5Zfv8lS86SmIRgQQEQIA
-BgUCO08mDAAKCRBd4kmWWwNYonnGAJwIJqHLwkjbbvzN5iwyAWJqYN5LpwCgmam/
-autAJiLuOMi6ui/xhYFIGtWIRgQQEQIABgUCO1ImOQAKCRAk6Z8Q2z1E1L7RAJ0f
-f+syNhDlD5b1aOUCh/p0M2cqigCcDzqivgOibvcBiaOGDwQrWC/GRmyIRgQQEQIA
-BgUCO1K//gAKCRDx0szISXoXbRVmAJ94igioussKa6NqgW6gA9hNO4szpgCgwJhD
-4vw46Mgw56cxE9UmugJm1U6IRgQQEQIABgUCO2MZAgAKCRCPH9/JvOCUNlSnAJ9D
-6dCfCoSldhVXOAM16Rnf4yE/kwCfWNP9q0DMccuSmw4AWMMaQQQeVqWIRgQQEQIA
-BgUCO0W1GgAKCRC3NaZJ4LoEwYRLAJ4kU9W7+M7I3MI6+106Pj1Kavx12wCgmG0t
-/mDBa3UJEORfIJobrhkRdCCIRgQQEQIABgUCO0gJcQAKCRDckT2YXfAxZwU/AJ9C
-/aobCIQ84dFYYhXLgXfaC/bN4QCfSsQB5lgZfBw3KRXCSVpbYNShoGSIRgQQEQIA
-BgUCO170cwAKCRCl8nAoCRep5JhdAKCU/BtO9wenJl+CJwbzx/nmfboF9QCfWQRu
-kBcyw3eeHOdh1L60LBn9V8OIRgQQEQIABgUCPAZt9AAKCRBvq6u8NX0heJqgAJ0d
-1i5sQ44UwNSaGNyWJAW3HRAFmgCggL5clk3sVTL+BZ+HA6de5tskTzmIRgQQEQIA
-BgUCO/rdMQAKCRDvzgtgBCVtO2vxAJ91pytlW0Kb8xkgWLIgc9NyhuQDrwCeO5Yj
-5MzTFLEQEhs9F1JV49gZhsiJAJUDBRA8HlbLgAYufOTUfsEBAfVGBADRMwS9JPfa
-Qvnat5WC7WnHTo9t6EMGHnufsmzmVjvd0sW8uxEkcpYU0lKOXIi2yfW81o5uWnWe
-tfCjCoUbBFXzIdWNXm2iLNYgiGxYevLxNmbizkN/v/Vu5dqOHvMQjAqiZ0CHvOjL
-rWHF9Aql6Fvetz6ydVHflF0aqS+W26FalIhGBBARAgAGBQI7UsbgAAoJEDv2CcaL
-r829JPUAn2tRyTWNo/iZvsTePHFYEw0cdXQ2AKC8YzE3R66W31nL9dkIlDP9Wuvl
-UohGBBARAgAGBQI8HmtDAAoJEMN2qNrxvNtzumsAnjdJxYxss6ezKyN+NQzC8yjj
-exQjAJ9cpnxsKd0x3oYDkuGvUfvLSbw79ohGBBARAgAGBQI8zqZ3AAoJEGBSKFyo
-d9l4lEEAoMag4VemiVIw0pKQrKKP8UYMRKbgAJ9wD+UwVz30P+/Ah5dkLUR+1CAj
-74hGBBARAgAGBQI8GkFeAAoJEAK8QrdD4l0eM+AAn3Cc8Kh4Z12bD3V+GftCso+w
-xNSbAKCNp5uBjbmCggQrt2nwTQVXWZOMKYhGBBMRAgAGBQI9NyQjAAoJEBJouCi6
-/ojlbA8AoJOEW7XWMQ4YqNzI2xvefZ/Dt5EvAJ9e01m3VZohvmaDVRaBwnZCRji7
-zohGBBARAgAGBQI8/MBLAAoJEC9Lo+/3IcZDxs0AoPbZzzlZ9OlqjEJ3MIOd4jI+
-OGo3AJ9WGKN3HDpbjdVGS+RRGPneNeefa4kAdQMFEDvwSNplgXSeA6P39QEBpFAC
-/3yywJap02KDm0L8fbajdhPi6k6iWmY6MrQNeit/Gd0ILbyDFu02vrAygqJmAayg
-lsKFCZK9E4efJqmkqBy2mpJ48kdOlxnfC6j1yzmJrSJvN/OhkMK5OwGIMBk1URwd
-IohGBBARAgAGBQI8/1pCAAoJEOIIBVtLZtmRfb4Anj4AmRogOSt4KWhO1IcHsT09
-Zn59AJ9wjRBhA0sy8eQ75QqeC9+ziL8TpIhGBBARAgAGBQI8vIXvAAoJEPhZkLAk
-iutz+KgAnR7QSEEQZaEusbHFEUC0debIe0yeAJ0clR6cG7hB8w7BB3sDTdvEfg8L
-A4hGBBIRAgAGBQI9oYxwAAoJEI47c57dK8ydSWsAn3Qy50QcLfDICTvG+nGTlVbU
-6+FiAKC/5JAKdzsbffUw8CwD02jumwXoTYkBQAQTAQIAKgUCPo2zbyMaaHR0cDov
-L3d3dy5yYXRoLm9yZy9ncGdwb2xpY3kuaHRtbAAKCRC23LAszRpSuWEsB/97awvu
-rPD7UMQx19AsRWXZWZ3NIjr+s5OkhCS7yazcAjQqH7Tl/5wXBeo8SIeD2IUUGCoj
-5CcWmFPJhoaXyWho7+xJHGlnqgWUr24FS+WQSd0diN7hDyPgTLjwkJXj7ey4FBfa
-ExOvwhHMmc04VBH8N54xznQDk7F/W+RDQSHvNufNsSBZBAo6uFD1xG0SMnLf1A4+
-H7Z/BS0KSMGdqiBHGfpTxXVjDbREN8Gxqx3/bD8hoHmZYY4SvJNO6GgzdoLLxa1l
-bNJjCyvIK4qMEUtdPbdUM3GiJx8nF+VsLHdGp57lCywWd/moONbkrBKS0zpxRK4v
-/k2qDeH70pSm2vL1iEYEExECAAYFAj6RgcwACgkQCF8pGcJq9OsVoQCfRw5nLhcw
-dDSH0WAMuqfSqwuWUjYAn2jm7ayWUjwsAjkTTSUzXsrgv0lpiGoEExECACoFAj6N
-spsjGmh0dHA6Ly93d3cucmF0aC5vcmcvZ3BncG9saWN5Lmh0bWwACgkQqa23+K5O
-QlzBLwCePpLmUcM+pMoJY6cTW2DZBknzK2EAn2q9NY/w+NF8pMT3EsNGhHCx/LZS
-iEYEExECAAYFAj8P72cACgkQ01u8mbx9AgpKPQCgnKm/8rG+TISFryKJSXFtq5A9
-U/4AoI+ao5AUmUgTCF5psohHVmRTvUuFiEYEEBECAAYFAj8QVjQACgkQ1vr63ZUv
-P/8BIwCdGM0X8frOjVker85BKhnRyxMTbekAoMIRrR+p5sOKqfm70Ot5dAjwnQ4t
-iQEcBBMBAQAGBQI/EQZ9AAoJEEAGFQ5ACertw9YH+QEOp4w9bnew5MHd+xyP+kYB
-+4zhv/JLDa4b321ymKwaaMAUi6+/51+q9hNyKGGltfRMVI2YsTkBZK521pUe3XhA
-k98xQeuSsCuVOzkof/ZkIBWUpD5ePDZ4ROILvUECEnupfHGYgJet4hjsSnpabBhS
-zVsHTvT7wPYBWsoU6aXQdHAWHj1ff6ZmKdiHVMXJc7q7EgdkXlz1cytPe1Kr6HOM
-vtXIu1SndaJ6RHTkFHikrzc7h+GZD3UrBE2WwXadi4j8oU4jNOPmNcgfyFTvCTga
-2tziRHDwbyWjWfkSF/K0hXFZtUAA6yB4PkHam60O4HtuuvoHXX4QaqCRVRasc56I
-RgQTEQIABgUCPxArzAAKCRCzNNMIli/S3oXcAJ9ksHHvb+jOBvQHWbkQqKK2RNz2
-CQCgp6vhG1eeIQjGKs8mfGtIIFnjzZGIRgQTEQIABgUCPxET8AAKCRDhhSLXfHEr
-y6A7AJ43Lzy8p+Fjo85jGPAxKBOZxCOGdQCfWbE+kN98BXU20Kw/PTxwUUZI4bKJ
-ARwEEAECAAYFAj8RSk0ACgkQCen5CopyTkUSQAgAh6+H16NVts1N7dXWNfUeXVka
-SZ1YH+Ou1N/3VLooX6r/dnRfrFf299KGNE9gdYU4ZZbzlssVkWOjbpq9ZnT0EP0T
-zODxqYk6xwLNbESTmfV+acJwyadAlTeOkcavfmPFhFjMFdh8hvAztXSSzuH0kVPp
-2q4LlQcE3VAWQehH1dc0KAL38e2oJXT3Acze9coHxP5F+9qqY5+RBH2K9/Qg6RHE
-ZbSbWqyk1Kp/PBRrv7reGCrKu/cknaIaMrd14gDVDaDYZpabZ1olVjLD7Xq9u2zd
-IrNbDUBHuc0u+6lJDnGMxl9cKZpcXtwZW7q2m/AJZZ64JNdOzAOwoIG/Zs2mvYhG
-BBARAgAGBQI/EqKHAAoJENQ8swWV/so0iN8An1kR7GXBiuo/nG6a6g80Uj8sw7Fv
-AJwMPsjtifxWHhD7+oePOLFBcUKjFohGBBARAgAGBQI/ETgsAAoJEPVrJqOmOZ5z
-H4sAoJdwPuP9Ras8FbVz9vxo1phsylRQAJ4+z5P2k4okmmvOoETzxYw2rnKDCIhF
-BBMRAgAGBQI/EGY+AAoJEHgz7PG1REgVo7QAn0PO7mLyLm7dWrl+kFiMAKH22WQ+
-AJdBEPNiQXGzPeX+pb1DfOJxIrNBiEYEExECAAYFAj8RP+AACgkQ6iGZQSR3yvg8
-GACfU7XVDJLfngnMfPnajA88btxP5T0An2GLPaRZu7NsbuSYHj8J54VGP2IJiEYE
-ExECAAYFAj8RXPoACgkQGf7YPOK+o0EK0gCfSFI/qReuVBWFKj/H466DMjaA7MMA
-n0lyeEvft6EXZ4ePTkoxHsjro1L6iEYEExECAAYFAj8RpBYACgkQxcDFxyGNGNet
-eACfUGJ1KOWCkkcVQ/axNLnpLOZT1+0An0NSiXPDAy2RiOa0ftCbv7N9dAsiiEYE
-ExECAAYFAj8RwdMACgkQvpyGjQRgTrgitgCeJF0AAIagPvhV3irwWnVxqOfvf1IA
-njfjpvbkXgf6Lt8/pYJComNLsqeHiEYEExECAAYFAj8ShtkACgkQoJD705cZn8PC
-2wCdHRClEdK3fO2qBeWErf+3VABkRWQAnAm0jEAHmYKm0C4ZtqrhwpLgKLJviEYE
-ExECAAYFAj8SkwcACgkQVm02LO4Jd+iJzwCeMmT+RD2ly1uSt/TlbWj2I6uyIbMA
-nAyb4NNPW+1HAhGRCrnsILVds6J2iEYEExECAAYFAj8Sl20ACgkQj7mZcU7rMfHV
-DQCePuYB3ixGRuyeVtRrdIwxNsERyiMAoNeZ2lMAeoX1vDmXAdxq6Q6g/OgEiJwE
-EwECAAYFAj8TMjAACgkQtGuSO22KvnHhiwP+N1Jh8cmDM4NVOMnh+twEdc0quSJc
-ZprPBQzZuGz3uQUKXI+xWEBkE92elHgfVo8CaSqh0N+SB40e7CyoQ5cHhdPPAmKJ
-ZGiLhtliCmQI8W7xKJz3ysFPBJoVFEKaamOvsAUezTbnAcA92vkN33VW2Okw1+fx
-QsYuQ7C5hdEN2++IRgQQEQIABgUCPxNg4gAKCRCt7CzRGpU357YCAJ443K7yqC3V
-9MYierjg+bMQIIUFVgCdEXchjN7AuuaAwiUP86POJ7Mf9p+IRgQTEQIABgUCPxGl
-CgAKCRAoxvVrgXw1aC2RAJ9Wi969B0HxCRBmmJmKY/G35+hg6QCgp4WXj0dK0QQ/
-ttQ9VqMzLbiHsjuIRgQTEQIABgUCPxPyOgAKCRC5gsvVwOMfHa6TAJ9GOyWePty4
-D0HO/i5dInksffJWkQCdEbYRoo9jgPM98b2Arb18rHRsOSCIRgQTEQIABgUCPxP5
-DQAKCRC7xxTRnGfNluB8AJ91IPyLFvn1mfvuhEksgmAvopXEkQCdHEPhku6Nleua
-JEirIr0yE4DeBwyIRgQTEQIABgUCPxQabgAKCRCAdScAZahB7Q6SAJ9IF1epz2ii
-OCRtFDzB++fZJnA6fACgypQnQZn5yk0FObR0umx0c0mMJdCIRgQTEQIABgUCPxQk
-egAKCRBRrPatdb6Al4izAKCRvQHWhW5rsyVLurGSt42n9yqrKwCgwkaaASoIrT4N
-3Rduq3Jtsyp+D4mIRgQTEQIABgUCPxQqPgAKCRBsdheMoO2YLaoUAKDu17oP9Pi/
-VkH90yIR1l4dQ7GNhgCdFjt4MegFyREUjkerk6DpcYGWwmiIRgQSEQIABgUCPxQt
-mgAKCRA19mF8UTrv2fN0AJ95j2z4vBYZB+plZr9P6TjKRb23YgCeLUunT7ARJ8kk
-HxJmb2rBwIr5cNiIRgQSEQIABgUCPxURpQAKCRDVTq5LyZhwsaZSAJ46vwwEDZSI
-n7DMCzb43Aw6mO9i7gCgriGzSI3wbk4Fl03XhL6Yx7q6GWWIRgQSEQIABgUCPxUs
-7QAKCRCJzUshYHVZ5t0aAKCF9Kmbta/PbwadSy6Y2ZtiwO2xYACeJqljQ1knbV4r
-/GCyJmDn3pLV7/6IRgQTEQIABgUCPxZujAAKCRCELNt6RHeeGDlsAJwMigxlui5G
-XM65FVSclFapDQs1qwCggo5t0MrmM/D6bwKgIoG+5ZH1wO6IRgQSEQIABgUCPxV1
-LwAKCRB8IsOfgHrFOjObAJwK1SDOv5xMjksadx2cfoVRUHIycACbB3EDJA5Rqjm2
-zGtoOWvlKONPDCqIRgQSEQIABgUCPxUSZAAKCRC/QVlbc3KipaemAJ9ui7yZa1r1
-0VaSwYM4ACzek5JBAQCbBPmKwLUBrmtc67jmwd9OKODgjcmIRgQTEQIABgUCPxRl
-1AAKCRCUj9ag4Q9QLtrCAKDyDMh57YE3BSrDWLCIfH8Llae8OACgz+X7LZ6CADiU
-UAQMvsN0PYaMI1+IRgQTEQIABgUCPxRl4gAKCRC0deIHurWCKS1CAJ4h9C4Girnr
-Qf0Jt+LWaSRB6vMHbACg1Mt3M/XOvjQ3ByRNlaz5cMF1yzqIRgQTEQIABgUCPxVt
-RQAKCRC7VaR/yQHDPgwwAKDDo5Oczmfsy/K+rNhp0EdN8tTpYQCgyJyfezJ3lACl
-gkZe3KJSjcWvsI6IRgQTEQIABgUCPxZZiQAKCRDnyduv41bvwB61AJ9WP2XS6gBZ
-e8fgWb0oSNupfrL1TwCgvDsfeZ8+228+PuOBa9EmPqn4Z8yIRgQSEQIABgUCPxcI
-VgAKCRB3+BUzuw7ox3SyAJ9lEoZio+Jqvu7yDsMy0v2W9H8BrwCaAu226tR8QQgp
-efrzX7CFlqUp2oCIRgQTEQIABgUCPxZaFQAKCRD0tLDMeX6/q79tAJ95QA3Y7Vha
-p/yq3/sU6rGdWv1gHACdGOlr2jlePeNjyM8XP7m/aTyTA3aIRgQQEQIABgUCPxe0
-rgAKCRBGzFxj8xilarPqAJ9CVDPJRDwCTEzyxU/aXPUcD2IIQgCfUwWviRTpr4Sl
-hYQSLPInA8XRL3mIRgQTEQIABgUCPxfUbwAKCRBTtrgdwTzuBxZAAKChuDlCWIgR
-y0RLB43upNulVEMhPgCgy3nvJsoNNdGtApgalnD3PCtADC6JAQEEExECAMEFAj8W
-hgyGFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3
-dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5FQTcx
-QjI5NjQ1OTc0RDhCMzQzRTgyMUU5NjI0ODNFMTU2NjJDNzM0LmFzYyIzGmh0dHA6
-Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJ
-EKseS2BGdWsetVoAoKC8/BexDahmSBm6ByFHjdnUNnqjAKCnraKOQoRD9mHRkhYL
-hs6Kb6B/e4kB1wQTAQIAwQUCPxaF+YYUgAAAAAAaAGNzaWduYXR1cmUtbm90ZXNA
-cGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3QvcGdw
-L3NpZ25pbmdzL25vdGVzLkVBNzFCMjk2NDU5NzREOEIzNDNFODIxRTk2MjQ4M0Ux
-NTY2MkM3MzQuYXNjIjMaaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0
-L3BncC9wb2xpY3kvdjEuMS8ACgkQGaJoCYg4/ZQoyQgAp7zbUXdSJjC99c1U2Tf8
-fsZqyxty2Vq4MERWsogmj4WMJY7s1nNOl2ytrovMZ8lGVFHwMuFM/GqhxkcyaG60
-4TTsBZIsF+PFwYfzdN2wiW2/nfE7EoPxYUcCXTSatz5b0kGYrQotFjxbL71xaEDb
-fCzvvrtZcXNlM4BFYOo+Ad6YokzaRhE18eWnYCeqloJrkXnZuUj6g2CkdaKz8rO6
-QpdbSXHiOHNxM0DwuGE1KEVH6TlixkelWD7eWK/A7ozetrLgvfYR9xgwk5qfOi1Z
-zBurcWYqtXbsthXlv7kxDZYJK8w3h3hlvPGzjzplQP5kisaKmRQnmZT2hKo0sgyW
-3IhGBBMRAgAGBQI/F/CpAAoJEJEfSuaGoRjmasQAoKwxDSMg6qRd/67aBEtukTSq
-cMhGAKDsScrYaTKk2OPEx2nLKt856m7mb4icBBABAgAGBQI/FpAzAAoJEO9tgkHw
-gRld9YkEAL7rFxi/i3d0HRdrISimFvZdcQ+M17mzd82z+9L9qTxBDFJgrHjNrHD9
-zb4x5CehUwwEklQKGM9bRYgNfKZ3FfJs0DQ6TC8VN82cECVFfHSdKxtnR0Wu5wK+
-1Ru+517coWCmbMbWZ0xgtdZ7DXxOcS3DqgZ6Q1bKxgxR5LGTb1nniEYEEBECAAYF
-Aj8THygACgkQ0Bn175Anq4i/zgCeP7srpshWEkWMk+2g9SiFjTSCWYoAn0DVZWaB
-t4235TT2bJM40pbuxvJYiEYEEhECAAYFAj8Ye1oACgkQMwsDi2xjdG2clgCg8n0h
-KYgMIZF8K8N5xWXyMIGh71gAn0tPowccJ9wAe1JXX3slFWAVtVNTiEYEEhECAAYF
-Aj8YfiUACgkQsandgtyBSwkAfACfV/oO66wsFR0TDcsn09l4vPQn4gQAn2yuFdZj
-mb9CEGXQ7OwCz9nkJArSiEYEExECAAYFAj8X8GEACgkQVkEm8inxm9EzGwCfQpN/
-NEb25HY89WP32R57XbamlycAnjgGgMgU2/Wf0E3a+KRgWGqGs0STiEYEExECAAYF
-Aj8YShYACgkQGnR+RTDgudgElwCgvX2J3MJJHDzGQVnpX/j/vinbmKgAoIJDdRhp
-TimIOc3ohPI/hVn/wOTtiEYEEBECAAYFAj8YdP0ACgkQ9ijrk0dDIGw4qgCeOg2P
-pIXS1yy1NBGb1e+GNMfZIisAoNPZ0dwv0YkdwisRjHf6ipIQwyHJiEYEEhECAAYF
-Aj8ZK6AACgkQZd80wCtfheOo0QCggPdjSLfBSv2mCSUZZ4yggajC0NUAoJe31w53
-S53tMoOueJgPaH1n+EociEYEExECAAYFAj8ZlPQACgkQIexP3IStZ2zBqgCcCUIn
-qpy76RpB0CuQXtxe6LSV804An1cbSQKE9c13GiYUaWG1v0LoOnHwiEYEExECAAYF
-Aj8aZToACgkQzop515gBbccP9gCbBKji8iWm2/qOW6MGBRHWABi/sc0An3h3PFt7
-h9qTNd9cF8bUBYoGIiFYiEYEEhECAAYFAj8bkb0ACgkQ7A6vcTZ3gCU/RwCfQAy4
-8uTR25zCbmIBAK0JW55KNlUAn3ausauxgUdAfm6aohyxxrvD4JRliEYEEhECAAYF
-Aj8cKXEACgkQdNeA1787sd2ydwCgg8n8+hiDc4ACUTtW5ft8h0b3L+sAoJ3iaChz
-MUMxi1lpDxt8qLwmv7SwiEYEEBECAAYFAj8VydcACgkQKiV7d8Y3KNJj1wCfcYaG
-rDGwI+OUsEKF5kp/ibBmcJkAn3d/RszoziOGNaXR5ytxAMOuH4IpiEYEExECAAYF
-Aj8QIlIACgkQAtbtIeMsT0uIogCfT1x0S7HhrI22Jh2lykvyjdD+eDYAni0cZKJq
-nzFV33YW5shk6ni4RE4XiEYEEhECAAYFAj8ce70ACgkQC9tTsaLPijgiagCgibSt
-kJ6yGyXjT6k8MzrrSRjwr4EAmwZsvXWQz1xrlJThOSQOJo+giABRiEYEEhECAAYF
-Aj8c2hQACgkQyA90Wa3Cns05pgCfZQvXVii4ojLdEpCqPiGyPW0Nd4kAn10t1M/D
-cu+sXnSafvRV6BZhxcNyiEYEExECAAYFAj8VuYEACgkQS+8mJCLfQIevFQCeMqPN
-WbuTkCW2+OVb7g4Yn8sJ2b0An0atcvtqd6YjmKxIe3hL/3CD4FRbiEYEExECAAYF
-Aj8VuYkACgkQlWQfayU+WOOj8ACgsF3i6btoulVD/odjXoAKsw9+ybAAnjLpzn+L
-OKcgingkLfL4pQfDpZ2xiEYEExECAAYFAj8dgKEACgkQO7/Pd72LBQ3o0QCgjTPf
-auFWp+HBXlWMlFTaUDmPKMsAn2tMjHeRGzY5rcMI8pEcpMkzDm+YiEYEEhECAAYF
-Aj8eOrEACgkQzAGaxP8W1ujPCQCgi/ph5B+f43O3tMa+Vl2kSm/iwn0AoPBwaa4Z
-MUZNuV9zoGXTUWx+8tu7iEYEEhECAAYFAj8emTMACgkQNFDtUT/MKpDN9ACcDBVK
-HUdglwfB6r2rw/qo56x3u3UAn26NqtkbvIL1LjxmfuoUueIPsK0IiEYEExECAAYF
-Aj8e07AACgkQKO6zWj6NzMBOogCcCfGFTxfDqxI+KRIoZ8rF71e2RosAnjYgt5y6
-wU6gTMMin5Yjm9hzh62diEYEEhECAAYFAj8e2VIACgkQkryUdmOUJl5QzACaA3q2
-IMEuTN0CNnEy7DdElR1LCYIAoItw8HTShrWVG9yvnvFxMChDPMIRiEYEEBECAAYF
-Aj8fAcEACgkQKN2w/RnJtrpX5QCgzNwWHKaG9Ag3tA+Ac0KtQ31SiY8AnR/S5tYf
-Bde3E8kikmYvh291nKsTiEYEEhECAAYFAj8e79QACgkQGpBPiZwE9FZi/QCeMqew
-RvkzepVGeLQ3bN3I7pDDGBYAn2CFPcdZ71Hht0rac52TS3ukCv2LiEYEEhECAAYF
-Aj8gJ8kACgkQA+GMa4PlEQ/XWgCgg38xjA5L0D5WkZGKYVHYwjpbXt4AoIGFFJcw
-FNXNxap3dY8rH14ntilJiEYEEhECAAYFAj8hEqQACgkQpFNRmenyx0fhvgCgxOQK
-p6pPVcqmPN/mTRfGpWGSYHkAnR96kY7ho5LFcaajuqCTiSnQ1IkjiEYEExECAAYF
-Aj8hczsACgkQlJsl7AdEclJ2IACfWZTVuF6l9mLigt2qXNcuPbmGxVAAoK0RoV41
-Dkt9R2lIm6iqxrNRW0ESiEYEEhECAAYFAj8i7MEACgkQ+o43kJBROPQy6gCg+oEv
-MFJdqjRNGMfLj1EZCOPUInAAoNYkQNGvIW+hanA09lIxWK2bQExJiEYEEhECAAYF
-Aj8mwdMACgkQ9D5yZjzIjAmmpwCgp8sJU93M7CM7vsGpReoEAVmAJ9QAnjgfhStP
-wYEtrnWlDeWY6hA1kP+LiEYEEhECAAYFAj8jnYsACgkQGKDMjVcGpLQjNQCfQ1Vi
-vqwk+GGNSEaTkNZC8dUJn5UAoIojBb/gmfx/SGhg+ILsOm37Zm/ziEYEEhECAAYF
-Aj8jw/0ACgkQlE/Gp2pqC7ysoQCgjyv6JilmZ2fkk2mGktlZAMCGPcQAnjkvcY2J
-+e5S0pnWgTXPmY9G7dlsiEYEExECAAYFAj8b6w8ACgkQ2A7zWou1J69fwQCffecR
-nl2OKb0xyan4c34SAiXW7tkAnjjlXUeZ1phjKkwCOxSGpzVL2dg2iEYEExECAAYF
-Aj8nsWsACgkQ5ihPJ4ZiSrvw6wCfSqPnCQUf0RCBxTHwNeXoHZLNsgoAn0mmdV02
-e4GTUkP6hcahi8uktaz4iEYEEBECAAYFAj8n2R0ACgkQbyOLwk/aWgz6EACeP7lN
-/AdK/F47D/RLEj0iFa3hoUcAnitXQcHBCa2V7nsdLGgBu+0RFrTFiEYEEhECAAYF
-Aj8n3nwACgkQn88szT8+ZCYVUQCeI/GFVLQVfpjbILxq3QzePIvUd54An3yCiNfm
-ou1ZfGQXR9ut54CFWGZniEYEExECAAYFAj8oGAIACgkQBDI26xBzGXcQUwCeIPT4
-RnjFVbpIu9/yB90/4XxGSJ8An1Q12NxzY3nguYjjeFZwPSfhV9zliI0EExECAE0F
-Aj8o7UxGGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlz
-aWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRCkec3EWrRgatzEAJ9NnEz0
-qdxIzRMKnwzIl5bT7iO/RgCgjxUaa4hVcZzWdpiAONJGlAbQALKJAWMEEwECAE0F
-Aj8o7VZGGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlz
-aWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRD5fPnjOkt/XQzwB/wOFo/i
-eiHUOP0ZyKPlt7VBeaXIAGH0xpxZi+XJ0D5PwZmHylTIdlzJ2tlulJfU3pX1dOWm
-uIa1YZsuP+ai+u9dk1QkGgSe5XAYXxqzvmbec8Rxdg0gDEdp3okAhPp9NyKtkxI+
-HNi4EgqDPIqZ1GVhk6k2Z6dfDe+QesI4FA0XIq2d1NFbCPiVenBeE0O6uQxsIvnS
-HRm2PFOn1rWSgkznx25Ue9QLJP2utuxSd5cSJTL3x4E5eYDY2nXsorBOi7+SAiIo
-Gdoj2V4y/5kOoyqnIotEeq4IGLuIedOCrv2Vvpn5Km+VXmyJRugOygMfafuLpPan
-DBbDLjWk5ySNUaYEiI0EExECAE0FAj8o7WBGGmh0dHA6Ly93d3cudHJhc2gubmV0
-L350aG9tYXNiL2NyeXB0by9rZXlzaWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4
-dAAKCRB5BXaPdYT12B57AJ4wf88gfe8CueO6NtFQUpTHk+KLogCdFSUq/if6DUuL
-nhjPKWeIy2d9WDCIRgQTEQIABgUCPyjtcAAKCRD50BTwOMmFjc/FAKCqWAtYGj/9
-8ORw1XFC9PR9am1ZbgCggGer0qz4QK2mpM9QFtR6hGkO0syIRgQTEQIABgUCPyjt
-egAKCRBdD39J4OSfNETsAJ9aKCcUnCB7Vn6UHDRBruteeqRsGACeOJFIbOdqiVsb
-O+wpOhwfVm3Uz+iInAQTAQIABgUCPyjthQAKCRAbsIu/KpIyJaiRBACyR0lc2oYJ
-ndWEYeidHmAiR/hZ2DgMctiCcevdbfDGf+5D3FohELCZKq5UQGnW3U6eRJhMuYPc
-f4z7mp1It+yEakFZGPS84J4Ftik74iE7rIXdj2BHOJFsMjgKmHQTMXkZqA//MIR3
-3ou633yhNtX0r5omEDasRVSEWO/3Zv5L84hGBBMRAgAGBQI/LVbLAAoJECyYPlrS
-ilXWgacAoOtGe4cNkD8e0bNHVgJFwA39oMVyAJ4vidWutzzIpBSQzgpb19NpRZ1a
-5IhGBBIRAgAGBQI/LngDAAoJEBIJY50RSqhcZIQAn3DHTp0TtM6/Zoy+HK200i//
-AlJ5AJ0dCWgEobiC4oGybShrlOLlQw/6+YhGBBMRAgAGBQI/LY41AAoJEE70qYTy
-yrnIcFAAn19Xn3naRkcMPidY59zV16MCX7sFAJ9rWy0RQjrx33uXDhOr51NKuHYy
-WIhGBBMRAgAGBQI/M1b0AAoJEMoOFpwo+jiKp84AnjKg4ZxXKLa4krNAd5/2dEQ2
-iQxLAJ0a12Erds94F2GIFAqf/FSngVVl1IhGBBIRAgAGBQI/Hy/gAAoJENraec14
-ij9M7gcAn3/uItnWtZlo7d+OTYKk1ezOzEjcAJ4tbS5/8s2m9lL8CPMu2dJTW08o
-24hGBBMRAgAGBQI/OSZuAAoJEEXAIUdpq91URiYAn0jGPBL9p3VR4l+P9kvadlU7
-UlqBAJ9QHKGG5rIfjeVpTbgdDsY8SCmxg4iOBBMRAgBOBQI/HwdxRxpodHRwOi8v
-d3d3Lm1hdGhlbWF0aWsudW5pLWJpZWxlZmVsZC5kZS9+bW11dHovc2lnbi1wb2xp
-Y3ktMjAwMy0wNy5odG1sAAoJEN6Fg/i9v+g4gwcAn1+sU+MuW30qSaH8ll2xLtbt
-5eXdAKDOe0mpJVSxpOKrpg0KYA/6irm4o4hGBBARAgAGBQI/NYt8AAoJEGnSph3i
-Y/zUvnUAnj59pDFGso7TdXsHVa4Z/q2X5n6BAJ0ZdltmQ2ZJ75nLbcwkpac3bGgI
-wIhGBBMRAgAGBQI/ZGvxAAoJEGZmcXrbg1Z5+04An1D/h1hoi4RqkBtQw1/DNHzU
-gAH9AKCcD+lqxzDCPqX43rX+9UCCJ8oPAYhGBBMRAgAGBQI/ZGwHAAoJEA2WS2ZX
-Dm3qiIUAn3ypBZwkgxMIhE0klSRmAw9wJC+iAJ9ls0lNN9NJr84AzQ15HdtkXT4W
-RohGBBMRAgAGBQI/Y6iKAAoJEFTCT7U7C7mpvXsAniCYCn5ZjWf/c74wKl6VFZIV
-pWNxAJ9t0LFwcwSLiab/u/Uh+olhvaMxRYhGBBMRAgAGBQI/ZG09AAoJEE4CrK4d
-1rOA7AYAoIiHcDElbjwvQYFFd9R0kOOiOfn+AJ48x7C+1Ga2DwEr9gkKIYGekQXR
-L4hGBBIRAgAGBQI/3FhRAAoJEMUUr45LpAHDSrcAn0nLPfcadJybKcREJ08wx2+V
-9wusAJ4xj1je9ia5121k5VKu0eEryfzclYhGBBARAgAGBQI/6RuLAAoJEGSnwKfy
-zwGoWJQAn27is4CCDjyDwHxvmtLrpENuDZ7OAJ46Uzd7Hf1PBdRnBxU5bPrSuGK2
-/4hGBBARAgAGBQI/zDQjAAoJEKC+nbo7iG59GwgAnj/r1qwD6xwrm7Kw6SZi6Yc/
-mHiaAJwOpMOcian+Pp12EpfRvB8Xle/s5YhGBBMRAgAGBQJAdyn5AAoJEKQ+bScS
-gofom88An0uMhlRXemnGHyQ/KRJUq5+MgidOAKCNgcFaoiWTeSJT+24Rb3DEs8+y
-RIhGBBMRAgAGBQJAd7WQAAoJEIZ7+an70+uOHiEAniAEVpEe0EMBhh0KIMHQn7lP
-YZMNAJ9v6NuYX8B4FraeFJvwWN3Rl5a4TYhGBBMRAgAGBQJAeLzjAAoJEMzf5JsK
-Cskn3XkAnji5RM4QOb8xqOpJJjMPgIO+g6qDAJsFmagMPCtbkiKSc4dI+2l6TNv/
-G4icBBMBAgAGBQJAeMJmAAoJEKv/B7RG8yEtQPEEAJd3FInVbro9mXT3lBIpBjvv
-/e6LMishN4yrjVSF82WFNTPkXYpbloqZoYdtYAdqwi8AmEKZsfQ7SI3eJAVci+Hm
-7xnxPZO4oFx281jUTBZlY61j8xfJZe2eBHfPmhRqBErYk+wADOjFvbhypwv/9OQ0
-NDJuPdhu/dRBZZpCpv2JiEYEExECAAYFAkB58KwACgkQfDt5cIjHwfcAKQCdEXk9
-78h7XbMFngwWDXT5jtNbSo8AmwRHSKe0f7F9Gk4o2K4rmojcLbnGiEYEEhECAAYF
-AkCWzkAACgkQK8hAFiBoeJUqkACgl0cnrdeK0LhkpZRyEODRGt0HBVsAn0+wig88
-WxVF7T64mWTvc5PfUEaNiQIcBBMBAgAGBQJAl9HQAAoJELVnlGdHP376TrMP/j0h
-pFwA5yzR8l4Z/YrOwKNsmLtOhdO/CLKVZAka2y1zPv8ppCriFtfbDuLf3swnYurB
-OzIsQroxt/NZA10xFmy+xOdLaL2PGWaTc0/HvD9dR7XSLhgTk00I1D1NmSep8dYP
-/8Nzn5kywNlUGWPICcYQPbjQBb/+apeiLfNXfz9s7WbRg3rOCerNBVKnGL3CAN34
-rX4p27gjFtgNyAqSInzbiEoWWpj/UyIaCbMKTqo3sxSA8LaW1jsyIooPMCQTLMKH
-yCQ5NruqK9GH28gfOOPUijgq0cDdRw37i9bv6+W0yfvR7SzjiKJOUO5GH6T+0Vqf
-JtHDLcDcaUzOT8K5149WdTbkDGQcF5y2cRF01CYPFHJccVMyYA1apNgZLcmz5Rtg
-bNgRYAiqUxzHFxQFb9by9d/M/U4sYvBIbevBOAAI2zt9Kg9PTPLQb/s6k9krKiC7
-J8nSzlLc86iO/bLdOBiNUu7mwC5sdbKPADSchv6/Zt485QLfL6/QIIQDwrv415R2
-YS7IezeIBqNfiH8gs6zkDeqaSIERlmlrsB3FYFG1N8qu8paJovSc+WewuWN9M9y3
-V4ZS6z1h1vYsunR1a7OVPtUOkqiSve7o7somGwOuB+IcG6ScPd+eFzjQgGFrRiJp
-63Qoi7HNNS+FCCdyWGU/eKdoY4FMYjopjiYHBGJniEYEExECAAYFAkCctagACgkQ
-Qxo87aLX0pK/mwCfTf2o34qJXBM+YXZhOs9yVXpC50YAoI5kabsup2eU1mBy7us0
-lFxrfhxHiEYEExECAAYFAkDezh4ACgkQs3U+TVFLPnwI9ACdEo928dQvBLzl411B
-/3lKjJKP+lAAn18n1wjH3iTljqT25Z9sWQeDATGOiEYEExECAAYFAkDmqBUACgkQ
-cV7WoH57isluQACfVLd583iOT+OpEzqaIWfN+ipZRewAnRGIOTfv9MRZD8ZSJuQd
-DrIBAHKpiEYEExECAAYFAkEECGsACgkQ20zMSyow1ynt5wCeI0vp7KSYO0eLAGso
-5F3pwHvgoc8Anie4Winj6dvKHuF8PtWZwSreSeYsiEYEExECAAYFAkGNFU8ACgkQ
-+C5cwEsrK56CgACfaRD1Y8xF4XMe/jDZwKPeK9PfYmUAoMZ1tFUtrhTrieNJ1eF7
-dpdJZw7iiEYEEBECAAYFAkJyIrAACgkQ0/mV1Xdq/hJ5nwCgtxa311qwL0m2olq2
-TmSWc2ezDgcAni38NAgrHcDxh6DK6Z3Xl97Rcu1iiEYEEBECAAYFAkO5ff8ACgkQ
-ch6xsM7kSXgWZACbBg1x9hPoW/GAzEjfM2RGW9sA5/UAoNsVZaTnFpwfIVvSVIRo
-Pr6snqd+iEYEEBECAAYFAkQarOoACgkQQVLh8cZxhv8lngCfZhCCHrxpekkiOrvE
-bde/+/2ZdlMAoKXsVi5dC0lZI6owWPK8aGUx1AD8iEYEEBECAAYFAkQarP4ACgkQ
-qgzR7tCLR/4rQwCfR3YheOkrKO96h7w5UAtbLl3DPw4AoILhj23EPLWtD435gRqU
-v6/LDFNBiEYEEhECAAYFAkJyDd4ACgkQ8+hUANcKr/nfEwCfQLF/kWIqxd1nnY6c
-Is6PmIPJzIwAn00QsIjpIE4TPLn28/xzt2CmZb9xiEYEExECAAYFAkB3sxYACgkQ
-bL+LLlZbOPlfvwCeJZgYtJe5F6lm6DhEff3x9hyZ3lMAn0EDRPZUKlUAjxGoJwhX
-lj6VtJDxiEYEExECAAYFAkHR6JcACgkQ4NDRMRFxsE/LDgCfUC09l005ohD0dQFB
-8EyWImWea7cAoKAD+Ev47KosjrODBekcTcT5wxjqiEYEExECAAYFAkI4EWgACgkQ
-r3O2CKlAUK+MjwCgh2qJokfyjptF/V4+JsG99Yy+PUQAnRJQK3yrzugfybYwQ8cm
-v3KQrbXBiEYEExECAAYFAkJyOdoACgkQpQbm1N1NUIjkygCcDTM7VnDqO00J0HHc
-9IxMbnupH+oAoPHXDLfvpI689q3uDj84z6/3q7EFiEYEExECAAYFAkJyxrcACgkQ
-3cp5nGFDTdZJKgCfaEkpttj9rbw7n9XZYb+ntvwaZyUAoJe69mqDdJI+R2sv12Ho
-NQcuqmVeiEYEExECAAYFAkJy+RkACgkQd/4g/qpqtcvoPACgonV7MjBnRUKY9+H1
-9uA1fu/dNSEAoI2B2AWN8OpgpXpxhVYQk85CQ/1riEYEExECAAYFAkJzGKAACgkQ
-n/JYPmgbZGm6/gCdHuBxj3DNZlbz1ScOvdbzCDIy+wMAn3bH4b9hUJ2yLTsIHFOu
-RfqMN8BDiEYEExECAAYFAkJ1pigACgkQu8b/uaAhL+RNdwCgqCn0r8wIdyYxnnKA
-H9eNmQQvYgoAmQHjHDaRmyg6zJOxxmy9mPI6KMHZiEYEExECAAYFAkJ1zNQACgkQ
-vjztR8bOoMl61ACgr6C+EJa0KC7rnMTWud31d+uWqgMAoKxb6pZkKgoWIIwKJWsm
-jd7cSxmyiEYEExECAAYFAkJ2SJsACgkQRsWY28vsX4CMpACgoqN7lvoJQOsLv/BL
-kB35o9AwzH4AnjFKG+SSuj8c593EXnxLlNoUoOF+iEYEExECAAYFAkJ2S6UACgkQ
-/qs2NkWy11t5GgCgopOFVZpwxRszdALafu89Cb3QmYgAoLt04ryMpBzBlxP2cKkz
-9B3Al1FbiEYEExECAAYFAkJ3KjEACgkQDecnbV4Fd/LaJgCgnqWYl8N5EBuv4Ht/
-wRlSU9VOGv4AoMhL+6TVsB4tQ7++2SITLUDXrqwAiEYEExECAAYFAkJ3R04ACgkQ
-Dt3F8mpFyBZBCQCfVvYk24sjRPpMWQ8KVt6NqoPoiMgAoKJsCs9S2wBSurhuwOC/
-0cMExHh7iEYEExECAAYFAkJ3zRgACgkQSsOT+6LQaTbahACgl3nwP7ZEVZ8K4+P2
-coTJCzi6SNoAoMLfgKD7paNayne0SJV5OgRaiNxXiEYEExECAAYFAkJ42M4ACgkQ
-cJo/YDt+FuGQyQCgxT+bknZT5AHSlb7h7GADAc4AQwUAn1D6n+86CTh88pBcR7UZ
-0pu2f91riEYEExECAAYFAkJ5yU8ACgkQvNWtkHk/awJxtACfYKUARYRzaDjeQVLD
-E4WRQlpuWHMAn39JY3jbMUf/PQmbZP2oIFvt6W4hiEYEExECAAYFAkJ6TcIACgkQ
-H9eQw/Gi3tViWwCfW2RwrpQ7QoP0I1aEsp/obcr1i9gAn28YlDC1FYIxtmM3wkBX
-gECOiWI6iEYEExECAAYFAkJ6Xv4ACgkQem/rb/9SwVCzhQCfYYoSqONNvsvy7Inf
-u3cC+lnQPQIAniiWI4ervNXN3Xrat0cTfAIxMcJmiEYEExECAAYFAkJ61CIACgkQ
-BlHlJnS3xyrP8gCeJarZ3KQgi3gI56LLdzdtqkh2ixMAoJ5vhkjJZWtTr5r/TTkT
-Jbbh2CEaiEYEExECAAYFAkJ+zhEACgkQPGPKP6Cz6Ivb9ACdHgVMifwG7zhKmrF+
-GArIebXVufEAn0XU4YOn/NEa7TnRliSDHRFB99iZiEYEExECAAYFAkJ/FCoACgkQ
-uJQObal7aaD7jwCfTmMM+/iJ2x2CBOzELf4Y0DdfJg0AoKlJAOBwhp9SfFUxgkFu
-XK0e+dasiEYEExECAAYFAkKCWlAACgkQE91OGC5E08pXtgCfX/Pla3WvnD6aWX39
-x3J0tHWcv9gAnj+Nj7nGZS7Psgk6WO03JK9XjbeaiEYEExECAAYFAkKPMM0ACgkQ
-9t0zAhD6TNEerwCcD93mgW2e5MjWiI+5UDF+E7LB4cUAn3o3jI1aAkeQ+OrZaa3s
-JapAo9BCiEkEExECAAkFAkJy7k4CBwAACgkQuJQObal7aaAGtACfbCMlG7zmeYdi
-6z/Us3teWfKRSp4AoIMfpcTWK7p56hr/bTt3mD/UgYX9iFkEExECABkECwoEAwMV
-AwIDFgIBAheABQJCOATlAhkBAAoJEJYkg+FWYsc0wxoAnRX4Tvfb/1AfXEiGfuSC
-Tc9kgOTIAJ0eGc7xURiG7bSSPZXuR++JTCqFvYkBIgQQAQIADAUCQcx2ugUDABJ1
-AAAKCRCXELibyletfKw7B/9sgtUiYSEd98fN3ifX6vZg3jrxO0Y5iT1mEr4LIv4C
-KA3bSBfvUlzj2P2V/kLDzrpnZ63EJ7SdP6PHJVDxdCVgOJRRDCqLsXcq9Teyvvfm
-H5lm+fkzmX0sXEOAj1RH4sDxefelgzNRoAFNPBShqPkk4C6p/bPlOwGT1IqlOZhX
-akZxfuger75zU6DX26HdPuSl8rpWwRecJvLxQ1iui/0JkVh/0F0pPIHFNHpFZ+UO
-BjQu8jdkCmTC20efPYbMNQmLZ2zTr6QkooEKVPdz7g3xegVAbRHUyDVqPIUAv3xK
-z1xSkLXZLWAlAJHnlrjqpddPZPyNehoJv881iy27Zb1aiQEiBBABAgAMBQJB3Zr+
-BQMAEnUAAAoJEJcQuJvKV618mZQIAJ7t66UzRM8uS54TV0QS4Ag+FkhSSQJV+QVx
-/SisyqrCXeIhL/eHL6BsPc1d5GjpABSRDc7iNtRGiaNN+PmCdZAvzkvUh+c//cu7
-85ek6DhxstWcLPvv/5e3696xdnBLUNnNZhm0j6RoXjWNC9B7wOQiEpPuHhKOHXYg
-cLaci3+torT8OfMe+QIDpgpnvUQkFs0MaXswGKgrExGtnCtG8fWlHW9gqeKpoW8K
-P1iPvsZJPvl8UbxjQeYhcamxftqsWX2F5P+T3NQPB69y7dKhaKql26cgoTefqPFP
-QsXCUQHg/wG7Gv9sdoT9uq6+3wPRvhCJqTApzpEU6rpCfEpPuQCJASIEEAECAAwF
-AkHuv/MFAwASdQAACgkQlxC4m8pXrXxx2wf/Qn7jxnarkNm8NfsY/NxNmY4u+c9I
-dgG7OfWhG6MLZFFu8h1BGg1B4FpcTtraWAxDfUwQFoDbfK0g4VsJQ5bqvdk01tpT
-xNfaqGXqz3fUE9JwCWiF0M/vHXybdMdnWx9X7tjaIN6Zme4av+O0gXY332mYXBkA
-s4HZT38Z64h0JMoAzjmXNO8C2DU8cXc8qZLJY6QAt7wZ/a/RLafqDL90LyNXiP0D
-iCOCuWGWQENbca83IBQ4znQ+H/g+V62Nc48oNPrpWvzCscwpyUKM28x72Ho1V6GB
-yusKNLnOkMayTCi5jog1xnFHs8Dbyy9R2zogrOyKEVCP+gLURiQ3OvEXUYkBIgQQ
-AQIADAUCQgCNAgUDABJ1AAAKCRCXELibyletfAjyB/wO0VmHYAL7x7PVzk+SKih5
-uZ54Wtwf4Encrbwq77ceJhRrc0kOKWuEw7RoMYGqb/n+t5lsxYNvcVXWLMOQIzM2
-zXMztVk+B53o0RXgheGy0tE5lZx6q7NJ8ZETzyXUJrWpNGCo5hqghJRuOyOjrQXn
-BxjpdpTHtqaicy2g92V+jIJcuZ1nt7OllLpQ36H/Ok1mDjfoP2AOG8UsQUQBgBXG
-6IEavxRtjSeuObZa93FAZ+Q+0Rt+qXjHDMRaDlX7rtaYu2TmcZx+lP83sUNh2pMB
-RcObpWBtACeIEoNJoZn5kqsc9evmAuE594srZTtdWNZwb6/emt6w+n2qsGFsLudM
-iQEiBBABAgAMBQJCElkvBQMAEnUAAAoJEJcQuJvKV618q64H/inZnSczLuPq2Ba9
-CEqi4N1K3pY/SV2rdjXLHYi93UDv/b+3H/OeIjW8zgT4tICNxiiYNnbajB1RYMCa
-kXxDJBHzUBM3BT7U2E20CF+ejX9mCn6rZNwAhX/nl7DvZ6FYpurEhHLvv1kX4vzo
-AUojqCRa55l266/sImM3BcGEC/f+WN1hQUY23V+TqLMUBOd+Wo3aRVp+rxFG2rhA
-R4XhYrNm+B1mX7+1hxEcyynAmxWBowk+mVUp1NCBirRrVp0PxzKhbbC432LF+UFA
-2NnINs7P1N8HR5C0BLRSywRan1ASQfkpM4ebkCe1rP3t/Wm9d6CgD7Xg0BRr4VbZ
-1a6KwOWJASIEEAECAAwFAkIWqcwFAwASdQAACgkQlxC4m8pXrXz+6Qf/Y2Le3ECR
-8/nHJllkx2qhnvh/MIIHOau/rAowgD6QXBC/vQRb9/SpZ3aE3ylKjGM3QXFnyZGF
-DQhmKmoDXZ9NANUykLroTq/qjmTiiCJxokkj1qgRoyBoKIHbBa+OBMTD795TP5oz
-QF1Hy7Rcel7Ctp6QSjZ23tXpMsRPrq4FNV1OzdsON2jL0ldubJO9Rd5cAvUEI7uo
-WXgcLrhdf9nqkjjwYxfTi8wh8PCOp8pa2f8cO9/p3Hrgrk48xClepib6KWZl4hD+
-x/XVjLNyAfAVIZIsgbDQFx9N1V5AOz5tzNAbBVueQguz87OztLq2AVjXlbb5Ne+h
-mTIHB5+PEti3mYkBIgQQAQIADAUCQimInAUDABJ1AAAKCRCXELibyletfMp5CACO
-eIDWCeLMxbKigSKoHcbJZuZfPZy/7vZ1Hy4McXH257xFt9oWdiq8y7BBdLbDQlPW
-nV+rkjPkBPgRhDG3IotIGFEUd82UyQhZPAtNIpgHQF3UkBS4WqZ3iOhb6Ip8LxTV
-JfpGJnd+d/JTFvIDSqGNsxI4swDcQZlrlzNY+Rn3kfqnu38iD2FqUKWvyw3SW6gE
-7OtMF9E1AXAOV28wN5CvRpktdq3asO8j3Tjb6EeBv1lwg1bUgAur4302bGv3hf9Z
-tre69muhHqkx18lGmXGeI/sWbrRs00X2KzxQ2sWm9yTa5/68mPOlXAYC13pQhErD
-UGAMRmnO6UUTVXDtI0zniQEiBBABAgAMBQJCPUkVBQMAEnUAAAoJEJcQuJvKV618
-Q8YH/2WuatYY2ccpCjE3o1VQ8GTJOQAyWxM2oZyaoxJQeIQP0SwRWQZGu96HmqlI
-+/cy0gvASg536z+/vwYytZV+ZP1ftrd5DsA9GtQO7inMN4bQ5kMgURXWx6d5ZxPf
-oH5z8z9bwsnTWaZKHXXbmDdMxkFHl2APBp9sF4u4dhcJLj/nJcTbRgXmP/7LCW2H
-e29A2aksvsD0DVI3DzuVc7GcPPov1PRZyRq7HeA7fl6wo5mEAHuZNARz4iywDR4r
-MKFru6hKB0j/u7NJicRUvimt9NpF2k/Tcl81v2ORkm4cxqR21CTJ0aOndyTe0s84
-yH41w2f1j+Vw0fpPri84Vqs9zSqJASIEEAECAAwFAkJPwBkFAwASdQAACgkQlxC4
-m8pXrXzu0wf9G/YsRPTr9W5VA5RjEBsbt14UfZYN28WLj0GxbJpONPSvB8ujzFe4
-UxS2SVAajMn6kzdff3rXPJZjo4Dl9VedV/iLBsAqBXkNZDmaxVkPf41UYjHyV059
-HXApHloZkPDkDnq6SRRwOpNRza5FnliVJO9lMO2onXBBOp3BM5tiHI7CewNiGkol
-BoEwmmGbiYfkc9Bz0V+RssmiIrZA8z5/bmUPpBUqmQ/n603Lruk4mDyI8erN/hOP
-U6e03nPonw3NC0z6S6TAbunc8U8iSBl/2ctB3g6iGaXAJzkixxpRrD/UL5TQePmB
-mTgV6Ifj2AYRmE0Q55YzxVy1dcDxIAQv84kBIgQQAQIADAUCQmImWgUDABJ1AAAK
-CRCXELibyletfNKQCACDwG/wvdNzqgGshs4X/QLWTmr+Tafm72gA9AWnZvgYogQ8
-5Tx+FPzE3+JZmXGMwNI2ePEEYBFlDbWA1yDyX0W+9x+HCPqdmuPp0jp/P24FUn6G
-ZVxlJKBGLjQ9DTMgr7MeXJaIbrk+UdhJf7JoatemjLWMhsJeSYbSMcwcGugP56+Y
-QSTV3IGvKfPWlujL/n6960IGfZY7t73G7pyyKWNzvii2ss6abwFBo35zP5yP3zI6
-XjYZ8wrbdeu8cvYnNBvr98S6MS6TxDJmAeVday5dmQjz/0dDLZsENkrHp6NZU9nw
-I5vjbLbsKDmlCPlg7CWGNm4G+LpXTHuYEBWxh2zpiQEiBBABAgAMBQJCYs77BQMA
-EnUAAAoJEJcQuJvKV618TdwIAIO0NPJo56OKJq4EYVWvDWJNTAjLqk8NuNsE5tH9
-1yxqTEaG+QvogtxMImZLts/iBdytTFYYyhWQRqhGJJAcaXj0YJ/GvNT+sKSGXKLP
-BTJABmsrGgJXCxcc5sPQ/95M/TiA2LdFb/YDdyLQNRPAcq5k48I2RoZ7Hs1W/rIa
-xZvlRzvDVX8VFwKH8o3MGQs+zzLsl03CPfQ316z1b/kABCx4406fHt1SrwyeGTkQ
-ACVBVA2HMfnWqn0r3inpyUSAnWhgT5X/Cg2SIrJqleEyQ/mrKBTptAgwUJ1cM2EQ
-PxiB/ytu2hQanygn01VFPyR+0dmsXTZOhOD84DWcmcwxNBqJASIEEAECAAwFAkJ1
-P3MFAwASdQAACgkQlxC4m8pXrXy49Qf/bSLASg5fxEscgsSdaJ3Eid8F3492bW36
-IUcWv9U8xkCKJB99Gw5T+5B6K1i134Cm4wHhXqWLRF4KL6aCGEcSYcJum4rFMPiv
-7kmH2E/e6DmiF9kk0oymVFJnuN3yctkNpfA9ovrXgacJrwzgcy11t1octK9RDiG0
-qBxCD/qYHgf18KJK9+VK2vyMzdm9ZqKwih8+XvDnNkdNrEdSJ5uIULl/TfmPn5Zm
-uQ93s+ZdnFflaln3smuTHxNrp3K8uWu3IJWmX74KUn4lNXAteKWP4adqFBEVzbLz
-d5fzs8XLF/w5dGC3iS4CUfqWpDfulDxe7ooxKoV5Y/QnmZkK+VI1PokBIgQQAQIA
-DAUCQocRFwUDABJ1AAAKCRCXELibyletfLeoCACZ9K8f2WtGdc1SeuQc1yv4BN72
-pr56/Ks+Raky+tOy7P+yLCBIEV9KaeZj50LAu3CnESNn6TLix4a1gxaL+68yHAxU
-wV5S341m4bUjAa1e8ZMVhdJifsqe8w0TyjHx/yJ/ciZWWZVIEgKTNhzxdjIGSn3l
-q29ow03AnatRCz/aHhiAzeeHSsEwW1Lvr4vz/isPMvWDzJSnofUUD5jgXWCDMBat
-bVVFsCvdb3UiLJY1Yh04ZYGFIiEimHlb7fLaZ/pDosL70SnSYO/upn3ojaSrRITC
-Zs8wsUfKP5icv/eqAdwtSlpeox+mSLvGhv64S1RQFZtFJRGmk9xNHDV8CJxpiQEi
-BBABAgAMBQJCibZSBQMAEnUAAAoJEJcQuJvKV618dC0H/14iIrbtLfDkh2Mcc2iF
-s0uD+l3ibF8+qtfiGFZ3rC82GHGNrpZLgbALsdGV4o1BmVrLMZ1d3z3UXV0kxWCl
-YVZ1zHLx+cDRXYT6k35iXglxXtmSxUN7Ed7Uc7SN5CCO9neoi3urr9+lyjZHqFq9
-6lpFP0T85/BvTBt/ud2CR/+eo+UywI7wjDEIYc0qo9JnuGHd0n0FqNO/Rm2yBzf+
-lWyvdjgR0+6HHy+tfMehksHC5+bupDAfGoKuzzD4qp+fjtTdzAYEuoXg2hNrc/8Z
-qEFPoMQXm89IFRorEhxJbkvP1jQObUFSPilQWXZu5F+WJOEVXZzrQmUgqC+ZOfS3
-bKiJASIEEAECAAwFAkKbgfsFAwASdQAACgkQlxC4m8pXrXyfyQgAtHrfLtlX0E0n
-OcawD2qd5HAFhvdrTy48JP/Ue2JitlyEAWj9QpC/y+aApk62aLstUHdLg6bQIdsG
-QiQwR6euqMOuolN9JqfH5JXyvt5M4zRlkJjcHGLv/x+cZuojFz9acHYTLCkawm9+
-MOhcy6piHVW/Fh8E6V9Lb9TMqDT1OTCfw9najnKmnA5dulvf/E3Skrv+cETp7vq+
-g7UC9HvucV7i2Dqj466WSgIEnjibenqeZfT6wovgs9dFiACEYMCrfADylpT/gS87
-35eEpWXK+0AnPiasllmX5LPSfaDhKPSOKagp89ILtddx3TlAEZFkERMi5UdamNCV
-MI8n8ft6O4kBIgQQAQIADAUCQpzTCgUDABJ1AAAKCRCXELibyletfGzIB/95hsVS
-uQ1XiKqtMZPnUW2U40vNHdw61vD5wK9d5GwCKMfUPcVYWaTCHCNM+23tTAg8kVjA
-dOHGQlRKW/gfQ64X7xhSu8Obps/B+lwy0gVkjje0rVaaZOzFzmAztxXSBzlT95wt
-KL0VKdIt1R8T4Dxc0iPlkuvHWrEzdUbYkBjrvccXjgbqa3znaEQysLGgsEciyl+1
-yctjfxs5WoQrItgx64mKfIm20DHP6w1X95qY+ZATM1JUfykXFMEg7JNqZ6xlYFAX
-bGChrspTfq9nUsyoXPUncA97zBGVLM5i7ygagIvt1YeUi0+g/ojpXT7MsoTROHD6
-66Hamw2DzkA6GhwHiQEiBBABAgAMBQJCr+ynBQMAEnUAAAoJEJcQuJvKV618+aoI
-AJIsrFaXQIym1cznFJSQlevgnfrTitD2vRwV6uWSMQOL8fkHJO0QrqrpmvzBPep2
-A77JosZQ+3kflkbd68SXvY5yfpxxxXF/eLv1kXKaGqcp2VYOMJA+QWzQqfsU7CVX
-2nkpV4tgFqaq5x9JJ9NZdapJiDRsSuuqPbAdWeDufl9tFVhb6ZBiY/x8ZBR/4q+9
-rWjHObn3JS45Z+XQ5fYEVk+26RkU89fGuSsGpaF3zgvEM3lLmxhfdY8MSegg3+3S
-zArY1V6nfdccN1n708CRYXXwoPWPenzGgHOwbBSRnf9l4IpNxoH9Bjcs/YM7dlR5
-GGD415gq1w7YysVJFVoiI0iJASIEEAECAAwFAkK0j2sFAwASdQAACgkQlxC4m8pX
-rXxWRQgAkabF23WJvJt+OTsYRL21GaVNCSijVTQZRU8LI+nIMsXJGDCoHPtcPiQz
-2/nXwyq6YOC7VaXJetShF5souL5w5L8it4oU9Awk9FScRxitMl7ty4n+lU+JG7ao
-RfeuaDTcYcai+CXsed5PynPA55oKP24c1BbT0rBaMjoi5Uq08xrCqOSQloxfCLmK
-/efJOWUzHRE1MtyFr+eq9vbQvlvaeRusZbKBZ7Gb1yC1+qdzv1R0J0vN2MPUO15d
-5XhO5UhVgKUTIojb4mEd16r9igLOn78HveKh5uVX63JrvOYUaL0jO+FlJWdBtKMu
-Tgui7Q7BRqJMs15fnG6roFg8gLrWnokBIgQQAQIADAUCQrc1vAUDABJ1AAAKCRCX
-ELibyletfHtAB/0WPN4Sx5UVX8TNK1qDmx06B4zy5dcU/wqgWIUCERZheYStCsDK
-X/VzHYladi0dAJKoL4+IHNXvEaavtU7WlJwYThD/MwaNah6jSyX1Cqu6/A96QoQl
-4AVs4fPu7WGVje25yNfPZBdJyQPNVfipM6uRL70iFJ5BNIIzhRjlPMX74rj/vnU8
-kvoSWYvXmPn4Q3KLv6tcfOn3Mt9wMZJSH63sv3jbmRE9Cm0TgHa1UAvgOxWT1A7c
-Nvhrt6Fy4bsxL06QG0xr4PO0nDbRGQ21yobITMFukfQx0jlnWBf26R8p0D1S1afm
-/TG6x7Ilcw8NkV8tFH6eJQ2qkiRySXXgcRnziQEiBBABAgAMBQJCyQdJBQMAEnUA
-AAoJEJcQuJvKV618kk8IAKQmFB8do2eq8F0T1rCsZrMrkjQFhKTTXEWJzg17HFjx
-5brB81L+LXd5LwTI4rL2C5doP9N74PuAV9a9cmiydw71vCTnzSi1uhRqnBRMmM4b
-vSOE50HMIQsidGKEzSVySROAdvYyaBhVdN+uyPAncGz3DTq0rUjoriW2DAxHMJLu
-l8m8iNjo/LogBx0KRcWXr7xPR6izOVIqINm5xMwrSBPoR/PWuG7w+ZAKhy6IUGiM
-F1prrMwG3w3b4bXDcCyJKgA4jRhD8bBWGWhR1s532ZLmvSwWy4xf1LPWlo/mEM89
-wrGZX8ylQ0JlZ7grLaiHNHX3m2lFb+IxwRKMfEWuu0uJASIEEAECAAwFAkLQ+IQF
-AwASdQAACgkQlxC4m8pXrXx0WwgAkm5C20y4dWf9Phy69i//dNWwShHBK13hIO+F
-ROqPfJxQYdDpCGGIE/IGhako8ofNYCIf860qto+/gPWUOX7ITH9SX5v2q2nL+ojZ
-D2rI4vrFHER2Q8mCQvNCT1D7BLLPkAV3iKtqGSHRC0mAZz5Jer+ejs8wf2m6fZTi
-5tOk6iRFMWPGVCX4rGN2Qk0R9SqTHWhtZFK4LShpiNxT6fAnCRBzdepigRid/skU
-ggXqjFvezaJ+BzQBhJahlhnpKtEK4fjAfdZDtiIpowGbZgfIIsB0HAT4ujj3UDy9
-kOons0iEn/NR78v4oosqz0wxcqAZORA/tldmoqlQK8Ix84BBpokBIgQQAQIADAUC
-QtGddgUDABJ1AAAKCRCXELibyletfAkEB/9LGSHXus/kR55RQ9XIgbNbyI5opA5A
-eiuUY7nAF9n9pcg+xB1GVGXM8yMs4lrU4Vh+vSKjtH2Gocs7TwpHtBItbVyW+LQC
-nEOyf+q4Orj/vhIvfeNUuyFvNCHIwbU0evDM59Vc9p1RkhBD6vJtpCX2bRdUMGuW
-9eGTSYlxDMamL57Tpgm0P1Bvdw3gYnfk3H+r/MRGvQkImEnr1B3WqmClB0Fmajs0
-ZbBkuI+suwyy2lrXA6e+3yIQEqHCLSG85GOQG/xIro1nv4W426NhXY2er8ZKSiWY
-gOddKe5txPR7h80lA3OfEmOopNwIuN1ld0BLltY3DBsb8er/gRDyR7IFiQEiBBAB
-AgAMBQJC42W7BQMAEnUAAAoJEJcQuJvKV618w58IAI4eyED6P9wFdR96vNQ4oBzo
-cJXcPXcC0Zrw710MTXf4Zn6TfvB3UJitboab5fEYVA5RUy1E61SiwLof7frF1XW7
-CClp+ugsDOxyx+GdFGV0q+H/0mpPbsXqiBMMB1J83uii76dNGBDzZt0z9c+FylzY
-WAziq+1NTQKYcHqJhENbV9ZGvTYAwCLA/pB6kHkSJRIJ9yPyg8vtYy1xuRI5hi6g
-OoA61rMIgs7hFHtu938JDPt1tvZJFt7Ux6YV3rAOuDmgK2Gvgz9Q2lVg4xhKd3Tn
-ycnjD6scS1T3zWcCKSrW3v5+AZ9HKvgA1kiJ6mknSbVImxJ7LKHKLsrIy/sJOm6J
-ASIEEAECAAwFAkLspEwFAwASdQAACgkQlxC4m8pXrXz1RAf+NfkWCYU8c/Gowyl0
-u0/tVxeFPxsx1GpKjaXI1tVeg5+Ov4spaHeZpYjdIO5kRNGSzdyVXkO1Rgz9RK5e
-V9vClFEYH0l3QEUxM1QQMZqUZAbmxH/fN4vnr44a6ya6ICLgn8I6InHFGFO8t9Tv
-KTA1eqS8uElQqUH1dNG5rxBqDjMOKjk0E0InAaIOeDHdvoBcVg0W/FMzlbhKPd0e
-czpNyOtonq3z4EracangmCmDxEy2PjtKZP6LlMW8gvvnzIqL77J2I8mbC4vXwYxu
-mgne9Ghou4IPqZ+Lb4cBaPY/wxxZ7F/pqGIwcTB0juYqsT0qZ430LzO8xaAb8Fry
-X6le7okBIgQQAQIADAUCQu1LBQUDABJ1AAAKCRCXELibyletfN/KCAC/k7OMxhpo
-XobydxOLWRJWucKrB1zTnN0c3VBElE2zZ3FUbzAEuCNjbCzbc7iRxKeDgcKtktFd
-mnM590InYm/7EVdT9r+TB05mFhPwrCbne3UcSB3PBd8ZB3o0tpG/ZMKsdYnftPKJ
-+voqpzdmiNZJMWYdeIIluzcBuViLzZhKnm0lmthdUOl1GildNW8hqfbhM7q265Rc
-jwVbTm+/Rg5UCDo1uFv94xqjO1g7scgCl+N9jjFBlRRin3Y4V2fTmNIiEITnomak
-DvTmlhs+yxd1BNYBau4rLXWFC6Qe+L9xnNWefQOLT98NokPU8RfU9IJ5OI3ColvA
-r2ITEqQocqeuiQEiBBABAgAMBQJDBw4vBQMAEnUAAAoJEJcQuJvKV6182VUH/2+o
-TFYzVeLuHJzhPQGI1x00Vh17MAYODp+4/bQsc6wrRykuidd8tklc/BlvPeWqjKDu
-W3e16cEf/05GMdGpsYNMCgzH6SOjZ3yycNg8y3rB8BABJ+jSCP6IoAUqqRUH7fUF
-VzA1SBTOkBwvZ1oGspDyYdGtn19ForXFNu7YO85TRFnJ8JIH3kNBXriaemmrfSi+
-9UFtjvuC0gH5ow/3p86GO50DVOpFzATBNi/q69FOWK6XqX8EW/tPqMZFP3MIWD3F
-al9l54uL6s8OLulRAhtarpPIpAURFr5+Ex0euKbqow/EBRPlQHGcutv+ONK7n/6g
-gpeentNDAyaE5kFdAG+JASIEEAECAAwFAkMIYnoFAwASdQAACgkQlxC4m8pXrXwu
-oAf8CxBZiAGstqB0M1IddHHd19CvGT7zheJWn3BVZpsBPvM/jctN/bYNKtnHu3IY
-DGUybNP8jHeeYEswj24tSPaZ7MT54LhU7HJdKwdYtMUp+RrBFWzbIJNpz69JwfPE
-TevT/IV7dnXz3uak6ZDDXRCjL6+ETbN37uAdXLASh4MD40Mfd9r+fY0Ayov/qRmG
-Th3Bxy9/f8ZoUz+CL7PllI9wt4XtX9su54L966nvcuODqUR5C6x/bw5T7897Wmkw
-eh5ICdPTg/hz0B4morKtJnayy+R106byjHaHobfuth6juGYeYbHXjzMNoWYoKqDZ
-uk3j7j69aAFZXzC9O69j5T8glYkBIgQQAQIADAUCQxBNOgUDABJ1AAAKCRCXELib
-yletfLt+B/95xkZZwYbLRDRw++rj+uO+RmjUyHxwx5jQh2mppbOhgo2jS9s0DLUp
-T3gAPm68YTVjLxAYV2hDcd57SNI7EGqRU1bQ8s/7G+Nqnc9qgf02BXWaQNDZJ/QM
-dvu0TIu+IkQZcLTqo26ROLlahtNNKDMY0PxM1zF/cie3fztnpHATNuWTYYGeZdOa
-CeGYy5Oj4TwNhjIrOIINPPttxO4+T+iShpHC9HVjtC65+kK/m9wAYM2CxUahSTft
-fweoeIKGt/ML8ON3Pe1u0dafqY7AUiV6PYUkg2QPsjljCQLFxCxP2vyPZwHc0Ftc
-ISPcRGwbYyXaDsFSkUTJAQS3qvWnZ2ayiQEiBBABAgAMBQJDEPMBBQMAEnUAAAoJ
-EJcQuJvKV618WlkH/3bC1x2yaa4u5hfUDR8S0ng4Y/uXYM4iLgARNUciZw7SV1Ke
-pE5b9cQDYmez/tmEyUfsZWthKQ6+Ne3vBLjLSLmNyNTiO7YIWc65RcJblrS5+fVt
-Cv8jGwFr/KlH85EqgRM0QVfZc4vPz7FoIzFbj2OeucR1dnc7AMEpHVGJAq/TEKNY
-5uQ5EAFB6F6KbG2mMKlsISoK5v9doZnQN9mBYnhJ3qhBJwB/DjNMG1tpp8QtCFyC
-xZAYQB/2JGehFrN0q9iU/W2aCbEvTTgGIuLGEOLlrplR2MHgWyiTiFv4eF8o0mAo
-yw80Gp7MGLZ3oKk4zbjbKp8S3BtwnMyILFuN++iJASIEEAECAAwFAkMSQ9cFAwAS
-dQAACgkQlxC4m8pXrXwXEggAua/5xOdeyymVGt/C2cmoIZMuKQX6o6mBb7Q9NUXY
-durcIAicopYFNG4FpIb0mzMdsTQGXB1KJrfj5f0fUp+rtdMWPda3ThMAx7zMK1Dk
-uoorAkGGiCCMqmeZS+9TvcLKwHZTr4t1u2eqWVvdM56u7VhNri1to1Zw8JE60zz0
-ZB6IhvFBCW28oCOkNIZnergmZi0Sw9RdUYIphjes+1sML43YE83jaFGZCcrKc4/J
-qBqj1ZZEnIjYy6MFoxAsEEnAr03Jpsr7sA+39+rdWgbYS/OPOFqRpDtr3kFQZFGp
-M/rN0XnoJGFO+m3GQCVw2RYNn6yNZOGbN/NI+bNySBiFUIkBIgQQAQIADAUCQxRC
-LQUDABJ1AAAKCRCXELibyletfMZqCACizLb1k+yJZKYe8sGCy0gb8Wfr5wIIoSDV
-KUsOo4VrVbf4Z+pVwzox4BlF2WyQ8oMdNh8noCxDFsQurVthNayiMwTEWsWcKvGV
-nUkl04scwcC38gy07+dP7vzuerpvKwzBNwBeFmT8sw8Cipa8RlXh56l6rXIyCyuZ
-WMeLzfq5UjsYXax3ktQ4VtFDOU02aXpkp1wgQ5xTFHU4v37VoNkuzV9UbZzLCjZG
-ttPaNNpHfIgsJSV4IFAcw7ZDr8PToLQ4PgT2CD2T1/DD7JMeYdnKP4CntUXJPN1w
-YbG6FQtz6Y/NCoEJofRbVJDd+jh6lKbRbCDvA2dv8rS553knOqz3iQIcBBMBAgAG
-BQJCdz8MAAoJEAgUGcMLQ3qJosMQAJ4BAkBO2LE3BinWKaIrjFcYExtn+k0RGtFI
-b4zQwBIgOjH4Yam11zZj+YAfzOsvl5aBuL2Yc8bZSKR1WMQ1581cMSAnps9FWJjJ
-rEp8FG9by5DKTI+onYW14oebiO+VJOciLrRnvdnE9+Avx18xtuwfMyRAADARggNi
-ZnTXSSx/ACiE3k5/TfbhIaDw0iaE3+IUPfkHkhrFyShvCpgUNWEX+99KJfiDbboA
-OZ/BDf+MvjxY6dFQW+uPyKH2YFLxWeENWjAQVgrOUqchVStmKoSmwZ1Iz3fXJDgP
-WLa/EQm+13J3uNo7BHRht+hxXwg5ydoYQoI64nkWaARaGZbTit23PyBVK3C+Gqc5
-k9xEr097nGz5aNRym3DiBQTJgRkqcrwcgqXjFjeoyGJRIFOEwTqN86YGW5MXGzEJ
-3zQd95eEphTVoI4SdAIDESEmds/khbh8fGo6pXYqC7Kt/01CRoqsDTczm+X95CkF
-j8Zr4SSm9xsN7VheN3E4eAPLuZonjrC09AblD9jpfJQIdH/EpYj1jaqPycSct+uP
-xXYuOp+2btiKvUQWU1Vy3hZ5lb8J+A7/mzom1Zpo1X6Yi360DiEVeuRw5i+/gp+8
-ItqRqQUXPCZ4h1Fsf1tZWe0doFqhqX7wCW3V8zkvtAOiBtzbjJMVZpvFxPIde2nf
-AiwUNnyOiQIcBBMBAgAGBQJCdz8NAAoJEFA6oBJjVJ+OkLUQAJWH09eK8jjgL5Yi
-l4lGGqAY+fONk77HAusNllQ96NcoSe5gq6awiB3CEeEyVai/RgoE34OesvXvMQYG
-3+DESl7D1I1TLMCX/OSc40qqgmXZ3Gfu0WO+PPZBx+ykCFqAxtFUxrjW6dCPTwPp
-F2I7qfcExYBI6640BdCh+hAxd6bgLPbsid0RQgKotdqyx/R4bliRitQXa8ODOz60
-hK9AzQYSi6ifaBSN+mYJ4YTNN1tqrsg5Q0MrGyWYMPxTkdEqfVsnhF+CO/Ca9M3S
-99kM13nBCG6Ft8fwhIBg85ZwfgVIo2PDdrS7xjQpUYpW1R1QeZK/b5o0fgWNikes
-Mb9zieN7GKtNKQPp2BsTHVpkvj9d+VvoGSYX+BS59j4d9I0doW+0XdGNj6SWLBqc
-hZ4ybMd1ysyc/hUmIT/aX8JhNVA/Q5PkgmWaYV1F6P/xjqx/RG2IMr+9OnM/zW7f
-nVEz6YQDTuADZESCdcuOd9O1Zd1Sv5UOeWRfuYE2jYGx71TKIywXcNFRqPxeDE3u
-WTEGRDcEXQG+bs1d+1QvXitiN0zDBgq6cpfNIbXaWc/HIg8LOm21xhDFAw38L1fT
-iTXrDU5UNhfj3lrkvgs2WOE6pRjP6ve0GFIKByi8ezb55iZTNyUgCPM0f/mVZrnK
-LvKv4vVpKzrCiwysGoQDck5DN3oCtCZNaWNoYWVsIFZvZ3QgPG1pY2hhZWwudm9n
-dEB1YnVudHUuY29tPohFBBMRAgAGBQJCetQiAAoJEAZR5SZ0t8cqDUIAmIfLRBeY
-28PXBqwOJVKcxtMedw4AniDcMjzOXhPz3hkFvZgQbgUfRF2JiEYEEBECAAYFAkJy
-IrMACgkQ0/mV1Xdq/hLXdwCglqvBfuZOFvU6rilTNrhikQ98TbMAoMZYDP30D+Yb
-Lo/Ho/UMSAQkdnR6iEYEEBECAAYFAkO5fgAACgkQch6xsM7kSXj4wQCgrh5j/Tcv
-BsR+a+BgccpQoIuT7ccAoPGCTPRGxas30yBVzBhEUY3gpGOriEYEEBECAAYFAkQa
-p7MACgkQQVLh8cZxhv+7BwCfRDPF1Vwqo681qBtkxdnuu5PgZN8An3EpFV31J/bu
-x/DERGQ4bJrec5XeiEYEEBECAAYFAkQarQkACgkQqgzR7tCLR/5w7wCfQfOvnVHB
-y/M/E48ZfU9XFr+2no4An0f0KNhZjZ3+mUaNkrkkYQoQEC0NiEYEEhECAAYFAkJy
-DeAACgkQ8+hUANcKr/kWnwCgi0J7zAVwn2vZufTJ7DJvIap5k/MAoJI2Y7Z65NW6
-esVYS5BpLdfJhe0IiEYEEhECAAYFAkLMsmsACgkQzN/kmwoKyScGPgCfRiKtZpTN
-ULwMA90Do+UjUczBO0wAoJzLIAF9LX9HWyU5UXidQt+eZXrPiEYEExECAAYFAkI4
-EWsACgkQr3O2CKlAUK9TxACdFn3HOjQvqBwQjFqEp7QlGfxw5o4AoIa3SuTTOtLJ
-hBmo7527ddmzrZzyiEYEExECAAYFAkI9iLYACgkQ+C5cwEsrK57aVwCgxrua39iO
-ij8hZ0xyVehvqCyl+6kAoLyqLbJ5dllzfRGxjxjc1+ppenTGiEYEExECAAYFAkJy
-OdgACgkQpQbm1N1NUIgOmwCg2dPgDcObDv8rO/MGHyZa0lqHacoAoMXv++UJaWXH
-bNWSPFIgOpfxTeqqiEYEExECAAYFAkJyxrYACgkQ3cp5nGFDTdZrfgCggGiZtpj7
-wpw6pVcF8tfswF4dsZAAn0rxNKNXXN9u+IAg1OuK0rsec7cTiEYEExECAAYFAkJy
-+R4ACgkQd/4g/qpqtctw4wCfQ2aNzJs/OYv1an3nPikx05iT5ocAoMyo4m6XmHDZ
-hphBvK8Ua7Z35YqxiEYEExECAAYFAkJzGKMACgkQn/JYPmgbZGnZ2ACgh44bvHWX
-Bq5Kovj/7+R5jxP/b5gAnRrTD5WtARrsItSBl+l8RkjZR5h5iEYEExECAAYFAkJ1
-YRAACgkQArxCt0PiXR63LACeNrOuAznY8YMEURjvIdaWgU740gcAoMPjKBTCQO5t
-eqZcyel94oBR0Cz4iEYEExECAAYFAkJ1pjAACgkQu8b/uaAhL+T2JgCfYtVnAwrM
-axYJghFByu/cdRN9R80AoKe+Hx0fHM1sU8IdHtn7mIMTeAt8iEYEExECAAYFAkJ1
-zNYACgkQvjztR8bOoMlUowCg1GdaFpmIOr/UXyCC9sDcv5w0jBIAmgJO1NL9gTzk
-7fgy2VsYJhOP0qrwiEYEExECAAYFAkJ2SJwACgkQRsWY28vsX4BR7gCcDRTfolut
-/zVq63qgjjcWr4ac5SUAoIvk6x1tksCp++oYS0lUV0MLjb3kiEYEExECAAYFAkJ2
-S6gACgkQ/qs2NkWy11sIpACg0Bp7T1euRDcJH1N7XLe9WbR+DwYAn2gG6nJz5C7N
-uqlmPJVZZP7QWRIJiEYEExECAAYFAkJ3KjMACgkQDecnbV4Fd/Ic+wCdFYiRyNeY
-PO27a1FX0hWChEWz09AAn1pBfBLFI54DoZvhBzhkarBXJLfyiEYEExECAAYFAkJ3
-PxcACgkQhCzbekR3nhgcPACfROmJv+sz86kfYW8k0saSqBzvBcIAoJi3RH+RZB7J
-pP8/RyQkLZg4aqxNiEYEExECAAYFAkJ3R1AACgkQDt3F8mpFyBZ+GwCfVW2vykWc
-NnfmrcUOej3v6Lycw4YAoLUIrGTkO2/X/673krDv5ixxNt5EiEYEExECAAYFAkJ3
-zRwACgkQSsOT+6LQaTZ+EQCgwX2d3Hzpj/7h3eh9Ws4rYpgBS+8An3TUCtOULJ6c
-HhlDNkzXUFquLKhgiEYEExECAAYFAkJ42NAACgkQcJo/YDt+FuEFJgCfa34UiSTn
-9ecrC3YFpVlvA/c24b8AoJX3QrL6CDxh/PEwni2CObFdAcVCiEYEExECAAYFAkJ5
-yVUACgkQvNWtkHk/awK/gwCeKnFUSolfUl09apDaZaEjhn65dAEAnAp8o3erErE6
-S+Q3+WFEls0pG0BTiEYEExECAAYFAkJ6TcYACgkQH9eQw/Gi3tW7XwCfY7He1SCb
-I23NXL/YN/veA0K949sAoN6IfvdTL8TD3l60t7ka03IJZBtTiEYEExECAAYFAkJ6
-Xv8ACgkQem/rb/9SwVB1oQCgqYf/1H9CiSjXlhplc1EKcCAVRW0AoNvQT8M4e174
-tUv67zkr1nA7Op1GiEYEExECAAYFAkJ+zhMACgkQPGPKP6Cz6Iuq2wCgnEn5tGWv
-mj5RRPAlBIS3P/f4MwwAoLeBZwU3TrtfCm9fqnoQnHqR/xr8iEYEExECAAYFAkJ/
-FCoACgkQuJQObal7aaB4+ACdEN7g2WKpES7QFp/ALG7lLNv9FKIAn12MSR1vCwKf
-bRjh6dSFOdbx3Vq4iEYEExECAAYFAkKCWlEACgkQE91OGC5E08qqkwCgnU3zcfUR
-v6YXqPXSPBOQzK/8LoIAoO6izGOLUMcMd0KB39jmLNuA7POliEYEExECAAYFAkKP
-MNEACgkQ9t0zAhD6TNH9mQCdFQuGRjnVuD5ZfKQcUrCIb8j1nfMAoIF7CHjeo79q
-fteokg+d7CAYq0RZiEkEExECAAkFAkJy7ngCBwAACgkQuJQObal7aaBaEQCfcq/K
-IVT7x6TmmsZPZJJjYiYyi4gAoJqwIGt5DDLb5tlkzpmwvPXEJgixiF4EExECAB4F
-AkH04tYCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQliSD4VZixzQFKQCgjpjp
-s+IXSNkiiIsBkOBuJWKFdnsAn1FUSErS2Ox809VZ0JMmas76sa/8iQIcBBMBAgAG
-BQJCdz8XAAoJEAgUGcMLQ3qJD9kQAKoG4PeRjVwfv4W+es+oGKd4AmQeQDW3g/sC
-1obWPd7g9GAhITTIdAJ/q1Y7qauaeUa9zYxFfMEREHjfwDEk+tXU5bkg9w2FB0iD
-5LxyNiDLIhaMWMg/tpikJV+m2fq+nCba67RYOmKTcAjBn4T0S6qmSwyNEJguP5+J
-jEc1+dzM/w+r4hlgKbb9NPQa1OXQZVoEKa4iN+Hn7Grr01bglEuGzXv2EU8QM3dz
-bKRWZxafD3kYaoU5fyP8fG71+7drqEZoP4A0cvHiGUaYvGIu0tKp82AW3HMMi4jL
-6aNt39fJKYlCQOjC0TeiTKyEJ+3dPTMr8692xkdHXc/HrlrQBv+Wlu66B44/wZly
-rmK8itvjrqLHO3yuqI9j+88iE5CRfjmkZw64aCjlgrA+JHx06QnPGIMptjxQFh5f
-m/Gt5VToAEbvYEoQF09rgbG9osx0aqrluwh/MhGhKze2bmxV3PnT0xKeC+950/Bz
-jaoSd80JAP96gzJSZE/hjLWUg+s7BnHi/FU5yyYUjB9olhC0UtZINiym04uuLkPj
-pMkWEVSmcnGcFgd2C6fQRbEF2ISB96AXB7i7iFI0ZnzrBlCqIYWMViCT5mXKyPiK
-XU7hbFCJM/Yz4KyEF5TNDnbstvneDLjwffoC0LmxGhWBA2mMDAkrQYMyaLz2mU73
-kzEUVWDDiQIcBBMBAgAGBQJCdz8XAAoJEFA6oBJjVJ+OD9kP/2Hi0WGp+w3nqlFR
-qQ10MKxOElTEJIErPf8GWlM/m43GKpwtyf6CbNQ7NYwEkpAGoq6zKMaQy9kRxtQI
-FWleRMDsrkmpGjvqmNqkaNbEhFEx+bApPtSsMaj9bO2HjdBJZxq5YwkDBusV6E0T
-NbLBfYb5teq2XyH632X6Zj+AUlkk8k37KnY8kxl+ccHkhClXjwYZIiXggUYuIM2E
-J0MZ9EA+Db6WKrgrpLLMBiTTwZIRp8J9hrbo7a9WZ2iz+X/A0qWxVzB3vdpBX73z
-NRAcf57uk6VdWmQsSFhiCSiC1gPvakJ5rQQvgcQdB0PkpFNv20ncZCyqCyjl23zg
-6VUU6hjRRuZC6zlQ4bOasANIHZ1i6Ri17eHyisKoid0lSk3RXpL+XEBrpo/gZ80q
-/aQa39F8TSyPborks368BFqT3z6z9CjuErynpZTDbGBGPx1hNOmkLGccExY9oI6g
-7RBMyGdllkruN+Me7O/3gEdhMwLoOZX54zJyiL9IWMITjr9DCyjTAN58g/hw1k3s
-bMQeCzSJ3qm8sgqh4+9392ILbDZQqugaVRq5enVEp4EedZhKDm0OMDHkz4yos/sf
-FvHGJ9IJV7KNPgtKbIufVmElGstUEO75sAbJXKKf9RDF3mS3l10fW5PzUhd7QoPk
-bctnq2G1Fuc4XdZj51mxj/d3NE+guQENBDgbNloQBACMDd+3MOnocx85heT7zsiL
-wQznw0dA554+XKh7HNjpQOGaCtIgKbvXi56K1jblx5NVyaV1VmGL9woCUfG5lGME
-uJE0PbL4XlMEj1txa2yJQFQcNAiICrRfQgqQE1LZMht0fpXvwmbxdTqubsG2382V
-jXtGVrAv0l3jYIGWSTo+QwADBQP+JVwIi8Qv0AzMEhMcYovMVoidMGvSCtLoIeOQ
-J9KuQuKkoUhoW27oEJlYYC8XqEJ3sIQnYmc7fGaMjt+/QVr5Pq/g9iG5JTgWWCJe
-8zy/+upwzE0EN6W6TqKXOBsDsENMGIok58d59z7ykI3VQRmu7TfTM1QJHVImyALj
-7F0mph6IRgQYEQIABgUCOBs2WgAKCRCWJIPhVmLHNIEGAKCWcOaIYvLspRW11j2b
-qlFfyUDwnQCfTTs8DO0AFWVdMrwydOYSow2cI5o=
-=CfD6
------END PGP PUBLIC KEY BLOCK-----
diff --git a/test/testsources.list/sources.list.all-gpg-broken b/test/testsources.list/sources.list.all-gpg-broken
deleted file mode 100644
index 110f31884..000000000
--- a/test/testsources.list/sources.list.all-gpg-broken
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-broken/ /
-
diff --git a/test/testsources.list/sources.list.all-gpg-ok b/test/testsources.list/sources.list.all-gpg-ok
deleted file mode 100644
index 2e9a4458a..000000000
--- a/test/testsources.list/sources.list.all-gpg-ok
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-ok/ /
-
diff --git a/test/testsources.list/sources.list.all-release-broken b/test/testsources.list/sources.list.all-release-broken
deleted file mode 100644
index 5e138323a..000000000
--- a/test/testsources.list/sources.list.all-release-broken
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-release-broken/ /
diff --git a/test/testsources.list/sources.list.all-release-ok b/test/testsources.list/sources.list.all-release-ok
deleted file mode 100644
index 8bcceeee8..000000000
--- a/test/testsources.list/sources.list.all-release-ok
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-release-ok/ /
diff --git a/test/testsources.list/sources.list.all-validuntil-broken b/test/testsources.list/sources.list.all-validuntil-broken
deleted file mode 100644
index bab59bb81..000000000
--- a/test/testsources.list/sources.list.all-validuntil-broken
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-validuntil-broken/ /
diff --git a/test/testsources.list/sources.list.md5-package-broken b/test/testsources.list/sources.list.md5-package-broken
deleted file mode 100644
index 3ba43181e..000000000
--- a/test/testsources.list/sources.list.md5-package-broken
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-package-broken/ /
-
diff --git a/test/testsources.list/sources.list.md5-package-ok b/test/testsources.list/sources.list.md5-package-ok
deleted file mode 100644
index 9bf207780..000000000
--- a/test/testsources.list/sources.list.md5-package-ok
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-package-ok/ /
-
diff --git a/test/testsources.list/sources.list.md5-release-broken b/test/testsources.list/sources.list.md5-release-broken
deleted file mode 100644
index 1c8f1dd79..000000000
--- a/test/testsources.list/sources.list.md5-release-broken
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-release-broken/ /
diff --git a/test/testsources.list/sources.list.md5-release-ok b/test/testsources.list/sources.list.md5-release-ok
deleted file mode 100644
index f27e04f16..000000000
--- a/test/testsources.list/sources.list.md5-release-ok
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-release-ok/ /
diff --git a/test/testsources.list/sources.list.sha1-release-broken b/test/testsources.list/sources.list.sha1-release-broken
deleted file mode 100644
index 29a277899..000000000
--- a/test/testsources.list/sources.list.sha1-release-broken
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha1-release-broken/ /
diff --git a/test/testsources.list/sources.list.sha1-release-ok b/test/testsources.list/sources.list.sha1-release-ok
deleted file mode 100644
index 6f95d0247..000000000
--- a/test/testsources.list/sources.list.sha1-release-ok
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha1-release-ok/ /
diff --git a/test/testsources.list/sources.list.sha256-package-broken b/test/testsources.list/sources.list.sha256-package-broken
deleted file mode 100644
index d6d284b9c..000000000
--- a/test/testsources.list/sources.list.sha256-package-broken
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-package-broken/ /
-
diff --git a/test/testsources.list/sources.list.sha256-package-ok b/test/testsources.list/sources.list.sha256-package-ok
deleted file mode 100644
index c2d7570d1..000000000
--- a/test/testsources.list/sources.list.sha256-package-ok
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-package-ok/ /
-
diff --git a/test/testsources.list/sources.list.sha256-release-broken b/test/testsources.list/sources.list.sha256-release-broken
deleted file mode 100644
index 713a4d9c8..000000000
--- a/test/testsources.list/sources.list.sha256-release-broken
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-release-broken/ /
diff --git a/test/testsources.list/sources.list.sha256-release-ok b/test/testsources.list/sources.list.sha256-release-ok
deleted file mode 100644
index 93b44e366..000000000
--- a/test/testsources.list/sources.list.sha256-release-ok
+++ /dev/null
@@ -1 +0,0 @@
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-release-ok/ /
diff --git a/test/uri.cc b/test/uri.cc
deleted file mode 100644
index ae9dc9d05..000000000
--- a/test/uri.cc
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <apt-pkg/strutl.h>
-#include <stdio.h>
-
-void Test(const char *Foo)
-{
- URI U(Foo);
-
- printf("%s a='%s' u='%s' p='%s' port='%u'\n h='%s' p='%s'\n",
- Foo,U.Access.c_str(),U.User.c_str(),U.Password.c_str(),
- U.Port,U.Host.c_str(),U.Path.c_str());
-}
-
-int main()
-{
- // Basic stuff
- Test("http://www.debian.org:90/temp/test");
- Test("http://jgg:foo@ualberta.ca/blah");
- Test("file:/usr/bin/foo");
- Test("cdrom:Moo Cow Rom:/debian");
- Test("gzip:./bar/cow");
-
- // RFC 2732 stuff
- Test("http://[1080::8:800:200C:417A]/foo");
- Test("http://[::FFFF:129.144.52.38]:80/index.html");
- Test("http://[::FFFF:129.144.52.38:]:80/index.html");
- Test("http://[::FFFF:129.144.52.38:]/index.html");
-
- /* My Evil Corruption of RFC 2732 to handle CDROM names! Fun for
- the whole family! */
- Test("cdrom:[The Debian 1.2 disk, 1/2 R1:6]/debian/");
- Test("cdrom:Foo Bar Cow/debian/");
-
- Test("ftp:ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb");
-}