]> git.saurik.com Git - apt.git/commitdiff
Merge with Michael and resolve conflicts
authorbubulle@debian.org <>
Mon, 21 Aug 2006 15:55:15 +0000 (10:55 -0500)
committerbubulle@debian.org <>
Mon, 21 Aug 2006 15:55:15 +0000 (10:55 -0500)
55 files changed:
apt-inst/contrib/extracttar.cc
apt-pkg/acquire-item.cc
apt-pkg/contrib/hashes.cc
apt-pkg/contrib/hashes.h
apt-pkg/contrib/sha256.cc [new file with mode: 0644]
apt-pkg/contrib/sha256.h [new file with mode: 0644]
apt-pkg/deb/dpkgpm.cc
apt-pkg/makefile
apt-pkg/tagfile.cc
apt-pkg/tagfile.h
cmdline/apt-get.cc
configure.in
debian/changelog
debian/control
doc/apt-cache.8.xml
doc/apt-get.8.xml
doc/apt.ent
doc/examples/configure-index
ftparchive/cachedb.cc
ftparchive/cachedb.h
ftparchive/writer.cc
ftparchive/writer.h
methods/gpgv.cc
methods/http.cc
po/apt-all.pot
po/bg.po
po/bs.po
po/ca.po
po/cs.po
po/cy.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/es.po
po/fr.po
po/gl.po
po/hu.po
po/it.po
po/ja.po
po/ko.po
po/nb.po
po/nl.po
po/nn.po
po/pl.po
po/pt.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/tl.po
po/zh_CN.po
po/zh_TW.po
test/hash.cc

index d6da802fec33c239e424dbb7703e8063fa0dae8c..062c06fa48eb91a82361dcb591a718bfff6c22e5 100644 (file)
@@ -136,7 +136,8 @@ bool ExtractTar::StartGzip()
       
       const char *Args[3];
       string confvar = string("dir::bin::") + DecompressProg;
-      Args[0] = _config->Find(confvar.c_str(),DecompressProg.c_str()).c_str();
+      string argv0 = _config->Find(confvar.c_str(),DecompressProg.c_str());
+      Args[0] = argv0.c_str();
       Args[1] = "-d";
       Args[2] = 0;
       execvp(Args[0],(char **)Args);
index 1fa929aad659823994e4f7286df069095ae90ada..421288007181fe408787f7ada7fcfe663bcaeb33 100644 (file)
@@ -149,7 +149,7 @@ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner,
    if(comprExt.empty()) 
    {
       // autoselect the compression method
-      if(FileExists("/usr/bin/bzip2")) 
+      if(FileExists("/bin/bzip2")) 
         CompressionExtension = ".bz2";
       else 
         CompressionExtension = ".gz";
index b17b9431989e59ffcab886c40ceff0205594578b..9b22a90d3321d24144c2c73761a6e2520471218e 100644 (file)
@@ -36,6 +36,7 @@ bool Hashes::AddFD(int Fd,unsigned long Size)
       Size -= Res;
       MD5.Add(Buf,Res);
       SHA1.Add(Buf,Res);
+      SHA256.Add(Buf,Res);
    }
    return true;
 }
index 40bbe00a02673edae48a0cd23f78cd018435de26..eefa7bf4147dd670e21df66eeb32e3353c0563ea 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <apt-pkg/md5.h>
 #include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
 
 #include <algorithm>
 
@@ -30,10 +31,11 @@ class Hashes
 
    MD5Summation MD5;
    SHA1Summation SHA1;
+   SHA256Summation SHA256;
    
    inline bool Add(const unsigned char *Data,unsigned long Size)
    {
-      return MD5.Add(Data,Size) && SHA1.Add(Data,Size);
+      return MD5.Add(Data,Size) && SHA1.Add(Data,Size) && SHA256.Add(Data,Size);
    };
    inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));};
    bool AddFD(int Fd,unsigned long Size);
diff --git a/apt-pkg/contrib/sha256.cc b/apt-pkg/contrib/sha256.cc
new file mode 100644 (file)
index 0000000..b75ce8a
--- /dev/null
@@ -0,0 +1,424 @@
+/*
+ * 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.
+ *
+ */
+#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
new file mode 100644 (file)
index 0000000..9e88f5e
--- /dev/null
@@ -0,0 +1,75 @@
+// -*- 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
+
+#ifdef __GNUG__
+#pragma interface "apt-pkg/sha256.h"
+#endif 
+
+#include <string>
+#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:
+
+   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();
+};
+
+#endif
index 667db8ff2d98f4da38ae95d1416ec55c89f874c2..bf0434ccc5ab32c5333c122579f7d48117c743f8 100644 (file)
@@ -624,7 +624,13 @@ bool pkgDPkgPM::Go(int OutStatusFd)
            
         */
         char* list[5];
-        TokSplitString(':', line, list, sizeof(list)/sizeof(list[0]));
+        if(!TokSplitString(':', line, list, sizeof(list)/sizeof(list[0])))
+           // FIXME: dpkg sends multiline error messages sometimes (see
+           //        #374195 for a example. we should support this by
+           //        either patching dpkg to not send multiline over the
+           //        statusfd or by rewriting the code here to deal with
+           //        it. for now we just ignore it and not crash
+           continue;
         char *pkg = list[1];
         char *action = _strstrip(list[2]);
 
index 0e6aecc65c26e6a231f824d0921c729a9b4a5d4e..7e5feae53b4b11082c1d3973bab0772c5ce7085d 100644 (file)
@@ -21,11 +21,11 @@ APT_DOMAIN:=libapt-pkg$(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/hashes.cc \
+        contrib/md5.cc contrib/sha1.cc contrib/sha256.cc contrib/hashes.cc \
         contrib/cdromutl.cc contrib/crc-16.cc \
         contrib/fileutl.cc 
 HEADERS = mmap.h error.h configuration.h fileutl.h  cmndline.h \
-         md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h hashes.h
+         md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha256.h hashes.h
 
 # Source code for the core main library
 SOURCE+= pkgcache.cc version.cc depcache.cc \
index 79ff18de4063af437eb8415859eead6dba428f5c..8fcbeb23b6fb39ee1ab3deab4f268fece42029f5 100644 (file)
@@ -33,21 +33,32 @@ using std::string;
 /* */
 pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
      Fd(*pFd),
-     Size(Size)
+     Size(Size),
+     Map(NULL),
+     Buffer(0)
 {
-   if (Fd.IsOpen() == false || Fd.Size() == 0)
+   if (Fd.IsOpen() == false)
    {
-      Buffer = 0;
       Start = End = Buffer = 0;
+      Done = true;
       iOffset = 0;
       Map = NULL;
       return;
    }
    
-   Map = new MMap (Fd, MMap::Public | MMap::ReadOnly);
-   Buffer = (char *) Map->Data ();
-   Start = Buffer;
-   End = Buffer + Map->Size ();
+   // check if we can MMap it
+   if(Fd.Size() == 0)
+   {
+      Buffer = new char[Size];
+      Start = End = Buffer;
+      Done = false;
+      Fill();
+   } else {
+      Map = new MMap (Fd, MMap::Public | MMap::ReadOnly);
+      Buffer = (char *) Map->Data ();
+      Start = Buffer;
+      End = Buffer + Map->Size ();
+   }
    iOffset = 0;
 }
                                                                        /*}}}*/
@@ -56,6 +67,7 @@ pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
 /* */
 pkgTagFile::~pkgTagFile()
 {
+   if(!Map) delete [] Buffer;
    delete Map;
 }
                                                                        /*}}}*/
@@ -64,18 +76,70 @@ pkgTagFile::~pkgTagFile()
 /* If the Section Scanner fails we refill the buffer and try again. */
 bool pkgTagFile::Step(pkgTagSection &Tag)
 {
-   if (Start == End)
+   if ((Map != NULL) && (Start == End))
       return false;
 
    if (Tag.Scan(Start,End - Start) == false)
    {
-      return _error->Error(_("Unable to parse package file %s (1)"),
-             Fd.Name().c_str());
+      if (Map != NULL)
+        return _error->Error(_("Unable to parse package file %s (1)"),
+                             Fd.Name().c_str());
+
+      if (Fill() == false)
+        return false;
+      
+      if (Tag.Scan(Start,End - Start) == false)
+        return _error->Error(_("Unable to parse package file %s (1)"),
+                             Fd.Name().c_str());
    }
    Start += Tag.size();
    iOffset += Tag.size();
 
    Tag.Trim();
+   return true;
+}
+                                                                       /*}}}*/
+// TagFile::Fill - Top up the buffer                                   /*{{{*/
+// ---------------------------------------------------------------------
+/* This takes the bit at the end of the buffer and puts it at the start
+   then fills the rest from the file */
+bool pkgTagFile::Fill()
+{
+   unsigned long EndSize = End - Start;
+   unsigned long Actual = 0;
+   
+   memmove(Buffer,Start,EndSize);
+   Start = Buffer;
+   End = Buffer + EndSize;
+   
+   if (Done == false)
+   {
+      // See if only a bit of the file is left
+      if (Fd.Read(End,Size - (End - Buffer),&Actual) == false)
+        return false;
+      if (Actual != Size - (End - Buffer))
+        Done = true;
+      End += Actual;
+   }
+   
+   if (Done == true)
+   {
+      if (EndSize <= 3 && Actual == 0)
+        return false;
+      if (Size - (End - 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--)
+        if (*E == '\n')
+           LineCount++;
+      for (; LineCount < 2; LineCount++)
+        *End++ = '\n';
+      
+      return true;
+   }
+   
    return true;
 }
                                                                        /*}}}*/
@@ -94,12 +158,31 @@ bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long Offset)
       return Step(Tag);
    }
 
-   // Reposition and reload..
    iOffset = Offset;
-   Start = Buffer + iOffset;
+   if (Map != NULL)
+   {
+      Start = Buffer + iOffset;
+   } 
+   else 
+   {
+      // Reposition and reload..
+      Done = false;
+      if (Fd.Seek(Offset) == false)
+        return false;
+      End = Start = Buffer;
    
-   // Start != End is a special case to not fail on empty TagFiles
-   if (Start != End && Tag.Scan(Start,End - Start) == false)
+      if (Fill() == false)
+        return false;
+
+      if (Tag.Scan(Start,End - 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());
    
    return true;
@@ -157,8 +240,8 @@ bool pkgTagSection::Scan(const char *Start,unsigned long MaxLength)
 
    if ((Stop+1 >= End) && (End[-1] == '\n' || End[-1] == '\r'))
    {
-       Indexes[TagCount] = (End - 1) - Section;
-       return true;
+      Indexes[TagCount] = (End - 1) - Section;
+      return true;
    }
 
    return false;
@@ -343,7 +426,8 @@ static const char *iTFRewritePackageOrder[] = {
                           "Filename",
                           "Size",
                           "MD5Sum",
-                          "SHA1Sum",
+                          "SHA1",
+                          "SHA256",
                            "MSDOS-Filename",   // Obsolete
                           "Description",
                           0};
index 5cff2681cd1721f682507c44a9acc63da080bee5..dd481ba510ea9fe1838ffe278ac1cc962493f293 100644 (file)
@@ -74,16 +74,19 @@ class pkgTagFile
    char *Buffer;
    char *Start;
    char *End;
+   bool Done;
    unsigned long iOffset;
    unsigned long Size;
    
+   bool Fill();
+   
    public:
 
    bool Step(pkgTagSection &Section);
    inline unsigned long Offset() {return iOffset;};
    bool Jump(pkgTagSection &Tag,unsigned long Offset);
 
-   pkgTagFile(FileFd *F,unsigned long Size = 32*1024);
+   pkgTagFile(FileFd *F,unsigned long Size = 64*1024);
    ~pkgTagFile();
 };
 
index d4a6bee3215152324c2ec7a38ad3d03d5ce94dc3..64882e3e8875ad58672ae0c14f3f80964f207584 100644 (file)
@@ -1609,68 +1609,86 @@ bool DoInstall(CommandLine &CmdL)
       string SuggestsVersions, RecommendsVersions;
       for (unsigned J = 0; J < Cache->Head().PackageCount; J++)
       {
-        pkgCache::PkgIterator I(Cache,Cache.List[J]);
+        pkgCache::PkgIterator Pkg(Cache,Cache.List[J]);
 
         /* Just look at the ones we want to install */
-        if ((*Cache)[I].Install() == false)
+        if ((*Cache)[Pkg].Install() == false)
           continue;
 
-        for (pkgCache::VerIterator V = I.VersionList(); V.end() == false; V++)
-         {
-            for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; )
-             {
-                pkgCache::DepIterator Start;
-                pkgCache::DepIterator End;
-                D.GlobOr(Start,End); // advances D
-
-                /* 
-                 * 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
-                 */
-                
-                bool providedBySomething = false;
-                for (pkgCache::PrvIterator Prv = Start.TargetPkg().ProvidesList();
-                      Prv.end() != true;
-                      Prv++)
-                   if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false)
-                    {
-                      providedBySomething = true;
-                      break;
-                   }
-
-                if (providedBySomething) continue;
-            
-                 for(;;)
-                 {
-                     /* Skip if package is  installed already, or is about to be */
-                     string target = string(Start.TargetPkg().Name()) + " ";
-
-                     if ((*Start.TargetPkg()).SelectedState == pkgCache::State::Install
-                         || Cache[Start.TargetPkg()].Install())
-                       break;
-
-                     /* Skip if we already saw it */
-                     if (int(SuggestsList.find(target)) != -1 || int(RecommendsList.find(target)) != -1)
-                       break; 
-
-                    if (Start->Type == pkgCache::Dep::Suggests) {
-                      SuggestsList += target;
-                      SuggestsVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n";
-                    }
-                    
-                    if (Start->Type == pkgCache::Dep::Recommends) {
-                      RecommendsList += target;
-                      RecommendsVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n";
-                    }
-
-                     if (Start >= End)
-                        break;
-                     Start++;
-                 }
-             }
-         }
+        // get the recommends/suggests for the candidate ver
+        pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache);
+        for (pkgCache::DepIterator D = CV.DependsList(); D.end() == false; )
+        {
+           pkgCache::DepIterator Start;
+           pkgCache::DepIterator End;
+           D.GlobOr(Start,End); // advances D
+
+           // FIXME: we really should display a or-group as a or-group to the user
+           //        the problem is that ShowList is incapable of doing this
+           string RecommendsOrList,RecommendsOrVersions;
+           string SuggestsOrList,SuggestsOrVersions;
+           bool foundInstalledInOrGroup = false;
+           for(;;)
+           {
+              /* Skip if package is  installed already, or is about to be */
+              string target = string(Start.TargetPkg().Name()) + " ";
+              
+              if ((*Start.TargetPkg()).SelectedState == pkgCache::State::Install
+                  || Cache[Start.TargetPkg()].Install())
+              {
+                 foundInstalledInOrGroup=true;
+                 break;
+              }
+
+              /* Skip if we already saw it */
+              if (int(SuggestsList.find(target)) != -1 || int(RecommendsList.find(target)) != -1)
+              {
+                 foundInstalledInOrGroup=true;
+                 break; 
+              }
+
+              // this is a dep on a virtual pkg, check if any package that provides it
+              // should be installed
+              if(Start.TargetPkg().ProvidesList() != 0)
+              {
+                 pkgCache::PrvIterator I = Start.TargetPkg().ProvidesList();
+                 for (; I.end() == false; I++)
+                 {
+                    pkgCache::PkgIterator Pkg = I.OwnerPkg();
+                    if (Cache[Pkg].CandidateVerIter(Cache) == I.OwnerVer() && 
+                        Pkg.CurrentVer() != 0)
+                       foundInstalledInOrGroup=true;
+                 }
+              }
+
+              if (Start->Type == pkgCache::Dep::Suggests) 
+              {
+                 SuggestsOrList += target;
+                 SuggestsOrVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n";
+              }
+              
+              if (Start->Type == pkgCache::Dep::Recommends) 
+              {
+                 RecommendsOrList += target;
+                 RecommendsOrVersions += string(Cache[Start.TargetPkg()].CandVersion) + "\n";
+              }
+
+              if (Start >= End)
+                 break;
+              Start++;
+           }
+           
+           if(foundInstalledInOrGroup == false)
+           {
+              RecommendsList += RecommendsOrList;
+              RecommendsVersions += RecommendsOrVersions;
+              SuggestsList += SuggestsOrList;
+              SuggestsVersions += SuggestsOrVersions;
+           }
+              
+        }
       }
+
       ShowList(c1out,_("Suggested packages:"),SuggestsList,SuggestsVersions);
       ShowList(c1out,_("Recommended packages:"),RecommendsList,RecommendsVersions);
 
index 8e1e9bf75c89e1c20b8cf2e5ee4dada4d81d4d96..fc4eff203d5fead71051b9cbdf75c1c8976e6574 100644 (file)
@@ -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.6.44.1-0.1")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.45")
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)
index 0c31db6bd7cf8181358517fcf620251b558e1756..e69c5091f09446b8d6a4220596c0101a85f48bcf 100644 (file)
@@ -1,18 +1,74 @@
-apt (0.6.44.2) unstable; urgency=low
+apt (0.6.45.1) unstable; urgency=low
 
-  * apt-pkg/depcache.cc:
-    - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
-  * merged from 
-    http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
-       * sk.po: Completed to 512t
-       * eu.po: Completed to 512t
-       * fr.po: Completed to 512t
-       * sv.po: Completed to 512t
-       * Update all PO and the POT. Gives 506t6f for formerly
-         complete translations
+  * debian/control:
+    - switched to libdb4.4 for building (closes: #381019)
+  * cmdline/apt-get.cc:
+    - show only the recommends/suggests for the candidate-version, not for all
+      versions of the package (closes: #257054)
+    - properly handle recommends/suggests or-groups when printing the list of
+      suggested/recommends packages (closes: #311619)
+  * methods/http.cc:
+    - check more careful for incorrect proxy settings (closes: #378868)
 
  --
 
+apt (0.6.45) unstable; urgency=low
+
+  * apt-pkg/contrib/sha256.cc:
+    - fixed the sha256 generation (closes: #378183)
+  * ftparchive/cachedb.cc:
+    - applied patch from Anthony Towns to fix Clean() function
+      (closes: #379576)
+  * doc/apt-get.8.xml:
+    - fix path to the apt user build (Closes: #375640)
+  * doc/apt-cache.8.xml:
+    - typo (Closes: #376408)
+  * apt-pkg/deb/dpkgpm.cc:
+    - make progress reporting more robust against multiline error
+      messages (first half of a fix for #374195)
+  * doc/examples/configure-index:
+    - document Debug::pkgAcquire::Auth     
+  * methods/gpgv.cc:
+    - deal with gpg error "NODATA". Closes: #296103, Thanks to 
+      Luis Rodrigo Gallardo Cruz for the patch
+  * apt-inst/contrib/extracttar.cc:
+    - fix for string mangling, closes: #373864
+  * apt-pkg/acquire-item.cc:
+    - check for bzip2 in /bin (closes: #377391)
+  * apt-pkg/tagfile.cc:
+    - make it work on non-mapable files again, thanks 
+      to James Troup for confirming the fix (closes: #376777)
+  * Merged from Christian Perrier bzr branch:
+    * ko.po: Updated to 512t. Closes: #378901
+    * hu.po: Updated to 512t. Closes: #376330
+    * km.po: New Khmer translation: 506t6f. Closes: #375068
+    * ne.po: New Nepali translation: 512t. Closes: #373729
+    * vi.po: Updated to 512t. Closes: #368038
+    * zh_TW.po: Remove an extra %s in one string. Closes: #370551
+    * dz.po: New Dzongkha translation: 512t
+    * ro.po: Updated to 512t
+    * eu.po: Updated
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 27 Jul 2006 00:52:05 +0200
+
+apt  (0.6.44.2) unstable; urgency=low 
+  
+   * apt-pkg/depcache.cc:
+     - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
+   * apt-pkg/acquire-item.cc:
+     - fix missing chmod() in the new aquire code
+       (thanks to Bastian Blank, Closes: #367425)
+   * merged from
+     http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
+     * sk.po: Completed to 512t
+     * eu.po: Completed to 512t
+     * fr.po: Completed to 512t
+     * sv.po: Completed to 512t
+     * Update all PO and the POT. Gives 506t6f for formerly
+       complete translations
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 14 Jun 2006 12:00:57 +0200 
+
 apt (0.6.44.1-0.1) unstable; urgency=low
 
   * Non-maintainer upload.
index 53ce851f6ff5e0fcfc74fed868cf65ff38c24f61..3cba50acb3b2cfda0503cce02193dd42fb49ca8c 100644 (file)
@@ -4,7 +4,7 @@ Priority: important
 Maintainer: APT Development Team <deity@lists.debian.org>
 Uploaders: Jason Gunthorpe <jgg@debian.org>, Adam Heath <doogie@debian.org>, Matt Zimmerman <mdz@debian.org>, Michael Vogt <mvo@debian.org>
 Standards-Version: 3.6.2.2
-Build-Depends: debhelper (>= 5.0), libdb4.3-dev, gettext (>= 0.12)
+Build-Depends: debhelper (>= 5.0), libdb4.4-dev, gettext (>= 0.12)
 Build-Depends-Indep: debiandoc-sgml, docbook-utils (>= 0.6.12-1)
 
 Package: apt
index 789c3d22874c1f94b71b2b6b2d63a3330f408932..2779f250142e6076c42945f184a69bad6c9736d4 100644 (file)
@@ -277,7 +277,7 @@ Reverse Provides:
      <listitem><para>Select the file to store the source cache. The source is used only by
      <literal>gencaches</literal> and it stores a parsed version of the package 
      information from remote sources. When building the package cache the 
-     source cache is used to advoid reparsing all of the package files.
+     source cache is used to avoid reparsing all of the package files.
      Configuration Item: <literal>Dir::Cache::srcpkgcache</literal>.</para></listitem>
      </varlistentry>
 
index ac84f342a8e626bf2619c741eaa75816f04066b1..b98d5873719f1c9ea8dff4230ef84980d1cd0918 100644 (file)
  <refsect1><title>See Also</title>
    <para>&apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;,
    &apt-conf;, &apt-config;,
-   The APT User's guide in &docdir;, &apt-preferences;, the APT Howto.</para>
+   The APT User's guide in &guidesdir;, &apt-preferences;, the APT Howto.</para>
  </refsect1>
 
  <refsect1><title>Diagnostics</title>
index cf22df6d2dd968f94ff2417e15a94751f4ae346e..99fe443cfd650c58efaec04f3d76194b125bd8f7 100644 (file)
@@ -2,6 +2,7 @@
 
 <!-- Some common paths.. -->
 <!ENTITY docdir "/usr/share/doc/apt/">
+<!ENTITY guidesdir "/usr/share/doc/apt-doc/">
 <!ENTITY configureindex "<filename>&docdir;examples/configure-index.gz</filename>">
 <!ENTITY aptconfdir "<filename>/etc/apt.conf</filename>">
 <!ENTITY statedir "/var/lib/apt">
index b87e8503049e8ced9ce112aa9a55a57936fb2126..f8abd75ed7e9863600cac66e5490ed6e4cd6d794 100644 (file)
@@ -247,6 +247,7 @@ Debug
   pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
   pkgAcquire "false";
   pkgAcquire::Worker "false";
+  pkgAcquire::Auth "false";
   pkgDPkgPM "false";
   pkgDPkgProgressReporting "false";
   pkgOrderList "false";
index 9e93dff0520946658c3bd8ee03da1cf62a3db2c5..8a4ca023669361e32d23b25a8638be551a77c03d 100644 (file)
@@ -19,6 +19,8 @@
 #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/strutl.h>
 #include <apt-pkg/configuration.h>
     
@@ -54,7 +56,7 @@ bool CacheDB::ReadyDB(string DB)
       return true;
 
    db_create(&Dbp, NULL, 0);
-   if ((err = Dbp->open(Dbp, NULL, DB.c_str(), NULL, DB_HASH,
+   if ((err = Dbp->open(Dbp, NULL, DB.c_str(), NULL, DB_BTREE,
                         (ReadOnly?DB_RDONLY:DB_CREATE),
                         0644)) != 0)
    {
@@ -67,6 +69,12 @@ bool CacheDB::ReadyDB(string DB)
                             (ReadOnly?DB_RDONLY:DB_CREATE), 0644);
 
       }
+      // the database format has changed from DB_HASH to DB_BTREE in 
+      // apt 0.6.44
+      if (err == EINVAL)
+      {
+        _error->Error(_("DB format is invalid. If you upgraded from a older version of apt, please remove and re-create the database."));
+      }
       if (err)
       {
           Dbp = 0;
@@ -79,48 +87,123 @@ bool CacheDB::ReadyDB(string DB)
    return true;
 }
                                                                        /*}}}*/
-// CacheDB::SetFile - Select a file to be working with                 /*{{{*/
+// CacheDB::OpenFile - Open the filei                                  /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool CacheDB::OpenFile()
+{
+       Fd = new FileFd(FileName,FileFd::ReadOnly);
+       if (_error->PendingError() == true)
+       {
+               delete Fd;
+               Fd = NULL;
+               return false;
+       }
+       return true;
+}
+                                                                       /*}}}*/
+// CacheDB::GetFileStat - Get stats from the file                      /*{{{*/
+// ---------------------------------------------------------------------
+/* This gets the size from the database if it's there.  If we need
+ * to look at the file, also get the mtime from the file. */
+bool CacheDB::GetFileStat()
+{
+       if ((CurStat.Flags & FlSize) == FlSize)
+       {
+               /* Already worked out the file size */
+       }
+       else
+       {
+               /* Get it from the file. */
+               if (Fd == NULL && OpenFile() == false)
+               {
+                       return false;
+               }
+               // Stat the file
+               struct stat St;
+               if (fstat(Fd->Fd(),&St) != 0)
+               {
+                       return _error->Errno("fstat",
+                               _("Failed to stat %s"),FileName.c_str());
+               }
+               CurStat.FileSize = St.st_size;
+               CurStat.mtime = htonl(St.st_mtime);
+               CurStat.Flags |= FlSize;
+       }
+       return true;
+}
+                                                                       /*}}}*/
+// CacheDB::GetCurStat - Set the CurStat variable.                     /*{{{*/
 // ---------------------------------------------------------------------
-/* All future actions will be performed against this file */
-bool CacheDB::SetFile(string FileName,struct stat St,FileFd *Fd)
+/* Sets the CurStat variable.  Either to 0 if no database is used
+ * or to the value in the database if one is used */
+bool CacheDB::GetCurStat()
 {
-   delete DebFile;
-   DebFile = 0;
-   this->FileName = FileName;
-   this->Fd = Fd;
-   this->FileStat = St;
-   FileStat = St;   
    memset(&CurStat,0,sizeof(CurStat));
    
-   Stats.Bytes += St.st_size;
-   Stats.Packages++;
-   
-   if (DBLoaded == false)
-      return true;
+       if (DBLoaded)
+       {
+               /* First see if thre is anything about it
+                  in the database */
 
+               /* Get the flags (and mtime) */
    InitQuery("st");
-   
    // Ensure alignment of the returned structure
    Data.data = &CurStat;
    Data.ulen = sizeof(CurStat);
    Data.flags = DB_DBT_USERMEM;
-   // Lookup the stat info and confirm the file is unchanged
-   if (Get() == true)
-   {
-      if (CurStat.mtime != htonl(St.st_mtime))
+               if (Get() == false)
       {
-        CurStat.mtime = htonl(St.st_mtime);
         CurStat.Flags = 0;
-        _error->Warning(_("File date has changed %s"),FileName.c_str());
       }      
+               CurStat.Flags = ntohl(CurStat.Flags);
+               CurStat.FileSize = ntohl(CurStat.FileSize);
    }      
-   else
+       return true;
+}
+                                                                       /*}}}*/
+// CacheDB::GetFileInfo - Get all the info about the file              /*{{{*/
+// ---------------------------------------------------------------------
+bool CacheDB::GetFileInfo(string FileName, bool DoControl, bool DoContents,
+                               bool GenContentsOnly, 
+                               bool DoMD5, bool DoSHA1, bool DoSHA256)
+{
+       this->FileName = FileName;
+
+       if (GetCurStat() == false)
    {
-      CurStat.mtime = htonl(St.st_mtime);
-      CurStat.Flags = 0;
+               return false;
    }   
-   CurStat.Flags = ntohl(CurStat.Flags);
    OldStat = CurStat;
+       
+       if (GetFileStat() == false)
+       {
+               delete Fd;
+               Fd = NULL;
+               return false;   
+       }
+
+       Stats.Bytes += CurStat.FileSize;
+       Stats.Packages++;
+
+       if (DoControl && LoadControl() == false
+               || DoContents && LoadContents(GenContentsOnly) == false
+               || DoMD5 && GetMD5(false) == false
+               || DoSHA1 && GetSHA1(false) == false
+               || DoSHA256 && GetSHA256(false) == false)
+       {
+               delete Fd;
+               Fd = NULL;
+               delete DebFile;
+               DebFile = NULL;
+               return false;   
+       }
+
+       delete Fd;
+       Fd = NULL;
+       delete DebFile;
+       DebFile = NULL;
+
    return true;
 }
                                                                        /*}}}*/
@@ -139,6 +222,10 @@ bool CacheDB::LoadControl()
       CurStat.Flags &= ~FlControl;
    }
    
+   if (Fd == NULL && OpenFile() == false)
+   {
+      return false;
+   }
    // Create a deb instance to read the archive
    if (DebFile == 0)
    {
@@ -183,6 +270,10 @@ bool CacheDB::LoadContents(bool GenOnly)
       CurStat.Flags &= ~FlContents;
    }
    
+   if (Fd == NULL && OpenFile() == false)
+   {
+      return false;
+   }
    // Create a deb instance to read the archive
    if (DebFile == 0)
    {
@@ -201,10 +292,37 @@ bool CacheDB::LoadContents(bool GenOnly)
    return true;
 }
                                                                        /*}}}*/
+
+static string bytes2hex(uint8_t *bytes, size_t length) {
+   char space[65];
+   if (length * 2 > sizeof(space) - 1) length = (sizeof(space) - 1) / 2;
+   for (size_t i = 0; i < length; i++)
+      snprintf(&space[i*2], 3, "%02x", bytes[i]);
+   return string(space);
+}
+
+static inline unsigned char xdig2num(char dig) {
+   if (isdigit(dig)) return dig - '0';
+   if ('a' <= dig && dig <= 'f') return dig - 'a' + 10;
+   if ('A' <= dig && dig <= 'F') return dig - 'A' + 10;
+   return 0;
+}
+
+static void hex2bytes(uint8_t *bytes, const char *hex, int length) {
+   while (length-- > 0) {
+      *bytes = 0;
+      if (isxdigit(hex[0]) && isxdigit(hex[1])) {
+         *bytes = xdig2num(hex[0]) * 16 + xdig2num(hex[1]);
+         hex += 2;
+      }
+      bytes++;
+   } 
+}
+
 // CacheDB::GetMD5 - Get the MD5 hash                                  /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-bool CacheDB::GetMD5(string &MD5Res,bool GenOnly)
+bool CacheDB::GetMD5(bool GenOnly)
 {
    // Try to read the control information out of the DB.
    if ((CurStat.Flags & FlMD5) == FlMD5)
@@ -212,28 +330,88 @@ bool CacheDB::GetMD5(string &MD5Res,bool GenOnly)
       if (GenOnly == true)
         return true;
       
-      InitQuery("m5");
-      if (Get() == true)
-      {
-        MD5Res = string((char *)Data.data,Data.size);
+      MD5Res = bytes2hex(CurStat.MD5, sizeof(CurStat.MD5));
         return true;
       }
-      CurStat.Flags &= ~FlMD5;
-   }
    
-   Stats.MD5Bytes += FileStat.st_size;
+   Stats.MD5Bytes += CurStat.FileSize;
         
+   if (Fd == NULL && OpenFile() == false)
+   {
+      return false;
+   }
    MD5Summation MD5;
-   if (Fd->Seek(0) == false || MD5.AddFD(Fd->Fd(),FileStat.st_size) == false)
+   if (Fd->Seek(0) == false || MD5.AddFD(Fd->Fd(),CurStat.FileSize) == false)
       return false;
    
    MD5Res = MD5.Result();
-   InitQuery("m5");
-   if (Put(MD5Res.c_str(),MD5Res.length()) == true)
+   hex2bytes(CurStat.MD5, MD5Res.data(), sizeof(CurStat.MD5));
       CurStat.Flags |= FlMD5;
    return true;
 }
                                                                        /*}}}*/
+// CacheDB::GetSHA1 - Get the SHA1 hash                                        /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool CacheDB::GetSHA1(bool GenOnly)
+{
+   // Try to read the control information out of the DB.
+   if ((CurStat.Flags & FlSHA1) == FlSHA1)
+   {
+      if (GenOnly == true)
+        return true;
+
+      SHA1Res = bytes2hex(CurStat.SHA1, sizeof(CurStat.SHA1));
+      return true;
+   }
+   
+   Stats.SHA1Bytes += CurStat.FileSize;
+        
+   if (Fd == NULL && OpenFile() == false)
+   {
+      return false;
+   }
+   SHA1Summation SHA1;
+   if (Fd->Seek(0) == false || SHA1.AddFD(Fd->Fd(),CurStat.FileSize) == false)
+      return false;
+   
+   SHA1Res = SHA1.Result();
+   hex2bytes(CurStat.SHA1, SHA1Res.data(), sizeof(CurStat.SHA1));
+   CurStat.Flags |= FlSHA1;
+   return true;
+}
+                                                                       /*}}}*/
+// CacheDB::GetSHA256 - Get the SHA256 hash                            /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool CacheDB::GetSHA256(bool GenOnly)
+{
+   // Try to read the control information out of the DB.
+   if ((CurStat.Flags & FlSHA256) == FlSHA256)
+   {
+      if (GenOnly == true)
+        return true;
+
+      SHA256Res = bytes2hex(CurStat.SHA256, sizeof(CurStat.SHA256));
+      return true;
+   }
+   
+   Stats.SHA256Bytes += CurStat.FileSize;
+        
+   if (Fd == NULL && OpenFile() == false)
+   {
+      return false;
+   }
+   SHA256Summation SHA256;
+   if (Fd->Seek(0) == false || SHA256.AddFD(Fd->Fd(),CurStat.FileSize) == false)
+      return false;
+   
+   SHA256Res = SHA256.Result();
+   hex2bytes(CurStat.SHA256, SHA256Res.data(), sizeof(CurStat.SHA256));
+   CurStat.Flags |= FlSHA256;
+   return true;
+}
+                                                                       /*}}}*/
 // CacheDB::Finish - Write back the cache structure                    /*{{{*/
 // ---------------------------------------------------------------------
 /* */
@@ -246,9 +424,12 @@ bool CacheDB::Finish()
    
    // Write the stat information
    CurStat.Flags = htonl(CurStat.Flags);
+   CurStat.FileSize = htonl(CurStat.FileSize);
    InitQuery("st");
    Put(&CurStat,sizeof(CurStat));
    CurStat.Flags = ntohl(CurStat.Flags);
+   CurStat.FileSize = ntohl(CurStat.FileSize);
+
    return true;
 }
                                                                        /*}}}*/
@@ -272,16 +453,14 @@ bool CacheDB::Clean()
    memset(&Data,0,sizeof(Data));
    while ((errno = Cursor->c_get(Cursor,&Key,&Data,DB_NEXT)) == 0)
    {
-      const char *Colon = (char *)Key.data;
-      for (; Colon != (char *)Key.data+Key.size && *Colon != ':'; Colon++);
-      if ((char *)Key.data+Key.size - Colon > 2)
+      const char *Colon = (char*)memrchr(Key.data, ':', Key.size);
+      if (Colon)
       {
-        if (stringcmp((char *)Key.data,Colon,"st") == 0 ||
-            stringcmp((char *)Key.data,Colon,"cn") == 0 ||
-            stringcmp((char *)Key.data,Colon,"m5") == 0 ||
-            stringcmp((char *)Key.data,Colon,"cl") == 0)
+         if (stringcmp(Colon + 1, (char *)Key.data+Key.size,"st") == 0 ||
+             stringcmp(Colon + 1, (char *)Key.data+Key.size,"cl") == 0 ||
+             stringcmp(Colon + 1, (char *)Key.data+Key.size,"cn") == 0)
         {
-           if (FileExists(string(Colon+1,(const char *)Key.data+Key.size)) == true)
+            if (FileExists(string((const char *)Key.data,Colon)) == true)
                continue;            
         }
       }
index 1b043e1aa33aad8f319f826f89bc2b10e50e9628..afa22213ae5c55b504b1d3d2523c4b28eed28058 100644 (file)
@@ -44,7 +44,7 @@ class CacheDB
       memset(&Key,0,sizeof(Key));
       memset(&Data,0,sizeof(Data));
       Key.data = TmpKey;
-      Key.size = snprintf(TmpKey,sizeof(TmpKey),"%s:%s",Type,FileName.c_str());
+      Key.size = snprintf(TmpKey,sizeof(TmpKey),"%s:%s",FileName.c_str(), Type);
    }
    
    inline bool Get() 
@@ -64,19 +64,31 @@ class CacheDB
       }
       return true;
    }
+   bool OpenFile();
+   bool GetFileStat();
+   bool GetCurStat();
+   bool LoadControl();
+   bool LoadContents(bool GenOnly);
+   bool GetMD5(bool GenOnly);
+   bool GetSHA1(bool GenOnly);
+   bool GetSHA256(bool 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)};
+   enum FlagList {FlControl = (1<<0),FlMD5=(1<<1),FlContents=(1<<2),
+       FlSize=(1<<3), FlSHA1=(1<<4), FlSHA256=(1<<5)};
    struct StatStore
    {
-      time_t   mtime;          
       uint32_t Flags;
+      uint32_t mtime;          
+      uint32_t FileSize;
+      uint8_t  MD5[16];
+      uint8_t  SHA1[20];
+      uint8_t  SHA256[32];
    } CurStat;
    struct StatStore OldStat;
    
    // 'set' state
    string FileName;
-   struct stat FileStat;
    FileFd *Fd;
    debDebFile *DebFile;
    
@@ -85,34 +97,42 @@ class CacheDB
    // Data collection helpers
    debDebFile::MemControlExtract Control;
    ContentsExtract Contents;
+   string MD5Res;
+   string SHA1Res;
+   string SHA256Res;
    
    // Runtime statistics
    struct Stats
    {
       double Bytes;
       double MD5Bytes;
+      double SHA1Bytes;
+      double SHA256Bytes;
       unsigned long Packages;
       unsigned long Misses;  
       unsigned long DeLinkBytes;
       
-      inline void Add(const Stats &S) {Bytes += S.Bytes; MD5Bytes += S.MD5Bytes;
+      inline void Add(const Stats &S) {
+        Bytes += S.Bytes; MD5Bytes += S.MD5Bytes; SHA1Bytes += S.SHA1Bytes; 
+        SHA256Bytes += S.SHA256Bytes;
         Packages += S.Packages; Misses += S.Misses; DeLinkBytes += S.DeLinkBytes;};
-      Stats() : Bytes(0), MD5Bytes(0), Packages(0), Misses(0), DeLinkBytes(0) {};
+      Stats() : Bytes(0), MD5Bytes(0), SHA1Bytes(0), SHA256Bytes(0), Packages(0), Misses(0), DeLinkBytes(0) {};
    } Stats;
    
    bool ReadyDB(string DB);
    inline bool DBFailed() {return Dbp != 0 && DBLoaded == false;};
    inline bool Loaded() {return DBLoaded == true;};
    
+   inline off_t GetFileSize(void) {return CurStat.FileSize;}
+   
    bool SetFile(string FileName,struct stat St,FileFd *Fd);
-   bool LoadControl();
-   bool LoadContents(bool GenOnly);
-   bool GetMD5(string &MD5Res,bool GenOnly);
+   bool GetFileInfo(string FileName, bool DoControl, bool DoContents,
+                  bool GenContentsOnly, bool DoMD5, bool DoSHA1, bool DoSHA256);
    bool Finish();   
    
    bool Clean();
    
-   CacheDB(string DB) : Dbp(0), DebFile(0) {ReadyDB(DB);};
+   CacheDB(string DB) : Dbp(0), Fd(NULL), DebFile(0) {ReadyDB(DB);};
    ~CacheDB() {ReadyDB(string()); delete DebFile;};
 };
     
index fc9ea27d7e52af22d10f5a8d8b46e6c21edead2e..ea242d6af13623f47c2abd165beb6b7910e79023 100644 (file)
@@ -23,6 +23,7 @@
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/md5.h>
 #include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
 #include <apt-pkg/deblistparser.h>
 
 #include <sys/types.h>
@@ -70,7 +71,7 @@ FTWScanner::FTWScanner()
 // ---------------------------------------------------------------------
 /* This is the FTW scanner, it processes each directory element in the 
    directory tree. */
-int FTWScanner::Scanner(const char *File,const struct stat *sb,int Flag)
+int FTWScanner::ScannerFTW(const char *File,const struct stat *sb,int Flag)
 {
    if (Flag == FTW_DNR)
    {
@@ -85,6 +86,14 @@ int FTWScanner::Scanner(const char *File,const struct stat *sb,int Flag)
    if (Flag != FTW_F)
       return 0;
 
+   return ScannerFile(File, true);
+}
+                                                                       /*}}}*/
+// FTWScanner::ScannerFile - File Scanner                              /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+int FTWScanner::ScannerFile(const char *File, bool ReadLink)
+{
    const char *LastComponent = strrchr(File, '/');
    if (LastComponent == NULL)
       LastComponent = File;
@@ -105,7 +114,8 @@ int FTWScanner::Scanner(const char *File,const struct stat *sb,int Flag)
       given are not links themselves. */
    char Jnk[2];
    Owner->OriginalPath = File;
-   if (Owner->RealPath != 0 && readlink(File,Jnk,sizeof(Jnk)) != -1 &&
+   if (ReadLink && Owner->RealPath != 0 &&
+       readlink(File,Jnk,sizeof(Jnk)) != -1 &&
        realpath(File,Owner->RealPath) != 0)
       Owner->DoPackage(Owner->RealPath);
    else
@@ -154,7 +164,7 @@ bool FTWScanner::RecursiveScan(string Dir)
    
    // Do recursive directory searching
    Owner = this;
-   int Res = ftw(Dir.c_str(),Scanner,30);
+   int Res = ftw(Dir.c_str(),ScannerFTW,30);
    
    // Error treewalking?
    if (Res != 0)
@@ -209,12 +219,14 @@ bool FTWScanner::LoadFileList(string Dir,string File)
         FileName = Line;
       }
       
+#if 0
       struct stat St;
       int Flag = FTW_F;
       if (stat(FileName,&St) != 0)
         Flag = FTW_NS;
+#endif
 
-      if (Scanner(FileName,&St,Flag) != 0)
+      if (ScannerFile(FileName, false) != 0)
         break;
    }
   
@@ -227,7 +239,7 @@ bool FTWScanner::LoadFileList(string Dir,string File)
 /* */
 bool FTWScanner::Delink(string &FileName,const char *OriginalPath,
                        unsigned long &DeLinkBytes,
-                       struct stat &St)
+                       off_t FileSize)
 {
    // See if this isn't an internaly prefix'd file name.
    if (InternalPrefix.empty() == false &&
@@ -243,7 +255,7 @@ bool FTWScanner::Delink(string &FileName,const char *OriginalPath,
         
         NewLine(1);
         ioprintf(c1out, _(" DeLink %s [%s]\n"), (OriginalPath + InternalPrefix.length()),
-                   SizeToStr(St.st_size).c_str());
+                   SizeToStr(FileSize).c_str());
         c1out << flush;
         
         if (NoLinkAct == false)
@@ -269,7 +281,7 @@ bool FTWScanner::Delink(string &FileName,const char *OriginalPath,
            }       
         }
         
-        DeLinkBytes += St.st_size;
+        DeLinkBytes += FileSize;
         if (DeLinkBytes/1024 >= DeLinkLimit)
            ioprintf(c1out, _(" DeLink limit of %sB hit.\n"), SizeToStr(DeLinkBytes).c_str());      
       }
@@ -295,6 +307,8 @@ PackagesWriter::PackagesWriter(string DB,string Overrides,string ExtOverrides,
    
    // Process the command line options
    DoMD5 = _config->FindB("APT::FTPArchive::MD5",true);
+   DoSHA1 = _config->FindB("APT::FTPArchive::SHA1",true);
+   DoSHA256 = _config->FindB("APT::FTPArchive::SHA256",true);
    DoContents = _config->FindB("APT::FTPArchive::Contents",true);
    NoOverride = _config->FindB("APT::FTPArchive::NoOverrideMsg",false);
 
@@ -343,29 +357,19 @@ bool FTWScanner::SetExts(string Vals)
 // PackagesWriter::DoPackage - Process a single package                        /*{{{*/
 // ---------------------------------------------------------------------
 /* This method takes a package and gets its control information and 
-   MD5 then writes out a control record with the proper fields rewritten
-   and the path/size/hash appended. */
+   MD5, SHA1 and SHA256 then writes out a control record with the proper fields 
+   rewritten and the path/size/hash appended. */
 bool PackagesWriter::DoPackage(string FileName)
 {      
-   // Open the archive
-   FileFd F(FileName,FileFd::ReadOnly);
-   if (_error->PendingError() == true)
-      return false;
-   
-   // Stat the file for later
-   struct stat St;
-   if (fstat(F.Fd(),&St) != 0)
-      return _error->Errno("fstat",_("Failed to stat %s"),FileName.c_str());
-
    // Pull all the data we need form the DB
-   string MD5Res;
-   if (Db.SetFile(FileName,St,&F) == false ||
-       Db.LoadControl() == false ||
-       (DoContents == true && Db.LoadContents(true) == false) ||
-       (DoMD5 == true && Db.GetMD5(MD5Res,false) == false))
+   if (Db.GetFileInfo(FileName, true, DoContents, true, DoMD5, DoSHA1, DoSHA256) 
+                 == false)
+   {
       return false;
+   }
 
-   if (Delink(FileName,OriginalPath,Stats.DeLinkBytes,St) == false)
+   off_t FileSize = Db.GetFileSize();
+   if (Delink(FileName,OriginalPath,Stats.DeLinkBytes,FileSize) == false)
       return false;
    
    // Lookup the overide information
@@ -400,7 +404,7 @@ bool PackagesWriter::DoPackage(string FileName)
    }
 
    char Size[40];
-   sprintf(Size,"%lu",St.st_size);
+   sprintf(Size,"%lu", (unsigned long) FileSize);
    
    // Strip the DirStrip prefix from the FileName and add the PathPrefix
    string NewFileName;
@@ -420,7 +424,9 @@ bool PackagesWriter::DoPackage(string FileName)
 
    unsigned int End = 0;
    SetTFRewriteData(Changes[End++], "Size", Size);
-   SetTFRewriteData(Changes[End++], "MD5sum", MD5Res.c_str());
+   SetTFRewriteData(Changes[End++], "MD5sum", Db.MD5Res.c_str());
+   SetTFRewriteData(Changes[End++], "SHA1", Db.SHA1Res.c_str());
+   SetTFRewriteData(Changes[End++], "SHA256", Db.SHA256Res.c_str());
    SetTFRewriteData(Changes[End++], "Filename", NewFileName.c_str());
    SetTFRewriteData(Changes[End++], "Priority", OverItem->Priority.c_str());
    SetTFRewriteData(Changes[End++], "Status", 0);
@@ -491,6 +497,10 @@ SourcesWriter::SourcesWriter(string BOverrides,string SOverrides,
    else
       NoOverride = true;
 
+   // WTF?? The logic above: if we can't read binary overrides, don't even try
+   // reading source overrides. if we can read binary overrides, then say there
+   // are no overrides. THIS MAKES NO SENSE! -- ajt@d.o, 2006/02/28
+
    if (ExtOverrides.empty() == false)
       SOver.ReadExtraOverride(ExtOverrides);
    
@@ -607,12 +617,14 @@ bool SourcesWriter::DoPackage(string FileName)
    }
    
    auto_ptr<Override::Item> SOverItem(SOver.GetItem(Tags.FindS("Source")));
-   const auto_ptr<Override::Item> autoSOverItem(SOverItem);
+   // const auto_ptr<Override::Item> autoSOverItem(SOverItem);
    if (SOverItem.get() == 0)
    {
+      ioprintf(c1out, _("  %s has no source override entry\n"), Tags.FindS("Source").c_str());
       SOverItem = auto_ptr<Override::Item>(BOver.GetItem(Tags.FindS("Source")));
       if (SOverItem.get() == 0)
       {
+        ioprintf(c1out, _("  %s has no binary override entry either\n"), Tags.FindS("Source").c_str());
         SOverItem = auto_ptr<Override::Item>(new Override::Item);
         *SOverItem = *OverItem;
       }
@@ -657,7 +669,7 @@ bool SourcesWriter::DoPackage(string FileName)
          realpath(OriginalPath.c_str(),RealPath) != 0)
       {
         string RP = RealPath;
-        if (Delink(RP,OriginalPath.c_str(),Stats.DeLinkBytes,St) == false)
+        if (Delink(RP,OriginalPath.c_str(),Stats.DeLinkBytes,St.st_size) == false)
            return false;
       }
    }
@@ -727,26 +739,14 @@ ContentsWriter::ContentsWriter(string DB) :
    determine what the package name is. */
 bool ContentsWriter::DoPackage(string FileName,string Package)
 {
-   // Open the archive
-   FileFd F(FileName,FileFd::ReadOnly);
-   if (_error->PendingError() == true)
-      return false;
-   
-   // Stat the file for later
-   struct stat St;
-   if (fstat(F.Fd(),&St) != 0)
-      return _error->Errno("fstat","Failed too stat %s",FileName.c_str());
-
-   // Ready the DB
-   if (Db.SetFile(FileName,St,&F) == false || 
-       Db.LoadContents(false) == false)
+   if (!Db.GetFileInfo(FileName, Package.empty(), true, false, false, false, false))
+   {
       return false;
+   }
 
    // Parse the package name
    if (Package.empty() == true)
    {
-      if (Db.LoadControl() == false)
-        return false;
       Package = Db.Control.Section.FindS("Package");
    }
 
@@ -896,6 +896,11 @@ bool ReleaseWriter::DoPackage(string FileName)
    SHA1.AddFD(fd.Fd(), fd.Size());
    CheckSums[NewFileName].SHA1 = SHA1.Result();
 
+   fd.Seek(0);
+   SHA256Summation SHA256;
+   SHA256.AddFD(fd.Fd(), fd.Size());
+   CheckSums[NewFileName].SHA256 = SHA256.Result();
+
    fd.Close();
    
    return true;
@@ -927,5 +932,16 @@ void ReleaseWriter::Finish()
               (*I).second.size,
               (*I).first.c_str());
    }
+
+   fprintf(Output, "SHA256:\n");
+   for(map<string,struct CheckSum>::iterator I = CheckSums.begin();
+       I != CheckSums.end();
+       ++I)
+   {
+      fprintf(Output, " %s %16ld %s\n",
+              (*I).second.SHA256.c_str(),
+              (*I).second.size,
+              (*I).first.c_str());
+   }
 }
 
index 16d014ef895647417409c3a63ba7f62e3b3f5dda..1d47d57ec8062b4f5e519644154f084096c76ec1 100644 (file)
@@ -45,10 +45,11 @@ class FTWScanner
    bool NoLinkAct;
    
    static FTWScanner *Owner;
-   static int Scanner(const char *File,const struct stat *sb,int Flag);
+   static int ScannerFTW(const char *File,const struct stat *sb,int Flag);
+   static int ScannerFile(const char *File, bool ReadLink);
 
    bool Delink(string &FileName,const char *OriginalPath,
-              unsigned long &Bytes,struct stat &St);
+              unsigned long &Bytes,off_t FileSize);
 
    inline void NewLine(unsigned Priority)
    {
@@ -84,6 +85,8 @@ class PackagesWriter : public FTWScanner
 
    // Some flags
    bool DoMD5;
+   bool DoSHA1;
+   bool DoSHA256;
    bool NoOverride;
    bool DoContents;
 
@@ -170,6 +173,7 @@ protected:
    {
       string MD5;
       string SHA1;
+      string SHA256;
       // Limited by FileFd::Size()
       unsigned long size;
       ~CheckSum() {};
index ba7389cbaef5a6188cfff4f48bc32ceee12ec50a..227e08d63123e2c51ba77966dc218e41f13f217c 100644 (file)
@@ -17,6 +17,7 @@
 #define GNUPGBADSIG "[GNUPG:] BADSIG"
 #define GNUPGNOPUBKEY "[GNUPG:] NO_PUBKEY"
 #define GNUPGVALIDSIG "[GNUPG:] VALIDSIG"
+#define GNUPGNODATA "[GNUPG:] NODATA"
 
 class GPGVMethod : public pkgAcqMethod
 {
@@ -171,7 +172,12 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile,
             std::cerr << "Got NO_PUBKEY " << std::endl;
          NoPubKeySigners.push_back(string(buffer+sizeof(GNUPGPREFIX)));
       }
-
+      if (strncmp(buffer, GNUPGNODATA, sizeof(GNUPGBADSIG)-1) == 0)
+      {
+         if (_config->FindB("Debug::Acquire::gpgv", false))
+            std::cerr << "Got NODATA! " << std::endl;
+         BadSigners.push_back(string(buffer+sizeof(GNUPGPREFIX)));
+      }
       if (strncmp(buffer, GNUPGVALIDSIG, sizeof(GNUPGVALIDSIG)-1) == 0)
       {
          char *sig = buffer + sizeof(GNUPGPREFIX);
index 341de94e37ab046c3e2a1360bdd16f0f96a5c7dc..c6623c46f09cf97fcb67b1123f49df29e5b979db 100644 (file)
@@ -657,7 +657,7 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out)
       will glitch HTTP/1.0 proxies because they do not filter it out and 
       pass it on, HTTP/1.1 says the connection should default to keep alive
       and we expect the proxy to do this */
-   if (Proxy.empty() == true)
+   if (Proxy.empty() == true || Proxy.Host.empty())
       sprintf(Buf,"GET %s HTTP/1.1\r\nHost: %s\r\nConnection: keep-alive\r\n",
              QuoteString(Uri.Path,"~").c_str(),ProperHost.c_str());
    else
index 6929345afc5dc14342c9c03b4d7aac9f4141cdd6..095de7f6d3793e122b61430e4915d5409ca6538c 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-27 13:46+0200\n"
+"POT-Creation-Date: 2006-08-09 16:17+0200\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"
@@ -148,7 +148,7 @@ msgstr ""
 
 #: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
-#: cmdline/apt-get.cc:2369 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:2380 cmdline/apt-sortpkgs.cc:144
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr ""
@@ -327,115 +327,126 @@ msgstr ""
 msgid "Some files are missing in the package file group `%s'"
 msgstr ""
 
-#: ftparchive/cachedb.cc:45
+#: ftparchive/cachedb.cc:47
 #, c-format
 msgid "DB was corrupted, file renamed to %s.old"
 msgstr ""
 
-#: ftparchive/cachedb.cc:63
+#: ftparchive/cachedb.cc:65
 #, c-format
 msgid "DB is old, attempting to upgrade %s"
 msgstr ""
 
-#: ftparchive/cachedb.cc:73
+#: ftparchive/cachedb.cc:76
+msgid ""
+"DB format is invalid. If you upgraded from a older version of apt, please "
+"remove and re-create the database."
+msgstr ""
+
+#: ftparchive/cachedb.cc:81
 #, c-format
 msgid "Unable to open DB file %s: %s"
 msgstr ""
 
-#: ftparchive/cachedb.cc:114
+#: ftparchive/cachedb.cc:127 apt-inst/extract.cc:181 apt-inst/extract.cc:193
+#: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 methods/gpgv.cc:272
 #, c-format
-msgid "File date has changed %s"
+msgid "Failed to stat %s"
 msgstr ""
 
-#: ftparchive/cachedb.cc:155
+#: ftparchive/cachedb.cc:242
 msgid "Archive has no control record"
 msgstr ""
 
-#: ftparchive/cachedb.cc:267
+#: ftparchive/cachedb.cc:448
 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:125
+#: ftparchive/writer.cc:135
 msgid "E: "
 msgstr ""
 
-#: ftparchive/writer.cc:127
+#: ftparchive/writer.cc:137
 msgid "W: "
 msgstr ""
 
-#: ftparchive/writer.cc:134
+#: ftparchive/writer.cc:144
 msgid "E: Errors apply to file "
 msgstr ""
 
-#: ftparchive/writer.cc:151 ftparchive/writer.cc:181
+#: ftparchive/writer.cc:161 ftparchive/writer.cc:191
 #, c-format
 msgid "Failed to resolve %s"
 msgstr ""
 
-#: ftparchive/writer.cc:163
+#: ftparchive/writer.cc:173
 msgid "Tree walking failed"
 msgstr ""
 
-#: ftparchive/writer.cc:188
+#: ftparchive/writer.cc:198
 #, c-format
 msgid "Failed to open %s"
 msgstr ""
 
-#: ftparchive/writer.cc:245
+#: ftparchive/writer.cc:257
 #, c-format
 msgid " DeLink %s [%s]\n"
 msgstr ""
 
-#: ftparchive/writer.cc:253
+#: ftparchive/writer.cc:265
 #, c-format
 msgid "Failed to readlink %s"
 msgstr ""
 
-#: ftparchive/writer.cc:257
+#: ftparchive/writer.cc:269
 #, c-format
 msgid "Failed to unlink %s"
 msgstr ""
 
-#: ftparchive/writer.cc:264
+#: ftparchive/writer.cc:276
 #, c-format
 msgid "*** Failed to link %s to %s"
 msgstr ""
 
-#: ftparchive/writer.cc:274
+#: ftparchive/writer.cc:286
 #, c-format
 msgid " DeLink limit of %sB hit.\n"
 msgstr ""
 
-#: ftparchive/writer.cc:358 apt-inst/extract.cc:181 apt-inst/extract.cc:193
-#: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 methods/gpgv.cc:266
-#, c-format
-msgid "Failed to stat %s"
-msgstr ""
-
-#: ftparchive/writer.cc:386
+#: ftparchive/writer.cc:390
 msgid "Archive had no package field"
 msgstr ""
 
-#: ftparchive/writer.cc:394 ftparchive/writer.cc:603
+#: ftparchive/writer.cc:398 ftparchive/writer.cc:613
 #, c-format
 msgid "  %s has no override entry\n"
 msgstr ""
 
-#: ftparchive/writer.cc:437 ftparchive/writer.cc:689
+#: ftparchive/writer.cc:443 ftparchive/writer.cc:701
 #, c-format
 msgid "  %s maintainer is %s not %s\n"
 msgstr ""
 
+#: ftparchive/writer.cc:623
+#, c-format
+msgid "  %s has no source override entry\n"
+msgstr ""
+
+#: ftparchive/writer.cc:627
+#, c-format
+msgid "  %s has no binary override entry either\n"
+msgstr ""
+
 #: ftparchive/contents.cc:317
 #, c-format
 msgid "Internal error, could not locate member %s"
@@ -694,11 +705,11 @@ msgstr ""
 msgid "Internal error, Ordering didn't finish"
 msgstr ""
 
-#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1800 cmdline/apt-get.cc:1833
+#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1811 cmdline/apt-get.cc:1844
 msgid "Unable to lock the download directory"
 msgstr ""
 
-#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1881 cmdline/apt-get.cc:2117
+#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1892 cmdline/apt-get.cc:2128
 #: apt-pkg/cachefile.cc:67
 msgid "The list of sources could not be read."
 msgstr ""
@@ -727,7 +738,7 @@ msgstr ""
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1971
+#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1982
 #, c-format
 msgid "Couldn't determine free space in %s"
 msgstr ""
@@ -761,7 +772,7 @@ msgstr ""
 msgid "Do you want to continue [Y/n]? "
 msgstr ""
 
-#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2014
+#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2025
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr ""
@@ -770,7 +781,7 @@ msgstr ""
 msgid "Some files failed to download"
 msgstr ""
 
-#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2023
+#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2034
 msgid "Download complete and in download only mode"
 msgstr ""
 
@@ -927,144 +938,144 @@ msgstr ""
 msgid "The following extra packages will be installed:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1674
+#: cmdline/apt-get.cc:1685
 msgid "Suggested packages:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1675
+#: cmdline/apt-get.cc:1686
 msgid "Recommended packages:"
 msgstr ""
 
-#: cmdline/apt-get.cc:1695
+#: cmdline/apt-get.cc:1706
 msgid "Calculating upgrade... "
 msgstr ""
 
-#: cmdline/apt-get.cc:1698 methods/ftp.cc:702 methods/connect.cc:101
+#: cmdline/apt-get.cc:1709 methods/ftp.cc:702 methods/connect.cc:101
 msgid "Failed"
 msgstr ""
 
-#: cmdline/apt-get.cc:1703
+#: cmdline/apt-get.cc:1714
 msgid "Done"
 msgstr ""
 
-#: cmdline/apt-get.cc:1768 cmdline/apt-get.cc:1776
+#: cmdline/apt-get.cc:1779 cmdline/apt-get.cc:1787
 msgid "Internal error, problem resolver broke stuff"
 msgstr ""
 
-#: cmdline/apt-get.cc:1876
+#: cmdline/apt-get.cc:1887
 msgid "Must specify at least one package to fetch source for"
 msgstr ""
 
-#: cmdline/apt-get.cc:1906 cmdline/apt-get.cc:2135
+#: cmdline/apt-get.cc:1917 cmdline/apt-get.cc:2146
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1950
+#: cmdline/apt-get.cc:1961
 #, c-format
 msgid "Skipping already downloaded file '%s'\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1974
+#: cmdline/apt-get.cc:1985
 #, c-format
 msgid "You don't have enough free space in %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:1979
+#: cmdline/apt-get.cc:1990
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1982
+#: cmdline/apt-get.cc:1993
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1988
+#: cmdline/apt-get.cc:1999
 #, c-format
 msgid "Fetch source %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2019
+#: cmdline/apt-get.cc:2030
 msgid "Failed to fetch some archives."
 msgstr ""
 
-#: cmdline/apt-get.cc:2047
+#: cmdline/apt-get.cc:2058
 #, c-format
 msgid "Skipping unpack of already unpacked source in %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2059
+#: cmdline/apt-get.cc:2070
 #, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2060
+#: cmdline/apt-get.cc:2071
 #, c-format
 msgid "Check if the 'dpkg-dev' package is installed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2077
+#: cmdline/apt-get.cc:2088
 #, c-format
 msgid "Build command '%s' failed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2096
+#: cmdline/apt-get.cc:2107
 msgid "Child process failed"
 msgstr ""
 
-#: cmdline/apt-get.cc:2112
+#: cmdline/apt-get.cc:2123
 msgid "Must specify at least one package to check builddeps for"
 msgstr ""
 
-#: cmdline/apt-get.cc:2140
+#: cmdline/apt-get.cc:2151
 #, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2160
+#: cmdline/apt-get.cc:2171
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2212
+#: cmdline/apt-get.cc:2223
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "found"
 msgstr ""
 
-#: cmdline/apt-get.cc:2264
+#: cmdline/apt-get.cc:2275
 #, 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:2299
+#: cmdline/apt-get.cc:2310
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
-#: cmdline/apt-get.cc:2324
+#: cmdline/apt-get.cc:2335
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr ""
 
-#: cmdline/apt-get.cc:2338
+#: cmdline/apt-get.cc:2349
 #, c-format
 msgid "Build-dependencies for %s could not be satisfied."
 msgstr ""
 
-#: cmdline/apt-get.cc:2342
+#: cmdline/apt-get.cc:2353
 msgid "Failed to process build dependencies"
 msgstr ""
 
-#: cmdline/apt-get.cc:2374
+#: cmdline/apt-get.cc:2385
 msgid "Supported modules:"
 msgstr ""
 
-#: cmdline/apt-get.cc:2415
+#: cmdline/apt-get.cc:2426
 msgid ""
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1192,19 +1203,19 @@ msgstr ""
 msgid "Failed to create pipes"
 msgstr ""
 
-#: apt-inst/contrib/extracttar.cc:143
+#: apt-inst/contrib/extracttar.cc:144
 msgid "Failed to exec gzip "
 msgstr ""
 
-#: apt-inst/contrib/extracttar.cc:180 apt-inst/contrib/extracttar.cc:206
+#: apt-inst/contrib/extracttar.cc:181 apt-inst/contrib/extracttar.cc:207
 msgid "Corrupted archive"
 msgstr ""
 
-#: apt-inst/contrib/extracttar.cc:195
+#: apt-inst/contrib/extracttar.cc:196
 msgid "Tar checksum failed, archive corrupted"
 msgstr ""
 
-#: apt-inst/contrib/extracttar.cc:298
+#: apt-inst/contrib/extracttar.cc:299
 #, c-format
 msgid "Unknown TAR header type %u, member %s"
 msgstr ""
@@ -1479,12 +1490,12 @@ msgstr ""
 msgid "File not found"
 msgstr ""
 
-#: methods/copy.cc:42 methods/gpgv.cc:275 methods/gzip.cc:133
+#: methods/copy.cc:42 methods/gpgv.cc:281 methods/gzip.cc:133
 #: methods/gzip.cc:142
 msgid "Failed to stat"
 msgstr ""
 
-#: methods/copy.cc:79 methods/gpgv.cc:272 methods/gzip.cc:139
+#: methods/copy.cc:79 methods/gpgv.cc:278 methods/gzip.cc:139
 msgid "Failed to set modification time"
 msgstr ""
 
@@ -1694,38 +1705,38 @@ msgstr ""
 msgid "Unable to connect to %s %s:"
 msgstr ""
 
-#: methods/gpgv.cc:64
+#: methods/gpgv.cc:65
 #, c-format
 msgid "Couldn't access keyring: '%s'"
 msgstr ""
 
-#: methods/gpgv.cc:99
+#: methods/gpgv.cc:100
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgstr ""
 
-#: methods/gpgv.cc:198
+#: methods/gpgv.cc:204
 msgid ""
 "Internal error: Good signature, but could not determine key fingerprint?!"
 msgstr ""
 
-#: methods/gpgv.cc:203
+#: methods/gpgv.cc:209
 msgid "At least one invalid signature was encountered."
 msgstr ""
 
-#: methods/gpgv.cc:207
+#: methods/gpgv.cc:213
 #, c-format
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
 msgstr ""
 
-#: methods/gpgv.cc:212
+#: methods/gpgv.cc:218
 msgid "Unknown error executing gpgv"
 msgstr ""
 
-#: methods/gpgv.cc:243
+#: methods/gpgv.cc:249
 msgid "The following signatures were invalid:\n"
 msgstr ""
 
-#: methods/gpgv.cc:250
+#: methods/gpgv.cc:256
 msgid ""
 "The following signatures couldn't be verified because the public key is not "
 "available:\n"
@@ -2101,12 +2112,12 @@ msgstr ""
 msgid "Dependency generation"
 msgstr ""
 
-#: apt-pkg/tagfile.cc:72
+#: apt-pkg/tagfile.cc:85 apt-pkg/tagfile.cc:92
 #, c-format
 msgid "Unable to parse package file %s (1)"
 msgstr ""
 
-#: apt-pkg/tagfile.cc:102
+#: apt-pkg/tagfile.cc:186
 #, c-format
 msgid "Unable to parse package file %s (2)"
 msgstr ""
index e515d6c5b25eb4dc0fa8bb80cca943ff56336ce6..ddfac13ccf0a6b281dfaa5a3c2e6b5a9a2a56e71 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-03-31 22:05+0300\n"
 "Last-Translator: Yavor Doganov <yavor@doganov.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -2306,15 +2306,15 @@ msgstr "незадължителен"
 msgid "extra"
 msgstr "допълнителен"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Изграждане на дървото със зависимости"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Версии кандидати"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Генериране на зависимости"
 
index 2fe2d7cfee0c95634b270a236abcf8b215c9fc9b..fef208beb21cea7402b271b168489b7d9c06a99e 100644 (file)
--- 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: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+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"
@@ -2109,15 +2109,15 @@ msgstr "opcionalno"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Gradim stablo zavisnosti"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Verzije kandidata"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Stvaranje zavisnosti"
 
index b63109932c51bd580c403132dff92e560f8b95bf..33b266d6b49312dcf04d7c834d99fea3fc7300f4 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-02-05 22:00+0100\n"
 "Last-Translator: Jordi Mallach <jordi@debian.org>\n"
 "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -2298,15 +2298,15 @@ msgstr "opcional"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "S'està construint l'arbre de dependències"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Versions candidates"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Dependències que genera"
 
index 837f780656ea2c356d1c8c5e56e5f180ce6988b6..50a2db1df65c2e739c70c22df6ba8997cda883e0 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-08 11:02+0200\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-05-14 18:36+0200\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -2269,15 +2269,15 @@ msgstr "volitelný"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Vytvářím strom závislostí"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Kandidátské verze"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Generování závislostí"
 
index 18612e694ee71e2f1d844af59f16f2eb393f3391..faffe1aa29a5c5bdbb77b1f3f6addd543ea2d656 100644 (file)
--- 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: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+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"
@@ -2363,17 +2363,17 @@ msgstr "opsiynnol"
 msgid "extra"
 msgstr "ychwanegol"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 #, fuzzy
 msgid "Building dependency tree"
 msgstr "Yn Aideladu Coeden Dibyniaeth"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 #, fuzzy
 msgid "Candidate versions"
 msgstr "Fersiynau Posib"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 #, fuzzy
 msgid "Dependency generation"
 msgstr "Cynhyrchaid Dibyniaeth"
index 1ca325c1ff840f180542712b3c9a58ea34fd018a..434c4b3485279758d5671021029c1dfb10c793fb 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt-da\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-01-20 22:23+0100\n"
 "Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -2283,15 +2283,15 @@ msgstr "frivillig"
 msgid "extra"
 msgstr "ekstra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Opbygger afhængighedstræ"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Kandidatversioner"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Afhængighedsgenerering"
 
index cadfefe1279e62cb28e564eb4a1b1954d507cd04..9358ff248f69f78ba6932d2ab85c2b6e6b0de469 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.5.26\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2005-06-15 18:22+0200\n"
 "Last-Translator: Michael Piefel <piefel@debian.org>\n"
 "Language-Team:  <de@li.org>\n"
@@ -2322,15 +2322,15 @@ msgstr "optional"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Abhängigkeitsbaum wird aufgebaut"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Mögliche Versionen"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Abhängigkeits-Generierung"
 
index 7a885072f16add2971f5e4bbeb87ea0fa140788a..51143d9cd861a8ea22692fad8c416f5c59ed038b 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -18,7 +18,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt_po_el_new\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-01-18 15:16+0200\n"
 "Last-Translator: Konstantinos Margaritis <markos@debian.org>\n"
 "Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n"
@@ -2320,15 +2320,15 @@ msgstr "προαιρετικό"
 msgid "extra"
 msgstr "επιπλέον"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Κατασκευή Δένδρου Εξαρτήσεων"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Υποψήφιες Εκδόσεις"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Παραγωγή Εξαρτήσεων"
 
index 0cc9ad7b255e8cc08345714d00340c516a81ba67..34d1bdecb6521aa65fc3013bb06d4fcb3927c8e1 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.5.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2002-11-10 20:56+0100\n"
 "Last-Translator: Neil Williams <linux@codehelp.co.uk>\n"
 "Language-Team: en_GB <en@li.org>\n"
@@ -2272,15 +2272,15 @@ msgstr "optional"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Building dependency tree"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Candidate versions"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Dependency generation"
 
index ebb2922cb0791925e1cd69a286171bc5daf31edd..c8c1e5237c94f3eba3b822986fb15bcbe0cc3fd5 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.6.42.3exp1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2005-11-16 17:37+0100\n"
 "Last-Translator: Rubén Porras Campo <nahoo@inicia.es>\n"
 "Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -2307,15 +2307,15 @@ msgstr "opcional"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Creando árbol de dependencias"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Versiones candidatas"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Generación de dependencias"
 
index 22d83c0b11b59324721745b7f1bcedf3aaf76282..b9899ab69857dbc6b89811d69e66619ee7d488fd 100644 (file)
--- 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: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-05-18 09:31-0500\n"
 "Last-Translator: Christian Perrier <bubulle@debian.org>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -2327,15 +2327,15 @@ msgstr "optionnel"
 msgid "extra"
 msgstr "supplémentaire"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Construction de l'arbre des dépendances"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Versions possibles"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Génération des dépendances"
 
index a288bd8beae386f790ffb27541dcc1496469fff6..cc522e58d6b6777145d1eab19480030e59e91213 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-05-11 18:09+0200\n"
 "Last-Translator: Jacobo Tarrío <jtarrio@debian.org>\n"
 "Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
@@ -15,7 +15,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: cmdline/apt-cache.cc:135
-#, c-format 
+#, c-format
 msgid "Package %s version %s has an unmet dep:\n"
 msgstr "O paquete %s versión %s ten unha dependencia incumprida:\n"
 
@@ -2297,15 +2297,15 @@ msgstr "opcional"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "A construír a árbore de dependencias"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Versións candidatas"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Xeración de dependencias"
 
index d7a6c7c8dd7aebd80a1b468aedcd7d2668e380fb..fdc39aba115ff575ec94b27cb7f5837a8ff536b9 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -24,12 +24,8 @@ msgstr ""
 msgid "Package %s version %s has an unmet dep:\n"
 msgstr "%s csomag %s verziójának teljesítetlen függősége van:\n"
 
-#: cmdline/apt-cache.cc:175
-#: cmdline/apt-cache.cc:527
-#: cmdline/apt-cache.cc:615
-#: cmdline/apt-cache.cc:771
-#: cmdline/apt-cache.cc:989
-#: cmdline/apt-cache.cc:1357
+#: cmdline/apt-cache.cc:175 cmdline/apt-cache.cc:527 cmdline/apt-cache.cc:615
+#: cmdline/apt-cache.cc:771 cmdline/apt-cache.cc:989 cmdline/apt-cache.cc:1357
 #: cmdline/apt-cache.cc:1508
 #, c-format
 msgid "Unable to locate package %s"
@@ -91,8 +87,7 @@ msgstr "Slack terület összesen: "
 msgid "Total space accounted for: "
 msgstr "Terület összesen: "
 
-#: cmdline/apt-cache.cc:446
-#: cmdline/apt-cache.cc:1189
+#: cmdline/apt-cache.cc:446 cmdline/apt-cache.cc:1189
 #, c-format
 msgid "Package file %s is out of sync."
 msgstr "%s csomag fájl szinkronon kívül."
@@ -109,10 +104,10 @@ msgstr "Nem találtam csomagokat"
 msgid "Package files:"
 msgstr "Csomagfájlok:"
 
-#: cmdline/apt-cache.cc:1469
-#: cmdline/apt-cache.cc:1555
+#: cmdline/apt-cache.cc:1469 cmdline/apt-cache.cc:1555
 msgid "Cache is out of sync, can't x-ref a package file"
-msgstr "A gyorsítótár nincs szinkronban, nem lehet kereszthivatkozni a csomag fájlra"
+msgstr ""
+"A gyorsítótár nincs szinkronban, nem lehet kereszthivatkozni a csomag fájlra"
 
 #: cmdline/apt-cache.cc:1470
 #, c-format
@@ -124,8 +119,7 @@ msgstr "%4i %s\n"
 msgid "Pinned packages:"
 msgstr "Rögzített csomagok:"
 
-#: cmdline/apt-cache.cc:1494
-#: cmdline/apt-cache.cc:1535
+#: cmdline/apt-cache.cc:1494 cmdline/apt-cache.cc:1535
 msgid "(not found)"
 msgstr "(nem találtam)"
 
@@ -134,8 +128,7 @@ msgstr "(nem találtam)"
 msgid "  Installed: "
 msgstr "  Telepítve: "
 
-#: cmdline/apt-cache.cc:1517
-#: cmdline/apt-cache.cc:1525
+#: cmdline/apt-cache.cc:1517 cmdline/apt-cache.cc:1525
 msgid "(none)"
 msgstr "(nincs)"
 
@@ -158,13 +151,9 @@ msgstr "  Verziótáblázat:"
 msgid "       %4i %s\n"
 msgstr "       %4i %s\n"
 
-#: cmdline/apt-cache.cc:1652
-#: cmdline/apt-cdrom.cc:138
-#: cmdline/apt-config.cc:70
-#: cmdline/apt-extracttemplates.cc:225
-#: ftparchive/apt-ftparchive.cc:550
-#: cmdline/apt-get.cc:2369
-#: cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
+#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
+#: cmdline/apt-get.cc:2369 cmdline/apt-sortpkgs.cc:144
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr "%s %s ehhez: %s %s fordítás ideje: %s %s\n"
@@ -212,7 +201,8 @@ msgstr ""
 "           apt-cache [opciók] showpkg pkg1 [pkg2 ...]\n"
 "       apt-cache [opciók] showsrc pkg1 [pkg2 ...]\n"
 "\n"
-"Az apt-cache egy alacsony szintű eszköz az APT bináris gyorsítótár-fájljainak\n"
+"Az apt-cache egy alacsony szintű eszköz az APT bináris gyorsítótár-"
+"fájljainak\n"
 "a kezelésére, és azokból információk lekérdezésére\n"
 "\n"
 "Parancsok:\n"
@@ -305,7 +295,8 @@ msgid ""
 msgstr ""
 "Használat:apt-extracttemplates fájl1 [fájl2 ...]\n"
 "\n"
-"Az apt-extracttemplates egy eszköz konfigurációs- és minta-információk debian-\n"
+"Az apt-extracttemplates egy eszköz konfigurációs- és minta-információk "
+"debian-\n"
 "csomagokból való kibontására\n"
 "\n"
 "Opciók:\n"
@@ -314,8 +305,7 @@ msgstr ""
 "  -c=? Ezt a konfigurációs fájlt olvassa be\n"
 "  -o=? Beállít egy tetszőleges konfigurációs opciót, pl -o dir::cache=/tmp\n"
 
-#: cmdline/apt-extracttemplates.cc:267
-#: apt-pkg/pkgcachegen.cc:710
+#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:710
 #, c-format
 msgid "Unable to write to %s"
 msgstr "Nem lehet írni ebbe: %s"
@@ -324,17 +314,13 @@ msgstr "Nem lehet írni ebbe: %s"
 msgid "Cannot get debconf version. Is debconf installed?"
 msgstr "Nem lehet megállapítani a debconf verziót. A debconf telepítve van?"
 
-#: ftparchive/apt-ftparchive.cc:167
-#: ftparchive/apt-ftparchive.cc:341
+#: ftparchive/apt-ftparchive.cc:167 ftparchive/apt-ftparchive.cc:341
 msgid "Package extension list is too long"
 msgstr "A csomagkiterjesztések listája túl hosszú"
 
-#: ftparchive/apt-ftparchive.cc:169
-#: ftparchive/apt-ftparchive.cc:183
-#: ftparchive/apt-ftparchive.cc:206
-#: ftparchive/apt-ftparchive.cc:256
-#: ftparchive/apt-ftparchive.cc:270
-#: ftparchive/apt-ftparchive.cc:292
+#: ftparchive/apt-ftparchive.cc:169 ftparchive/apt-ftparchive.cc:183
+#: ftparchive/apt-ftparchive.cc:206 ftparchive/apt-ftparchive.cc:256
+#: ftparchive/apt-ftparchive.cc:270 ftparchive/apt-ftparchive.cc:292
 #, c-format
 msgid "Error processing directory %s"
 msgstr "Hiba a(z) %s könyvtár feldolgozásakor"
@@ -415,8 +401,10 @@ msgstr ""
 "\n"
 "A 'packages' és 'sources' parancsokat a fa gyökeréből kell futtatni.\n"
 "A BinaryPath-nak a rekurzív keresés kiindulópontjára kell mutatni és\n"
-"a felülbírálófájlnak a felülbíráló jelzőket kell tartalmaznia. Az útvonal-előtag\n"
-"hozzáadódik a fájlnév mezőkhöz, ha meg van adva. Felhasználására egy példa a\n"
+"a felülbírálófájlnak a felülbíráló jelzőket kell tartalmaznia. Az útvonal-"
+"előtag\n"
+"hozzáadódik a fájlnév mezőkhöz, ha meg van adva. Felhasználására egy példa "
+"a\n"
 "Debian archívumból:\n"
 "   apt-ftparchive packages dists/potato/main/binary-i386/ > \\\n"
 "               dists/potato/main/binary-i386/Packages\n"
@@ -491,8 +479,7 @@ msgstr "F: "
 msgid "E: Errors apply to file "
 msgstr "H: Hibás a fájl "
 
-#: ftparchive/writer.cc:151
-#: ftparchive/writer.cc:181
+#: ftparchive/writer.cc:151 ftparchive/writer.cc:181
 #, c-format
 msgid "Failed to resolve %s"
 msgstr "Nem sikerült feloldani ezt: %s"
@@ -531,12 +518,8 @@ msgstr "*** %s linkelése ehhez: %s sikertelen"
 msgid " DeLink limit of %sB hit.\n"
 msgstr " DeLink elérte %sB korlátját.\n"
 
-#: ftparchive/writer.cc:358
-#: apt-inst/extract.cc:181
-#: apt-inst/extract.cc:193
-#: apt-inst/extract.cc:210
-#: apt-inst/deb/dpkgdb.cc:121
-#: methods/gpgv.cc:266
+#: ftparchive/writer.cc:358 apt-inst/extract.cc:181 apt-inst/extract.cc:193
+#: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 methods/gpgv.cc:266
 #, c-format
 msgid "Failed to stat %s"
 msgstr "%s elérése sikertelen"
@@ -545,14 +528,12 @@ msgstr "%s elérése sikertelen"
 msgid "Archive had no package field"
 msgstr "Az archívumnak nem volt csomag mezője"
 
-#: ftparchive/writer.cc:394
-#: ftparchive/writer.cc:603
+#: ftparchive/writer.cc:394 ftparchive/writer.cc:603
 #, c-format
 msgid "  %s has no override entry\n"
 msgstr "  %s nem rendelkezik felülbíráló bejegyzéssel\n"
 
-#: ftparchive/writer.cc:437
-#: ftparchive/writer.cc:689
+#: ftparchive/writer.cc:437 ftparchive/writer.cc:689
 #, c-format
 msgid "  %s maintainer is %s not %s\n"
 msgstr "  %s karbantartója %s, nem %s\n"
@@ -562,37 +543,31 @@ msgstr "  %s karbantartója %s, nem %s\n"
 msgid "Internal error, could not locate member %s"
 msgstr "Belső hiba, %s tag nem található"
 
-#: ftparchive/contents.cc:353
-#: ftparchive/contents.cc:384
+#: ftparchive/contents.cc:353 ftparchive/contents.cc:384
 msgid "realloc - Failed to allocate memory"
 msgstr "realloc - Nem sikerült memóriát lefoglalni"
 
-#: ftparchive/override.cc:38
-#: ftparchive/override.cc:146
+#: ftparchive/override.cc:38 ftparchive/override.cc:146
 #, c-format
 msgid "Unable to open %s"
 msgstr "%s megnyitása sikertelen"
 
-#: ftparchive/override.cc:64
-#: ftparchive/override.cc:170
+#: ftparchive/override.cc:64 ftparchive/override.cc:170
 #, c-format
 msgid "Malformed override %s line %lu #1"
 msgstr "Deformált felülbírálás %s %lu. sorában #1"
 
-#: ftparchive/override.cc:78
-#: ftparchive/override.cc:182
+#: ftparchive/override.cc:78 ftparchive/override.cc:182
 #, c-format
 msgid "Malformed override %s line %lu #2"
 msgstr "Deformált felülbírálás %s %lu. sorában #2"
 
-#: ftparchive/override.cc:92
-#: ftparchive/override.cc:195
+#: ftparchive/override.cc:92 ftparchive/override.cc:195
 #, c-format
 msgid "Malformed override %s line %lu #3"
 msgstr "Deformált felülbírálás %s %lu. sorában #3"
 
-#: ftparchive/override.cc:131
-#: ftparchive/override.cc:205
+#: ftparchive/override.cc:131 ftparchive/override.cc:205
 #, c-format
 msgid "Failed to read the override file %s"
 msgstr "Nem lehet a(z)%s felülbírálófájlt olvasni"
@@ -607,8 +582,7 @@ msgstr "'%s' tömörítési algoritmus ismeretlen"
 msgid "Compressed output %s needs a compression set"
 msgstr "%s tömörített kimenetnek egy tömörítő készletre van szüksége"
 
-#: ftparchive/multicompress.cc:172
-#: methods/rsh.cc:91
+#: ftparchive/multicompress.cc:172 methods/rsh.cc:91
 msgid "Failed to create IPC pipe to subprocess"
 msgstr "Nem sikerült IPC csövet létrehozni az alfolyamathoz"
 
@@ -654,8 +628,7 @@ msgstr "Olvasási hiba az MD5 kiszámításakor"
 msgid "Problem unlinking %s"
 msgstr "Hiba %s elláncolásakor"
 
-#: ftparchive/multicompress.cc:490
-#: apt-inst/extract.cc:188
+#: ftparchive/multicompress.cc:490 apt-inst/extract.cc:188
 #, c-format
 msgid "Failed to rename %s to %s"
 msgstr "Nem sikerült átnevezni %s-t erre: %s"
@@ -664,8 +637,7 @@ msgstr "Nem sikerült átnevezni %s-t erre: %s"
 msgid "Y"
 msgstr "I"
 
-#: cmdline/apt-get.cc:142
-#: cmdline/apt-get.cc:1506
+#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1506
 #, c-format
 msgid "Regex compilation error - %s"
 msgstr "Regex fordítási hiba - %s"
@@ -810,8 +782,7 @@ msgstr "Valóban telepíted e csomagokat ellenőrzés nélkül (i/N)? "
 msgid "Some packages could not be authenticated"
 msgstr "Néhány csomag nem hitelesíthető"
 
-#: cmdline/apt-get.cc:711
-#: cmdline/apt-get.cc:858
+#: cmdline/apt-get.cc:711 cmdline/apt-get.cc:858
 msgid "There are problems and -y was used without --force-yes"
 msgstr "Problémák vannak és a -y -t használtad --force-yes nélkül"
 
@@ -827,15 +798,11 @@ msgstr "Csomagokat kellene eltávolítani, de az Eltávolítás nem engedélyeze
 msgid "Internal error, Ordering didn't finish"
 msgstr "Belső hiba, a rendezés nem zárult"
 
-#: cmdline/apt-get.cc:791
-#: cmdline/apt-get.cc:1800
-#: cmdline/apt-get.cc:1833
+#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1800 cmdline/apt-get.cc:1833
 msgid "Unable to lock the download directory"
 msgstr "Nem tudom zárolni a letöltési könyvtárat"
 
-#: cmdline/apt-get.cc:801
-#: cmdline/apt-get.cc:1881
-#: cmdline/apt-get.cc:2117
+#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1881 cmdline/apt-get.cc:2117
 #: apt-pkg/cachefile.cc:67
 msgid "The list of sources could not be read."
 msgstr "A források listája olvashatatlan."
@@ -864,8 +831,7 @@ msgstr "Kicsomagolás után %sB lemezterületet használok fel\n"
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr "Kicsomagolás után %sB lemezterület szabadul fel.\n"
 
-#: cmdline/apt-get.cc:846
-#: cmdline/apt-get.cc:1971
+#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1971
 #, c-format
 msgid "Couldn't determine free space in %s"
 msgstr "Nem határozható meg a szabad hely itt: %s"
@@ -875,8 +841,7 @@ msgstr "Nem határozható meg a szabad hely itt: %s"
 msgid "You don't have enough free space in %s."
 msgstr "Nincs elég szabad hely itt:  %s."
 
-#: cmdline/apt-get.cc:864
-#: cmdline/apt-get.cc:884
+#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:884
 msgid "Trivial Only specified but this is not a trivial operation."
 msgstr "A 'Trivial Only' meg van adva, de ez nem egy triviális művelet."
 
@@ -895,8 +860,7 @@ msgstr ""
 "A folytatáshoz írd be ezt: '%s'\n"
 " ?] "
 
-#: cmdline/apt-get.cc:874
-#: cmdline/apt-get.cc:893
+#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:893
 msgid "Abort."
 msgstr "Megszakítva."
 
@@ -904,9 +868,7 @@ msgstr "Megszakítva."
 msgid "Do you want to continue [Y/n]? "
 msgstr "Folytatni akarod [Y/n]? "
 
-#: cmdline/apt-get.cc:961
-#: cmdline/apt-get.cc:1365
-#: cmdline/apt-get.cc:2014
+#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2014
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr "Sikertelen letöltés: %s  %s\n"
@@ -915,13 +877,14 @@ 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:980
-#: cmdline/apt-get.cc:2023
+#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2023
 msgid "Download complete and in download only mode"
 msgstr "A letöltés befejeződött a 'csak letöltés' módban"
 
 #: cmdline/apt-get.cc:986
-msgid "Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?"
+msgid ""
+"Unable to fetch some archives, maybe run apt-get update or try with --fix-"
+"missing?"
 msgstr ""
 "Nem lehet letölteni néhány archívumot.\n"
 " Próbáld ki az apt-get update -et vagy a --fix-missing -et."
@@ -1019,15 +982,18 @@ msgid "Unable to lock the list directory"
 msgstr "Nem tudom a listakönyvtárat zárolni"
 
 #: cmdline/apt-get.cc:1384
-msgid "Some index files failed to download, they have been ignored, or old ones used instead."
-msgstr "Néhány index fájl letöltése meghiúsult, ezeket mellőzöm vagy régi változatukat használom."
+msgid ""
+"Some index files failed to download, they have been ignored, or old ones "
+"used instead."
+msgstr ""
+"Néhány index fájl letöltése meghiúsult, ezeket mellőzöm vagy régi "
+"változatukat használom."
 
 #: cmdline/apt-get.cc:1403
 msgid "Internal error, AllUpgrade broke stuff"
 msgstr "Belső hiba, AllUpgrade megsértett valamit"
 
-#: cmdline/apt-get.cc:1493
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1493 cmdline/apt-get.cc:1529
 #, c-format
 msgid "Couldn't find package %s"
 msgstr "Az alábbi csomag nem található: %s"
@@ -1042,8 +1008,12 @@ 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:1549
-msgid "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution)."
-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!)."
+msgid ""
+"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
+"solution)."
+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:1561
 msgid ""
@@ -1091,9 +1061,7 @@ msgstr "Ajánlott csomagok:"
 msgid "Calculating upgrade... "
 msgstr "Frissítés kiszámítása... "
 
-#: cmdline/apt-get.cc:1698
-#: methods/ftp.cc:702
-#: methods/connect.cc:101
+#: cmdline/apt-get.cc:1698 methods/ftp.cc:702 methods/connect.cc:101
 msgid "Failed"
 msgstr "Sikertelen"
 
@@ -1101,17 +1069,16 @@ msgstr "Sikertelen"
 msgid "Done"
 msgstr "Kész"
 
-#: cmdline/apt-get.cc:1768
-#: cmdline/apt-get.cc:1776
+#: cmdline/apt-get.cc:1768 cmdline/apt-get.cc:1776
 msgid "Internal error, problem resolver broke stuff"
 msgstr "Belső hiba, hibafeloldó gond"
 
 #: cmdline/apt-get.cc:1876
 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"
+msgstr ""
+"Legalább egy csomagot meg kell adnod, aminek a forrását le kell tölteni"
 
-#: cmdline/apt-get.cc:1906
-#: cmdline/apt-get.cc:2135
+#: cmdline/apt-get.cc:1906 cmdline/apt-get.cc:2135
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr "Nem található forráscsomag ehhez: %s"
@@ -1171,7 +1138,9 @@ msgstr "Hiba a gyermekfolyamatnál"
 
 #: cmdline/apt-get.cc:2112
 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"
+msgstr ""
+"Legalább egy csomagot adj meg, aminek a fordítási függőségeit ellenőrizni "
+"kell"
 
 #: cmdline/apt-get.cc:2140
 #, c-format
@@ -1185,18 +1154,28 @@ msgstr "Nincs fordítási függősége a következőnek: %s.\n"
 
 #: cmdline/apt-get.cc:2212
 #, c-format
-msgid "%s dependency for %s cannot be satisfied because the package %s cannot be found"
-msgstr "%s függősége ennek: %s, ez nem elégíthető ki, mert a(z) %s csomag nem található"
+msgid ""
+"%s dependency for %s cannot be satisfied because the package %s cannot be "
+"found"
+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:2264
 #, c-format
-msgid "%s dependency for %s cannot be satisfied because no available versions of package %s can 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."
+msgid ""
+"%s dependency for %s cannot be satisfied because no available versions of "
+"package %s can 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:2299
 #, 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."
+msgstr ""
+"%s függőséget %s csomaghoz nem lehet kielégíteni: %s telepített csomag túl "
+"friss."
 
 #: cmdline/apt-get.cc:2324
 #, c-format
@@ -1364,12 +1343,8 @@ msgstr ""
 msgid "Bad default setting!"
 msgstr "Hibás alapértelmezett beállítás!"
 
-#: dselect/install:51
-#: dselect/install:83
-#: dselect/install:87
-#: dselect/install:93
-#: dselect/install:104
-#: dselect/update:45
+#: dselect/install:51 dselect/install:83 dselect/install:87 dselect/install:93
+#: dselect/install:104 dselect/update:45
 msgid "Press enter to continue."
 msgstr "Üss entert a folytatáshoz."
 
@@ -1386,7 +1361,8 @@ msgid "or errors caused by missing dependencies. This is OK, only the errors"
 msgstr "vagy hiányzó függőségek miatti hibákat. Ez így OK, csak az ezen üzenet"
 
 #: dselect/install:103
-msgid "above this message are important. Please fix them and run [I]nstall again"
+msgid ""
+"above this message are important. Please fix them and run [I]nstall again"
 msgstr "előtti hibák fontosak. Javítsd azokat és futtasd az [I]nstallt újra"
 
 #: dselect/update:30
@@ -1401,8 +1377,7 @@ msgstr "Nem sikerült csöveket létrehozni"
 msgid "Failed to exec gzip "
 msgstr "Nem sikerült a gzipet futtatni "
 
-#: apt-inst/contrib/extracttar.cc:180
-#: apt-inst/contrib/extracttar.cc:206
+#: apt-inst/contrib/extracttar.cc:180 apt-inst/contrib/extracttar.cc:206
 msgid "Corrupted archive"
 msgstr "Hibás archívum"
 
@@ -1423,8 +1398,7 @@ msgstr "Érvénytelen archívum-aláírás"
 msgid "Error reading archive member header"
 msgstr "Hiba az archívum tag fejléc olvasásakor"
 
-#: apt-inst/contrib/arfile.cc:93
-#: apt-inst/contrib/arfile.cc:105
+#: apt-inst/contrib/arfile.cc:93 apt-inst/contrib/arfile.cc:105
 msgid "Invalid archive member header"
 msgstr "Érvénytelen archívum tag fejléc"
 
@@ -1467,21 +1441,17 @@ msgstr "A(z) %s -> %s eltérítés hozzáadásának duplázása"
 msgid "Duplicate conf file %s/%s"
 msgstr "Dupla %s/%s konfigurációs fájl"
 
-#: apt-inst/dirstream.cc:45
-#: apt-inst/dirstream.cc:50
-#: apt-inst/dirstream.cc:53
+#: apt-inst/dirstream.cc:45 apt-inst/dirstream.cc:50 apt-inst/dirstream.cc:53
 #, c-format
 msgid "Failed to write file %s"
 msgstr "%s fájl írása sikertelen"
 
-#: apt-inst/dirstream.cc:96
-#: apt-inst/dirstream.cc:104
+#: apt-inst/dirstream.cc:96 apt-inst/dirstream.cc:104
 #, c-format
 msgid "Failed to close file %s"
 msgstr "Nem sikerült a(z) %s fájlt bezárni"
 
-#: apt-inst/extract.cc:96
-#: apt-inst/extract.cc:167
+#: apt-inst/extract.cc:96 apt-inst/extract.cc:167
 #, c-format
 msgid "The path %s is too long"
 msgstr "A(z) %s útvonal túl hosszú"
@@ -1501,8 +1471,7 @@ msgstr "A(z) %s könyvtár eltérítve"
 msgid "The package is trying to write to the diversion target %s/%s"
 msgstr "A csomag megpróbál írni a(z) %s/%s eltérített célpontba"
 
-#: apt-inst/extract.cc:157
-#: apt-inst/extract.cc:300
+#: apt-inst/extract.cc:157 apt-inst/extract.cc:300
 msgid "The diversion path is too long"
 msgstr "Az eltérített útvonal túl hosszú"
 
@@ -1529,12 +1498,9 @@ msgstr "Csomagtalálat felülírása %s verziója nélkül"
 msgid "File %s/%s overwrites the one in the package %s"
 msgstr "A(z) %s/%s fájl felülírja a(z) %s csomagban levőt"
 
-#: apt-inst/extract.cc:467
-#: apt-pkg/contrib/configuration.cc:750
-#: apt-pkg/contrib/cdromutl.cc:153
-#: apt-pkg/sourcelist.cc:324
-#: apt-pkg/acquire.cc:421
-#: apt-pkg/clean.cc:38
+#: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:750
+#: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/sourcelist.cc:324
+#: apt-pkg/acquire.cc:421 apt-pkg/clean.cc:38
 #, c-format
 msgid "Unable to read %s"
 msgstr "%s nem olvasható"
@@ -1544,14 +1510,12 @@ msgstr "%s nem olvasható"
 msgid "Unable to stat %s"
 msgstr "%s nem érhető el"
 
-#: apt-inst/deb/dpkgdb.cc:55
-#: apt-inst/deb/dpkgdb.cc:61
+#: apt-inst/deb/dpkgdb.cc:55 apt-inst/deb/dpkgdb.cc:61
 #, c-format
 msgid "Failed to remove %s"
 msgstr "%s eltávolítása sikertelen"
 
-#: apt-inst/deb/dpkgdb.cc:110
-#: apt-inst/deb/dpkgdb.cc:112
+#: apt-inst/deb/dpkgdb.cc:110 apt-inst/deb/dpkgdb.cc:112
 #, c-format
 msgid "Unable to create %s"
 msgstr "%s létrehozása sikertelen"
@@ -1566,10 +1530,8 @@ msgid "The info and temp directories need to be on the same filesystem"
 msgstr "Az info és temp könyvtáraknak egy fájlrendszeren kell lenniük"
 
 #. Build the status cache
-#: apt-inst/deb/dpkgdb.cc:139
-#: apt-pkg/pkgcachegen.cc:643
-#: apt-pkg/pkgcachegen.cc:712
-#: apt-pkg/pkgcachegen.cc:717
+#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:643
+#: apt-pkg/pkgcachegen.cc:712 apt-pkg/pkgcachegen.cc:717
 #: apt-pkg/pkgcachegen.cc:840
 msgid "Reading package lists"
 msgstr "Csomaglisták olvasása"
@@ -1579,24 +1541,27 @@ msgstr "Csomaglisták olvasása"
 msgid "Failed to change to the admin dir %sinfo"
 msgstr "Nem sikerült a(z) %sinfo admin könyvtárba váltani"
 
-#: apt-inst/deb/dpkgdb.cc:201
-#: apt-inst/deb/dpkgdb.cc:355
+#: apt-inst/deb/dpkgdb.cc:201 apt-inst/deb/dpkgdb.cc:355
 #: apt-inst/deb/dpkgdb.cc:448
 msgid "Internal error getting a package name"
 msgstr "Belső hiba a csomagnév elhozásakor"
 
-#: apt-inst/deb/dpkgdb.cc:205
-#: apt-inst/deb/dpkgdb.cc:386
+#: apt-inst/deb/dpkgdb.cc:205 apt-inst/deb/dpkgdb.cc:386
 msgid "Reading file listing"
 msgstr "Fájllista olvasása"
 
 #: apt-inst/deb/dpkgdb.cc:216
 #, c-format
-msgid "Failed to open the list file '%sinfo/%s'. If you cannot restore this file then make it empty and immediately re-install the same version of the package!"
-msgstr "Nem sikerült a '%sinfo/%s' listafájlt megnyitni. Ha nem tudod helyreállítani ezt a fájlt, akkor ürítsd ki, és azonnal telepítsd újra a csomag ugyanezen verzióját!"
+msgid ""
+"Failed to open the list file '%sinfo/%s'. If you cannot restore this file "
+"then make it empty and immediately re-install the same version of the "
+"package!"
+msgstr ""
+"Nem sikerült a '%sinfo/%s' listafájlt megnyitni. Ha nem tudod helyreállítani "
+"ezt a fájlt, akkor ürítsd ki, és azonnal telepítsd újra a csomag ugyanezen "
+"verzióját!"
 
-#: apt-inst/deb/dpkgdb.cc:229
-#: apt-inst/deb/dpkgdb.cc:242
+#: apt-inst/deb/dpkgdb.cc:229 apt-inst/deb/dpkgdb.cc:242
 #, c-format
 msgid "Failed reading the list file %sinfo/%s"
 msgstr "Nem sikerült a(z) %sinfo/%s lista fájlt olvasni"
@@ -1614,8 +1579,7 @@ msgstr "Nem sikerült a(z) %sdiversions eltérítő fájlt megnyitni"
 msgid "The diversion file is corrupted"
 msgstr "Az eltérítő fájl hibás"
 
-#: apt-inst/deb/dpkgdb.cc:331
-#: apt-inst/deb/dpkgdb.cc:336
+#: apt-inst/deb/dpkgdb.cc:331 apt-inst/deb/dpkgdb.cc:336
 #: apt-inst/deb/dpkgdb.cc:341
 #, c-format
 msgid "Invalid line in the diversion file: %s"
@@ -1644,8 +1608,7 @@ msgstr "Hibás ConfFile szakasz a státusz fájlban. Offszet %lu"
 msgid "Error parsing MD5. Offset %lu"
 msgstr "MD5 értelmezési hiba. Offszet %lu"
 
-#: apt-inst/deb/debfile.cc:42
-#: apt-inst/deb/debfile.cc:47
+#: apt-inst/deb/debfile.cc:42 apt-inst/deb/debfile.cc:47
 #, c-format
 msgid "This is not a valid DEB archive, missing '%s' member"
 msgstr "Ez nem egy érvényes DEB archív, hiányzik a '%s' tag"
@@ -1678,8 +1641,12 @@ msgid "Unable to read the cdrom database %s"
 msgstr "%s CD-ROM adatbázis nem olvasható"
 
 #: methods/cdrom.cc:123
-msgid "Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs"
-msgstr "Kérlek használd az apt-cdrom parancsot a CD felismertetésére. Az apt-get update nem használható új CD-k hozzáadására"
+msgid ""
+"Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update "
+"cannot be used to add new CD-ROMs"
+msgstr ""
+"Kérlek használd az apt-cdrom parancsot a CD felismertetésére. Az apt-get "
+"update nem használható új CD-k hozzáadására"
 
 #: methods/cdrom.cc:131
 msgid "Wrong CD-ROM"
@@ -1694,22 +1661,16 @@ msgstr "Nem lehet lecsatolni az itt lévő CD-ROM-ot: %s, talán még használod
 msgid "Disk not found."
 msgstr "Nem találom a lemezt"
 
-#: methods/cdrom.cc:177
-#: methods/file.cc:79
-#: methods/rsh.cc:264
+#: methods/cdrom.cc:177 methods/file.cc:79 methods/rsh.cc:264
 msgid "File not found"
 msgstr "Nem találom a fájlt"
 
-#: methods/copy.cc:42
-#: methods/gpgv.cc:275
-#: methods/gzip.cc:133
+#: methods/copy.cc:42 methods/gpgv.cc:275 methods/gzip.cc:133
 #: methods/gzip.cc:142
 msgid "Failed to stat"
 msgstr "Nem érhető el"
 
-#: methods/copy.cc:79
-#: methods/gpgv.cc:272
-#: methods/gzip.cc:139
+#: methods/copy.cc:79 methods/gpgv.cc:272 methods/gzip.cc:139
 msgid "Failed to set modification time"
 msgstr "A módosítási időt beállítása sikertelen"
 
@@ -1730,8 +1691,7 @@ msgstr "Nem lehet a társ nevét megállapítani"
 msgid "Unable to determine the local name"
 msgstr "Nem lehet a helyi nevet megállapítani"
 
-#: methods/ftp.cc:204
-#: methods/ftp.cc:232
+#: methods/ftp.cc:204 methods/ftp.cc:232
 #, c-format
 msgid "The server refused the connection and said: %s"
 msgstr "A kiszolgáló megtagadta a kapcsolatot: %s"
@@ -1747,8 +1707,12 @@ msgid "PASS failed, server said: %s"
 msgstr "Hibás PASS, a kiszolgáló üzenete: %s"
 
 #: methods/ftp.cc:237
-msgid "A proxy server was specified but no login script, Acquire::ftp::ProxyLogin is empty."
-msgstr "Egy proxy kiszolgáló meg lett adva login szkript nélkül, és az Acquire::ftp::ProxyLogin üres."
+msgid ""
+"A proxy server was specified but no login script, Acquire::ftp::ProxyLogin "
+"is empty."
+msgstr ""
+"Egy proxy kiszolgáló meg lett adva login szkript nélkül, és az Acquire::ftp::"
+"ProxyLogin üres."
 
 #: methods/ftp.cc:265
 #, c-format
@@ -1760,10 +1724,7 @@ msgstr "A login szkript '%s' parancsa hibázott, a kiszolgáló üzenete: %s"
 msgid "TYPE failed, server said: %s"
 msgstr "Hibás TYPE, a kiszolgáló üzenete: %s"
 
-#: methods/ftp.cc:329
-#: methods/ftp.cc:440
-#: methods/rsh.cc:183
-#: methods/rsh.cc:226
+#: methods/ftp.cc:329 methods/ftp.cc:440 methods/rsh.cc:183 methods/rsh.cc:226
 msgid "Connection timeout"
 msgstr "Időtúllépés a kapcsolatban"
 
@@ -1771,31 +1732,23 @@ msgstr "Időtúllépés a kapcsolatban"
 msgid "Server closed the connection"
 msgstr "A kiszolgáló lezárta a kapcsolatot"
 
-#: methods/ftp.cc:338
-#: apt-pkg/contrib/fileutl.cc:471
-#: methods/rsh.cc:190
+#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:471 methods/rsh.cc:190
 msgid "Read error"
 msgstr "Olvasási hiba"
 
-#: methods/ftp.cc:345
-#: methods/rsh.cc:197
+#: methods/ftp.cc:345 methods/rsh.cc:197
 msgid "A response overflowed the buffer."
 msgstr "A válasz túlcsordította a puffert."
 
-#: methods/ftp.cc:362
-#: methods/ftp.cc:374
+#: methods/ftp.cc:362 methods/ftp.cc:374
 msgid "Protocol corruption"
 msgstr "Protokoll hiba"
 
-#: methods/ftp.cc:446
-#: apt-pkg/contrib/fileutl.cc:510
-#: methods/rsh.cc:232
+#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:510 methods/rsh.cc:232
 msgid "Write error"
 msgstr "Írási hiba"
 
-#: methods/ftp.cc:687
-#: methods/ftp.cc:693
-#: methods/ftp.cc:729
+#: methods/ftp.cc:687 methods/ftp.cc:693 methods/ftp.cc:729
 msgid "Could not create a socket"
 msgstr "Nem lehet létrehozni a socket-et"
 
@@ -1845,9 +1798,7 @@ msgstr "Az adat sockethez kapcsolódás túllépte az időt"
 msgid "Unable to accept connection"
 msgstr "Nem lehet elfogadni a kapcsolatot"
 
-#: methods/ftp.cc:864
-#: methods/http.cc:958
-#: methods/rsh.cc:303
+#: methods/ftp.cc:864 methods/http.cc:958 methods/rsh.cc:303
 msgid "Problem hashing file"
 msgstr "Probléma a fájl hash értékének meghatározásakor"
 
@@ -1856,8 +1807,7 @@ msgstr "Probléma a fájl hash értékének meghatározásakor"
 msgid "Unable to fetch file, server said '%s'"
 msgstr "Nem lehet letölteni a fájlt, a kiszolgáló üzenete: '%s'"
 
-#: methods/ftp.cc:892
-#: methods/rsh.cc:322
+#: methods/ftp.cc:892 methods/rsh.cc:322
 msgid "Data socket timed out"
 msgstr "Az adat socket túllépte az időt"
 
@@ -1907,8 +1857,7 @@ msgstr "Nem tudtam kapcsolódni ehhez: %s: %s (%s)."
 
 #. We say this mainly because the pause here is for the
 #. ssh connection that is still going
-#: methods/connect.cc:136
-#: methods/rsh.cc:425
+#: methods/connect.cc:136 methods/rsh.cc:425
 #, c-format
 msgid "Connecting to %s"
 msgstr "Kapcsolódás: %s"
@@ -1943,7 +1892,8 @@ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgstr "H: Az Acquire::gpgv::Options argumentum lista túl hosszú. Kilépek."
 
 #: methods/gpgv.cc:198
-msgid "Internal error: Good signature, but could not determine key fingerprint?!"
+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:203
@@ -1964,8 +1914,11 @@ msgid "The following signatures were invalid:\n"
 msgstr "Az alábbi aláírások érvénytelenek voltak:\n"
 
 #: methods/gpgv.cc:250
-msgid "The following signatures couldn't be verified because the public key is not available:\n"
-msgstr "Az alábbi aláírások nem igazolhatók, mert a nyilvános kulcs nem elérhető:\n"
+msgid ""
+"The following signatures couldn't be verified because the public key is not "
+"available:\n"
+msgstr ""
+"Az alábbi aláírások nem igazolhatók, mert a nyilvános kulcs nem elérhető:\n"
 
 #: methods/gzip.cc:57
 #, c-format
@@ -1990,8 +1943,7 @@ msgstr "Egyetlen fejléc sort kaptam, ami több mint %u karakteres"
 msgid "Bad header line"
 msgstr "Rossz fejléc sor"
 
-#: methods/http.cc:549
-#: methods/http.cc:556
+#: methods/http.cc:549 methods/http.cc:556
 msgid "The HTTP server sent an invalid reply header"
 msgstr "A http kiszolgáló egy érvénytelen válaszfejlécet küldött"
 
@@ -2106,8 +2058,7 @@ msgstr "Szintaktikai hiba %s: %u: Csak legfelső szinten használhatók előír
 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:695
-#: apt-pkg/contrib/configuration.cc:700
+#: apt-pkg/contrib/configuration.cc:695 apt-pkg/contrib/configuration.cc:700
 #, c-format
 msgid "Syntax error %s:%u: Included from here"
 msgstr "Szintaktikai hiba %s: %u: ugyaninnen include-olva"
@@ -2137,8 +2088,7 @@ msgstr "%c%s... Kész"
 msgid "Command line option '%c' [from %s] is not known."
 msgstr "A(z) '%c' parancssori opció [a következőből: %s] ismeretlen."
 
-#: apt-pkg/contrib/cmndline.cc:106
-#: apt-pkg/contrib/cmndline.cc:114
+#: apt-pkg/contrib/cmndline.cc:106 apt-pkg/contrib/cmndline.cc:114
 #: apt-pkg/contrib/cmndline.cc:122
 #, c-format
 msgid "Command line option %s is not understood"
@@ -2149,17 +2099,16 @@ msgstr "%s parancssori opció értelmezhetetlen"
 msgid "Command line option %s is not boolean"
 msgstr "%s parancssori opció nem logikai"
 
-#: apt-pkg/contrib/cmndline.cc:166
-#: apt-pkg/contrib/cmndline.cc:187
+#: apt-pkg/contrib/cmndline.cc:166 apt-pkg/contrib/cmndline.cc:187
 #, c-format
 msgid "Option %s requires an argument."
 msgstr "%s opcióhoz szükséges egy argumentum"
 
-#: apt-pkg/contrib/cmndline.cc:201
-#: apt-pkg/contrib/cmndline.cc:207
+#: apt-pkg/contrib/cmndline.cc:201 apt-pkg/contrib/cmndline.cc:207
 #, c-format
 msgid "Option %s: Configuration item specification must have an =<val>."
-msgstr "%s opció: a konfigurációs elem specifikációhoz szükséges egy =<érték> rész."
+msgstr ""
+"%s opció: a konfigurációs elem specifikációhoz szükséges egy =<érték> rész."
 
 #: apt-pkg/contrib/cmndline.cc:237
 #, c-format
@@ -2186,9 +2135,7 @@ msgstr "%s érvénytelen művelet"
 msgid "Unable to stat the mount point %s"
 msgstr "%s csatolási pont nem érhető el"
 
-#: apt-pkg/contrib/cdromutl.cc:149
-#: apt-pkg/acquire.cc:427
-#: apt-pkg/clean.cc:44
+#: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:427 apt-pkg/clean.cc:44
 #, c-format
 msgid "Unable to change to %s"
 msgstr "Nem sikerült ide váltani: %s"
@@ -2333,8 +2280,7 @@ msgstr "opcionális"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:61
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Függőségi fa építése"
 
@@ -2386,8 +2332,7 @@ msgstr "A(z) %lu. sor hibás %s forráslistában (dist feldolgozó)"
 msgid "Opening %s"
 msgstr "%s megnyitása"
 
-#: apt-pkg/sourcelist.cc:220
-#: apt-pkg/cdrom.cc:426
+#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:426
 #, c-format
 msgid "Line %u too long in source list %s."
 msgstr "A(z) %u. sor túl hosszú %s forráslistában."
@@ -2402,16 +2347,21 @@ 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/sourcelist.cc:252
-#: apt-pkg/sourcelist.cc:255
+#: apt-pkg/sourcelist.cc:252 apt-pkg/sourcelist.cc:255
 #, c-format
 msgid "Malformed line %u in source list %s (vendor id)"
 msgstr "A(z) %u. sor hibás %s forráslistában (terjesztő id)"
 
 #: apt-pkg/packagemanager.cc:402
 #, c-format
-msgid "This installation run will require temporarily removing the essential package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if you really want to do it, activate the APT::Force-LoopBreak option."
-msgstr "Ez a telepítési lépés átmenetileg megköveteli, hogy eltávolítsd a(z) %s 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."
+msgid ""
+"This installation run will require temporarily removing the essential "
+"package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if "
+"you really want to do it, activate the APT::Force-LoopBreak option."
+msgstr ""
+"Ez a telepítési lépés átmenetileg megköveteli, hogy eltávolítsd a(z) %s "
+"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/pkgrecords.cc:37
 #, c-format
@@ -2420,16 +2370,23 @@ msgstr "A(z) '%s' indexfájltípus nem támogatott"
 
 #: apt-pkg/algorithms.cc:241
 #, c-format
-msgid "The package %s needs to be reinstalled, but I can't find an archive for it."
-msgstr "A(z) %s csomagot újra kell telepíteni, de nem találok archívumot hozzá."
+msgid ""
+"The package %s needs to be reinstalled, but I can't find an archive for it."
+msgstr ""
+"A(z) %s csomagot újra kell telepíteni, de nem találok archívumot hozzá."
 
 #: apt-pkg/algorithms.cc:1059
-msgid "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages."
-msgstr "Hiba, a pkgProblemResolver::Resolve töréseket generált, ezt visszafogott csomagok okozhatják."
+msgid ""
+"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
+"held packages."
+msgstr ""
+"Hiba, a pkgProblemResolver::Resolve töréseket generált, ezt visszafogott "
+"csomagok okozhatják."
 
 #: apt-pkg/algorithms.cc:1061
 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."
+msgstr ""
+"A problémák nem javíthatók, sérült visszafogott csomagok vannak a rendszeren."
 
 #: apt-pkg/acquire.cc:62
 #, c-format
@@ -2488,7 +2445,8 @@ msgstr "Néhány 'source' URI-t be kell tenned a sources.list fájlba"
 
 #: apt-pkg/cachefile.cc:73
 msgid "The package lists or status file could not be parsed or opened."
-msgstr "A csomaglista vagy az állapot fájl nem dolgozható fel vagy nem olvasható."
+msgstr ""
+"A csomaglista vagy az állapot fájl nem dolgozható fel vagy nem olvasható."
 
 #: apt-pkg/cachefile.cc:77
 msgid "You may want to run apt-get update to correct these problems"
@@ -2548,15 +2506,18 @@ msgstr "Hiba történt %s feldolgozásakor (NewVersion2)"
 
 #: apt-pkg/pkgcachegen.cc:207
 msgid "Wow, you exceeded the number of package names this APT is capable of."
-msgstr "Ez nem semmi, túllépted a csomagnevek számát, amit ez az APT kezelni tud!"
+msgstr ""
+"Ez nem semmi, túllépted a csomagnevek számát, amit ez az APT kezelni tud!"
 
 #: apt-pkg/pkgcachegen.cc:210
 msgid "Wow, you exceeded the number of versions this APT is capable of."
-msgstr "Ez nem semmi, túllépted a csomagverziók számát, amit ez az APT kezelni tud!"
+msgstr ""
+"Ez nem semmi, túllépted a csomagverziók számát, amit ez az APT kezelni tud!"
 
 #: apt-pkg/pkgcachegen.cc:213
 msgid "Wow, you exceeded the number of dependencies this APT is capable of."
-msgstr "Ez nem semmi, túllépted a függőségek számát, amit ez az APT kezelni tud."
+msgstr ""
+"Ez nem semmi, túllépted a függőségek számát, amit ez az APT kezelni tud."
 
 #: apt-pkg/pkgcachegen.cc:241
 #, c-format
@@ -2571,7 +2532,8 @@ msgstr "Hiba történt %s feldolgozásakor (CollectFileProvides)"
 #: apt-pkg/pkgcachegen.cc:260
 #, c-format
 msgid "Package %s %s was not found while processing file dependencies"
-msgstr "%s %s csomag nem volt megtalálható a fájl függőségeinek feldolgozása közben"
+msgstr ""
+"%s %s csomag nem volt megtalálható a fájl függőségeinek feldolgozása közben"
 
 #: apt-pkg/pkgcachegen.cc:574
 #, c-format
@@ -2583,8 +2545,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:785
-#: apt-pkg/pkgcachegen.cc:792
+#: apt-pkg/pkgcachegen.cc:785 apt-pkg/pkgcachegen.cc:792
 msgid "IO Error saving source cache"
 msgstr "IO hiba a forrás-gyorsítótár mentésekor"
 
@@ -2593,8 +2554,7 @@ msgstr "IO hiba a forrás-gyorsítótár mentésekor"
 msgid "rename failed, %s (%s -> %s)."
 msgstr "sikertelen átnevezés, %s (%s -> %s)."
 
-#: apt-pkg/acquire-item.cc:236
-#: apt-pkg/acquire-item.cc:945
+#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:945
 msgid "MD5Sum mismatch"
 msgstr "Az MD5Sum nem megfelelő"
 
@@ -2604,18 +2564,28 @@ msgstr "Nincs elérhető nyilvános kulcs az alábbi kulcs azonosítókhoz:\n"
 
 #: apt-pkg/acquire-item.cc:753
 #, 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 "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)"
+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 ""
+"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:812
 #, c-format
-msgid "I wasn't able to locate file for the %s package. This might mean you need to manually fix this package."
-msgstr "Nem találtam egy fájlt a(z) %s csomaghoz. Ez azt jelentheti, hogy kézzel kell kijavítani a csomagot."
+msgid ""
+"I wasn't able to locate file for the %s package. This might mean you need to "
+"manually fix this package."
+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:848
 #, 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."
+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:935
 msgid "Size mismatch"
@@ -2635,8 +2605,7 @@ msgstr ""
 "%s CD-ROM csatolási pont használata\n"
 "CD-ROM csatolása\n"
 
-#: apt-pkg/cdrom.cc:516
-#: apt-pkg/cdrom.cc:598
+#: apt-pkg/cdrom.cc:516 apt-pkg/cdrom.cc:598
 msgid "Identifying.. "
 msgstr "Azonosítás.. "
 
@@ -2777,24 +2746,32 @@ msgstr "A kapcsolat idő előtt lezárult"
 
 #~ msgid "Total Distinct Descriptions: "
 #~ msgstr "Összes külső leírás: "
+
 #~ msgid "Total Desc/File relations: "
 #~ msgstr "Összes Leírás/Fájl kapcsolat: "
+
 #~ msgid "Reading file list"
 #~ msgstr "Fájllista olvasása"
+
 #~ msgid "Could not execute "
 #~ msgstr "Nem futtatható"
+
 #~ msgid "Error occured while processing %s (NewFileDesc1)"
 #~ msgstr "Hiba történt %s feldolgozásakor (NewFileDesc1)"
+
 #~ msgid "Error occured while processing %s (NewFileDesc2)"
 #~ msgstr "Hiba történt %s feldolgozásakor (NewFileDesc2)"
+
 #~ msgid "Wow, you exceeded the number of descriptions this APT is capable of."
 #~ msgstr ""
 #~ "Ez nem semmi, túllépted a csomagleírások számát, amit ez az APT kezelni "
 #~ "tud!"
+
 #~ msgid "Preparing for remove with config %s"
 #~ msgstr "Előkészítés eltávolításhoz %s konfigurálásával"
+
 #~ msgid "Removed with config %s"
 #~ msgstr "%s konfigurálásával eltávolítva"
+
 #~ msgid "Could not patch file"
 #~ msgstr "%s fájl foltozása sikertelen"
-
index 08476e84fc8b2cdf55cdf6b12fb44b3003289842..2a0e621a72f174096400365561d3841abb884477 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.5.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-02-14 11:41+0100\n"
 "Last-Translator: Samuele Giovanni Tonon <samu@debian.org>\n"
 "Language-Team: Italian <it@li.org>\n"
@@ -2309,15 +2309,15 @@ msgstr "opzionale"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Generazione dell'albero delle dipendenze in corso"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Versioni candidate"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Generazione delle dipendenze"
 
index f1b55b0e4350c332fbd32acc6e121909d99f2f9a..db78e7bad9a530859d13bf223ffbb41bfa39b29e 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-01-25 20:55+0900\n"
 "Last-Translator: Kenshi Muto <kmuto@debian.org>\n"
 "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
@@ -2289,15 +2289,15 @@ msgstr "任意"
 msgid "extra"
 msgstr "特別"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "依存関係ツリーを作成しています"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "候補バージョン"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "依存関係の生成"
 
index e417f256ca7e27218ba7c7f2d532c7353ed0010d..4617fc2ac3f35f16763a4e19e408904ca24fb182 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -18,12 +18,8 @@ msgstr ""
 msgid "Package %s version %s has an unmet dep:\n"
 msgstr "%s 꾸러미의 %s 버전의 의존성이 맞지 않습니다:\n"
 
-#: cmdline/apt-cache.cc:175
-#: cmdline/apt-cache.cc:527
-#: cmdline/apt-cache.cc:615
-#: cmdline/apt-cache.cc:771
-#: cmdline/apt-cache.cc:989
-#: cmdline/apt-cache.cc:1357
+#: cmdline/apt-cache.cc:175 cmdline/apt-cache.cc:527 cmdline/apt-cache.cc:615
+#: cmdline/apt-cache.cc:771 cmdline/apt-cache.cc:989 cmdline/apt-cache.cc:1357
 #: cmdline/apt-cache.cc:1508
 #, c-format
 msgid "Unable to locate package %s"
@@ -85,8 +81,7 @@ msgstr "전체 빈 용량: "
 msgid "Total space accounted for: "
 msgstr "차지하는 전체 용량: "
 
-#: cmdline/apt-cache.cc:446
-#: cmdline/apt-cache.cc:1189
+#: cmdline/apt-cache.cc:446 cmdline/apt-cache.cc:1189
 #, c-format
 msgid "Package file %s is out of sync."
 msgstr "꾸러미 파일 %s 파일이 동기화되지 않았습니다."
@@ -103,8 +98,7 @@ msgstr "꾸러미가 없습니다"
 msgid "Package files:"
 msgstr "꾸러미 파일:"
 
-#: cmdline/apt-cache.cc:1469
-#: cmdline/apt-cache.cc:1555
+#: cmdline/apt-cache.cc:1469 cmdline/apt-cache.cc:1555
 msgid "Cache is out of sync, can't x-ref a package file"
 msgstr "캐시가 동기화되지 않았습니다. 꾸러미 파일을 상호 참조할 수 없습니다"
 
@@ -118,8 +112,7 @@ msgstr "%4i %s\n"
 msgid "Pinned packages:"
 msgstr "핀 꾸러미:"
 
-#: cmdline/apt-cache.cc:1494
-#: cmdline/apt-cache.cc:1535
+#: cmdline/apt-cache.cc:1494 cmdline/apt-cache.cc:1535
 msgid "(not found)"
 msgstr "(없음)"
 
@@ -128,8 +121,7 @@ msgstr "(없음)"
 msgid "  Installed: "
 msgstr "  설치: "
 
-#: cmdline/apt-cache.cc:1517
-#: cmdline/apt-cache.cc:1525
+#: cmdline/apt-cache.cc:1517 cmdline/apt-cache.cc:1525
 msgid "(none)"
 msgstr "(없음)"
 
@@ -152,13 +144,9 @@ msgstr "  버전 테이블:"
 msgid "       %4i %s\n"
 msgstr "       %4i %s\n"
 
-#: cmdline/apt-cache.cc:1652
-#: cmdline/apt-cdrom.cc:138
-#: cmdline/apt-config.cc:70
-#: cmdline/apt-extracttemplates.cc:225
-#: ftparchive/apt-ftparchive.cc:550
-#: cmdline/apt-get.cc:2369
-#: cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-cache.cc:1652 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
+#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
+#: cmdline/apt-get.cc:2369 cmdline/apt-sortpkgs.cc:144
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr "%s %s (%s %s), 컴파일 시각 %s %s\n"
@@ -310,8 +298,7 @@ msgstr ""
 "  -c=? 설정 파일을 읽습니다\n"
 "  -o=? 임의의 옵션을 설정합니다, 예를 들어 -o dir::cache=/tmp\n"
 
-#: cmdline/apt-extracttemplates.cc:267
-#: apt-pkg/pkgcachegen.cc:710
+#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:710
 #, c-format
 msgid "Unable to write to %s"
 msgstr "%s에 쓸 수 없습니다"
@@ -320,17 +307,13 @@ msgstr "%s에 쓸 수 없습니다"
 msgid "Cannot get debconf version. Is debconf installed?"
 msgstr "debconf 버전을 알 수 없습니다. debconf가 설치되었습니까?"
 
-#: ftparchive/apt-ftparchive.cc:167
-#: ftparchive/apt-ftparchive.cc:341
+#: ftparchive/apt-ftparchive.cc:167 ftparchive/apt-ftparchive.cc:341
 msgid "Package extension list is too long"
 msgstr "꾸러미 확장 목록이 너무 깁니다"
 
-#: ftparchive/apt-ftparchive.cc:169
-#: ftparchive/apt-ftparchive.cc:183
-#: ftparchive/apt-ftparchive.cc:206
-#: ftparchive/apt-ftparchive.cc:256
-#: ftparchive/apt-ftparchive.cc:270
-#: ftparchive/apt-ftparchive.cc:292
+#: ftparchive/apt-ftparchive.cc:169 ftparchive/apt-ftparchive.cc:183
+#: ftparchive/apt-ftparchive.cc:206 ftparchive/apt-ftparchive.cc:256
+#: ftparchive/apt-ftparchive.cc:270 ftparchive/apt-ftparchive.cc:292
 #, c-format
 msgid "Error processing directory %s"
 msgstr "%s 디렉토리를 처리하는 데 오류가 발생했습니다"
@@ -489,8 +472,7 @@ msgstr "경고: "
 msgid "E: Errors apply to file "
 msgstr "오류: 다음 파일에 적용하는 데 오류가 발생했습니다: "
 
-#: ftparchive/writer.cc:151
-#: ftparchive/writer.cc:181
+#: ftparchive/writer.cc:151 ftparchive/writer.cc:181
 #, c-format
 msgid "Failed to resolve %s"
 msgstr "%s의 경로를 알아내는 데 실패했습니다"
@@ -530,12 +512,8 @@ msgstr "*** %s 파일을 %s(으)로 링크하는 데 실패했습니다"
 msgid " DeLink limit of %sB hit.\n"
 msgstr " DeLink 한계값 %s바이트에 도달했습니다.\n"
 
-#: ftparchive/writer.cc:358
-#: apt-inst/extract.cc:181
-#: apt-inst/extract.cc:193
-#: apt-inst/extract.cc:210
-#: apt-inst/deb/dpkgdb.cc:121
-#: methods/gpgv.cc:266
+#: ftparchive/writer.cc:358 apt-inst/extract.cc:181 apt-inst/extract.cc:193
+#: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 methods/gpgv.cc:266
 #, c-format
 msgid "Failed to stat %s"
 msgstr "%s의 정보를 읽는 데 실패했습니다"
@@ -544,14 +522,12 @@ msgstr "%s의 정보를 읽는 데 실패했습니다"
 msgid "Archive had no package field"
 msgstr "아카이브에 꾸러미 필드가 없습니다"
 
-#: ftparchive/writer.cc:394
-#: ftparchive/writer.cc:603
+#: ftparchive/writer.cc:394 ftparchive/writer.cc:603
 #, c-format
 msgid "  %s has no override entry\n"
 msgstr "  %s에는 override 항목이 없습니다\n"
 
-#: ftparchive/writer.cc:437
-#: ftparchive/writer.cc:689
+#: ftparchive/writer.cc:437 ftparchive/writer.cc:689
 #, c-format
 msgid "  %s maintainer is %s not %s\n"
 msgstr "  %s 관리자가 %s입니다 (%s 아님)\n"
@@ -561,37 +537,31 @@ msgstr "  %s 관리자가 %s입니다 (%s 아님)\n"
 msgid "Internal error, could not locate member %s"
 msgstr "내부 오류, %s 멤버를 찾을 수 없습니다"
 
-#: ftparchive/contents.cc:353
-#: ftparchive/contents.cc:384
+#: ftparchive/contents.cc:353 ftparchive/contents.cc:384
 msgid "realloc - Failed to allocate memory"
 msgstr "realloc - 메모리를 할당하는 데 실패했습니다"
 
-#: ftparchive/override.cc:38
-#: ftparchive/override.cc:146
+#: ftparchive/override.cc:38 ftparchive/override.cc:146
 #, c-format
 msgid "Unable to open %s"
 msgstr "%s을(를) 열 수 없습니다"
 
-#: ftparchive/override.cc:64
-#: ftparchive/override.cc:170
+#: ftparchive/override.cc:64 ftparchive/override.cc:170
 #, c-format
 msgid "Malformed override %s line %lu #1"
 msgstr "override %s의 %lu번 줄 #1이 잘못되었습니다"
 
-#: ftparchive/override.cc:78
-#: ftparchive/override.cc:182
+#: ftparchive/override.cc:78 ftparchive/override.cc:182
 #, c-format
 msgid "Malformed override %s line %lu #2"
 msgstr "override %s의 %lu번 줄 #2가 잘못되었습니다"
 
-#: ftparchive/override.cc:92
-#: ftparchive/override.cc:195
+#: ftparchive/override.cc:92 ftparchive/override.cc:195
 #, c-format
 msgid "Malformed override %s line %lu #3"
 msgstr "override %s의 %lu번 줄 #3이 잘못되었습니다"
 
-#: ftparchive/override.cc:131
-#: ftparchive/override.cc:205
+#: ftparchive/override.cc:131 ftparchive/override.cc:205
 #, c-format
 msgid "Failed to read the override file %s"
 msgstr "override 파일 %s을(를) 읽는 데 실패했습니다"
@@ -606,8 +576,7 @@ msgstr "'%s' 압축 알고리즘을 알 수 없습니다"
 msgid "Compressed output %s needs a compression set"
 msgstr "압축된 출력물 %s에는 압축 세트가 필요합니다"
 
-#: ftparchive/multicompress.cc:172
-#: methods/rsh.cc:91
+#: ftparchive/multicompress.cc:172 methods/rsh.cc:91
 msgid "Failed to create IPC pipe to subprocess"
 msgstr "하위 프로세스에 대한 IPC 파이프를 만드는 데 실패했습니다"
 
@@ -653,8 +622,7 @@ msgstr "MD5를 계산하는 동안 읽는 데 실패했습니다"
 msgid "Problem unlinking %s"
 msgstr "%s의 링크를 해제하는 데 문제가 있습니다"
 
-#: ftparchive/multicompress.cc:490
-#: apt-inst/extract.cc:188
+#: ftparchive/multicompress.cc:490 apt-inst/extract.cc:188
 #, c-format
 msgid "Failed to rename %s to %s"
 msgstr "%s 파일의 이름을 %s(으)로 바꾸는 데 실패했습니다"
@@ -663,8 +631,7 @@ msgstr "%s 파일의 이름을 %s(으)로 바꾸는 데 실패했습니다"
 msgid "Y"
 msgstr "Y"
 
-#: cmdline/apt-get.cc:142
-#: cmdline/apt-get.cc:1506
+#: cmdline/apt-get.cc:142 cmdline/apt-get.cc:1506
 #, c-format
 msgid "Regex compilation error - %s"
 msgstr "정규식 컴파일 오류 - %s"
@@ -787,7 +754,8 @@ msgstr " 완료"
 
 #: cmdline/apt-get.cc:664
 msgid "You might want to run `apt-get -f install' to correct these."
-msgstr "이 상황을 바로잡으려면 `apt-get -f install'을 실행해야 할 수도 있습니다."
+msgstr ""
+"이 상황을 바로잡으려면 `apt-get -f install'을 실행해야 할 수도 있습니다."
 
 #: cmdline/apt-get.cc:667
 msgid "Unmet dependencies. Try using -f."
@@ -809,8 +777,7 @@ msgstr "확인하지 않고 꾸러미를 설치하시겠습니까 [y/N]? "
 msgid "Some packages could not be authenticated"
 msgstr "인증할 수 없는 꾸러미가 있습니다"
 
-#: cmdline/apt-get.cc:711
-#: cmdline/apt-get.cc:858
+#: cmdline/apt-get.cc:711 cmdline/apt-get.cc:858
 msgid "There are problems and -y was used without --force-yes"
 msgstr "문제가 발생했고 -y 옵션이 --force-yes 옵션 없이 사용되었습니다"
 
@@ -826,22 +793,20 @@ msgstr "꾸러미를 지워야 하지만 지우기가 금지되어 있습니다.
 msgid "Internal error, Ordering didn't finish"
 msgstr "내부 오류. 순서변경작업이 끝나지 않았습니다"
 
-#: cmdline/apt-get.cc:791
-#: cmdline/apt-get.cc:1800
-#: cmdline/apt-get.cc:1833
+#: cmdline/apt-get.cc:791 cmdline/apt-get.cc:1800 cmdline/apt-get.cc:1833
 msgid "Unable to lock the download directory"
 msgstr "내려받기 디렉토리를 잠글 수 없습니다"
 
-#: cmdline/apt-get.cc:801
-#: cmdline/apt-get.cc:1881
-#: cmdline/apt-get.cc:2117
+#: cmdline/apt-get.cc:801 cmdline/apt-get.cc:1881 cmdline/apt-get.cc:2117
 #: apt-pkg/cachefile.cc:67
 msgid "The list of sources could not be read."
 msgstr "소스 목록을 읽을 수 없습니다."
 
 #: cmdline/apt-get.cc:816
 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
-msgstr "이상하게도 크기가 서로 다릅니다. apt@packages.debian.org로 이메일을 보내주십시오."
+msgstr ""
+"이상하게도 크기가 서로 다릅니다. apt@packages.debian.org로 이메일을 보내주십"
+"시오."
 
 #: cmdline/apt-get.cc:821
 #, c-format
@@ -863,8 +828,7 @@ msgstr "압축을 풀면 %s바이트의 디스크 공간을 더 사용하게 됩
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr "압축을 풀면 %s바이트의 디스크 공간이 비워집니다.\n"
 
-#: cmdline/apt-get.cc:846
-#: cmdline/apt-get.cc:1971
+#: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1971
 #, c-format
 msgid "Couldn't determine free space in %s"
 msgstr "%s의 여유 공간의 크기를 파악할 수 없습니다"
@@ -874,10 +838,11 @@ msgstr "%s의 여유 공간의 크기를 파악할 수 없습니다"
 msgid "You don't have enough free space in %s."
 msgstr "%s 안에 충분한 여유 공간이 없습니다."
 
-#: cmdline/apt-get.cc:864
-#: cmdline/apt-get.cc:884
+#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:884
 msgid "Trivial Only specified but this is not a trivial operation."
-msgstr "사소한 작업만 가능하도록(Trivial Only) 지정되었지만 이 작업은 사소한 작업이 아닙니다."
+msgstr ""
+"사소한 작업만 가능하도록(Trivial Only) 지정되었지만 이 작업은 사소한 작업이 "
+"아닙니다."
 
 # 입력을 받아야 한다.  한글 입력을 못 할 수 있으므로 원문 그대로 사용.
 #: cmdline/apt-get.cc:866
@@ -895,8 +860,7 @@ msgstr ""
 "계속하시려면 다음 문구를 입력하십시오: '%s'\n"
 " ?] "
 
-#: cmdline/apt-get.cc:874
-#: cmdline/apt-get.cc:893
+#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:893
 msgid "Abort."
 msgstr "중단."
 
@@ -904,9 +868,7 @@ msgstr "중단."
 msgid "Do you want to continue [Y/n]? "
 msgstr "계속 하시겠습니까 [Y/n]? "
 
-#: cmdline/apt-get.cc:961
-#: cmdline/apt-get.cc:1365
-#: cmdline/apt-get.cc:2014
+#: cmdline/apt-get.cc:961 cmdline/apt-get.cc:1365 cmdline/apt-get.cc:2014
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr "%s 파일을 받는 데 실패했습니다  %s\n"
@@ -915,14 +877,17 @@ msgstr "%s 파일을 받는 데 실패했습니다  %s\n"
 msgid "Some files failed to download"
 msgstr "일부 파일을 받는 데 실패했습니다"
 
-#: cmdline/apt-get.cc:980
-#: cmdline/apt-get.cc:2023
+#: cmdline/apt-get.cc:980 cmdline/apt-get.cc:2023
 msgid "Download complete and in download only mode"
 msgstr "내려받기를 마쳤고 내려받기 전용 모드입니다"
 
 #: cmdline/apt-get.cc:986
-msgid "Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?"
-msgstr "아카이브를 받을 수 없습니다. 아마도 apt-get update를 실행해야 하거나 --fix-missing 옵션을 줘서 실행해야 할 것입니다."
+msgid ""
+"Unable to fetch some archives, maybe run apt-get update or try with --fix-"
+"missing?"
+msgstr ""
+"아카이브를 받을 수 없습니다. 아마도 apt-get update를 실행해야 하거나 --fix-"
+"missing 옵션을 줘서 실행해야 할 것입니다."
 
 #: cmdline/apt-get.cc:990
 msgid "--fix-missing and media swapping is not currently supported"
@@ -944,7 +909,8 @@ msgstr "주의, %2$s 대신에 %1$s 꾸러미를 선택합니다\n"
 #: cmdline/apt-get.cc:1040
 #, c-format
 msgid "Skipping %s, it is already installed and upgrade is not set.\n"
-msgstr "%s 꾸러미를 건너 뜁니다. 이미 설치되어 있고 업그레이드를 하지 않습니다.\n"
+msgstr ""
+"%s 꾸러미를 건너 뜁니다. 이미 설치되어 있고 업그레이드를 하지 않습니다.\n"
 
 #: cmdline/apt-get.cc:1058
 #, c-format
@@ -1018,15 +984,18 @@ msgid "Unable to lock the list directory"
 msgstr "목록 디렉토리를 잠글 수 없습니다"
 
 #: cmdline/apt-get.cc:1384
-msgid "Some index files failed to download, they have been ignored, or old ones used instead."
-msgstr "일부 인덱스 파일을 내려받는 데 실패했습니다. 해당 파일을 무시하거나 과거의 버전을 대신 사용합니다."
+msgid ""
+"Some index files failed to download, they have been ignored, or old ones "
+"used instead."
+msgstr ""
+"일부 인덱스 파일을 내려받는 데 실패했습니다. 해당 파일을 무시하거나 과거의 버"
+"전을 대신 사용합니다."
 
 #: cmdline/apt-get.cc:1403
 msgid "Internal error, AllUpgrade broke stuff"
 msgstr "내부 오류, AllUpgrade때문에 망가졌습니다"
 
-#: cmdline/apt-get.cc:1493
-#: cmdline/apt-get.cc:1529
+#: cmdline/apt-get.cc:1493 cmdline/apt-get.cc:1529
 #, c-format
 msgid "Couldn't find package %s"
 msgstr "%s 꾸러미를 찾을 수 없습니다"
@@ -1042,8 +1011,12 @@ msgstr "다음을 바로잡으려면 `apt-get -f install'을 실행해 보십시
 
 # FIXME: specify a solution?  무슨 솔루션?
 #: cmdline/apt-get.cc:1549
-msgid "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution)."
-msgstr "의존성이 맞지 않습니다. 꾸러미 없이 'apt-get -f install'을 시도해 보십시오 (아니면 해결 방법을 지정하십시오)."
+msgid ""
+"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
+"solution)."
+msgstr ""
+"의존성이 맞지 않습니다. 꾸러미 없이 'apt-get -f install'을 시도해 보십시오 "
+"(아니면 해결 방법을 지정하십시오)."
 
 #: cmdline/apt-get.cc:1561
 msgid ""
@@ -1089,9 +1062,7 @@ msgstr "추천하는 꾸러미:"
 msgid "Calculating upgrade... "
 msgstr "업그레이드를 계산하는 중입니다... "
 
-#: cmdline/apt-get.cc:1698
-#: methods/ftp.cc:702
-#: methods/connect.cc:101
+#: cmdline/apt-get.cc:1698 methods/ftp.cc:702 methods/connect.cc:101
 msgid "Failed"
 msgstr "실패"
 
@@ -1099,8 +1070,7 @@ msgstr "실패"
 msgid "Done"
 msgstr "완료"
 
-#: cmdline/apt-get.cc:1768
-#: cmdline/apt-get.cc:1776
+#: cmdline/apt-get.cc:1768 cmdline/apt-get.cc:1776
 msgid "Internal error, problem resolver broke stuff"
 msgstr "내부 오류, 문제 해결 프로그램이 사고쳤습니다"
 
@@ -1108,8 +1078,7 @@ msgstr "내부 오류, 문제 해결 프로그램이 사고쳤습니다"
 msgid "Must specify at least one package to fetch source for"
 msgstr "해당되는 소스 꾸러미를 가져올 꾸러미를 최소한 하나 지정해야 합니다"
 
-#: cmdline/apt-get.cc:1906
-#: cmdline/apt-get.cc:2135
+#: cmdline/apt-get.cc:1906 cmdline/apt-get.cc:2135
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr "%s의 소스 꾸러미를 찾을 수 없습니다"
@@ -1183,18 +1152,28 @@ msgstr "%s 꾸러미에 빌드 의존성이 없습니다.\n"
 
 #: cmdline/apt-get.cc:2212
 #, c-format
-msgid "%s dependency for %s cannot be satisfied because the package %s cannot be found"
-msgstr "%2$s에 대한 %1$s 의존성을 만족시킬 수 없습니다. %3$s 꾸러미를 찾을 수 없습니다"
+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:2264
 #, c-format
-msgid "%s dependency for %s cannot be satisfied because no available versions of package %s can satisfy version requirements"
-msgstr "%2$s에 대한 %1$s 의존성을 만족시킬 수 없습니다. %3$s 꾸러미의 사용 가능한 버전 중에서는 이 버전 요구사항을 만족시킬 수 없습니다"
+msgid ""
+"%s dependency for %s cannot be satisfied because no available versions of "
+"package %s can satisfy version requirements"
+msgstr ""
+"%2$s에 대한 %1$s 의존성을 만족시킬 수 없습니다. %3$s 꾸러미의 사용 가능한 버"
+"전 중에서는 이 버전 요구사항을 만족시킬 수 없습니다"
 
 #: cmdline/apt-get.cc:2299
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
-msgstr "%2$s에 대한 %1$s 의존성을 만족시키는 데 실패했습니다: 설치한 %3$s 꾸러미가 너무 최근 버전입니다"
+msgstr ""
+"%2$s에 대한 %1$s 의존성을 만족시키는 데 실패했습니다: 설치한 %3$s 꾸러미가 너"
+"무 최근 버전입니다"
 
 #: cmdline/apt-get.cc:2324
 #, c-format
@@ -1349,7 +1328,8 @@ msgid ""
 msgstr ""
 "사용법: apt-sortpkgs [옵션] 파일1 [파일2 ...]\n"
 "\n"
-"apt-sortpkgs는 꾸러미 파일을 정렬하는 간단한 도구입니다. -s 옵션은 무슨 파일인지\n"
+"apt-sortpkgs는 꾸러미 파일을 정렬하는 간단한 도구입니다. -s 옵션은 무슨 파일"
+"인지\n"
 "알아 내는 데 쓰입니다.\n"
 "\n"
 "옵션:\n"
@@ -1362,12 +1342,8 @@ msgstr ""
 msgid "Bad default setting!"
 msgstr "기본 설정이 잘못되었습니다!"
 
-#: dselect/install:51
-#: dselect/install:83
-#: dselect/install:87
-#: dselect/install:93
-#: dselect/install:104
-#: dselect/update:45
+#: dselect/install:51 dselect/install:83 dselect/install:87 dselect/install:93
+#: dselect/install:104 dselect/update:45
 msgid "Press enter to continue."
 msgstr "계속 하시려면 enter를 누르십시오."
 
@@ -1381,10 +1357,12 @@ msgstr "설정할 것입니다. 오류때문에 의존성을 만족하지 못해
 
 #: dselect/install:102
 msgid "or errors caused by missing dependencies. This is OK, only the errors"
-msgstr "오류가 중복되어 나타날 수 있습니다. 하지만 상관없고, 이 메세지 위에 나온"
+msgstr ""
+"오류가 중복되어 나타날 수 있습니다. 하지만 상관없고, 이 메세지 위에 나온"
 
 #: dselect/install:103
-msgid "above this message are important. Please fix them and run [I]nstall again"
+msgid ""
+"above this message are important. Please fix them and run [I]nstall again"
 msgstr "오류만 중요합니다. 이 오류를 고친 다음에 설치(I)를 다시 시도하십시오"
 
 #: dselect/update:30
@@ -1399,8 +1377,7 @@ msgstr "파이프 만들기가 실패했습니다"
 msgid "Failed to exec gzip "
 msgstr "gzip 실행이 실패했습니다"
 
-#: apt-inst/contrib/extracttar.cc:180
-#: apt-inst/contrib/extracttar.cc:206
+#: apt-inst/contrib/extracttar.cc:180 apt-inst/contrib/extracttar.cc:206
 msgid "Corrupted archive"
 msgstr "아카이브가 손상되었습니다"
 
@@ -1421,8 +1398,7 @@ msgstr "아카이브 시그너쳐가 틀렸습니다"
 msgid "Error reading archive member header"
 msgstr "아카이브 멤버 헤더를 읽는 데 오류가 발생했습니다"
 
-#: apt-inst/contrib/arfile.cc:93
-#: apt-inst/contrib/arfile.cc:105
+#: apt-inst/contrib/arfile.cc:93 apt-inst/contrib/arfile.cc:105
 msgid "Invalid archive member header"
 msgstr "아카이브 멤버 헤더가 잘못되었습니다"
 
@@ -1465,21 +1441,17 @@ msgstr "전환된 파일을 두 번 추가합니다 (%s -> %s)"
 msgid "Duplicate conf file %s/%s"
 msgstr "%s/%s 설정 파일이 중복되었습니다"
 
-#: apt-inst/dirstream.cc:45
-#: apt-inst/dirstream.cc:50
-#: apt-inst/dirstream.cc:53
+#: apt-inst/dirstream.cc:45 apt-inst/dirstream.cc:50 apt-inst/dirstream.cc:53
 #, c-format
 msgid "Failed to write file %s"
 msgstr "%s 파일을 쓰는 데 실패했습니다"
 
-#: apt-inst/dirstream.cc:96
-#: apt-inst/dirstream.cc:104
+#: apt-inst/dirstream.cc:96 apt-inst/dirstream.cc:104
 #, c-format
 msgid "Failed to close file %s"
 msgstr "%s 파일을 닫는 데 실패했습니다"
 
-#: apt-inst/extract.cc:96
-#: apt-inst/extract.cc:167
+#: apt-inst/extract.cc:96 apt-inst/extract.cc:167
 #, c-format
 msgid "The path %s is too long"
 msgstr "경로 %s이(가) 너무 깁니다"
@@ -1499,8 +1471,7 @@ msgstr "%s 디렉토리가 전환되었습니다"
 msgid "The package is trying to write to the diversion target %s/%s"
 msgstr "이 꾸러미에서 전환된 대상에 쓰려고 합니다 (%s/%s)"
 
-#: apt-inst/extract.cc:157
-#: apt-inst/extract.cc:300
+#: apt-inst/extract.cc:157 apt-inst/extract.cc:300
 msgid "The diversion path is too long"
 msgstr "전환하는 경로가 너무 깁니다"
 
@@ -1527,12 +1498,9 @@ msgstr "덮어 쓰는 꾸러미가 %s 꾸러미의 어떤 버전과도 맞지 
 msgid "File %s/%s overwrites the one in the package %s"
 msgstr "%s/%s 파일은 %s 꾸러미에 있는 파일을 덮어 씁니다"
 
-#: apt-inst/extract.cc:467
-#: apt-pkg/contrib/configuration.cc:750
-#: apt-pkg/contrib/cdromutl.cc:153
-#: apt-pkg/sourcelist.cc:324
-#: apt-pkg/acquire.cc:421
-#: apt-pkg/clean.cc:38
+#: apt-inst/extract.cc:467 apt-pkg/contrib/configuration.cc:750
+#: apt-pkg/contrib/cdromutl.cc:153 apt-pkg/sourcelist.cc:324
+#: apt-pkg/acquire.cc:421 apt-pkg/clean.cc:38
 #, c-format
 msgid "Unable to read %s"
 msgstr "%s을(를) 읽을 수 없습니다"
@@ -1542,14 +1510,12 @@ msgstr "%s을(를) 읽을 수 없습니다"
 msgid "Unable to stat %s"
 msgstr "%s의 정보를 읽을 수 없습니다"
 
-#: apt-inst/deb/dpkgdb.cc:55
-#: apt-inst/deb/dpkgdb.cc:61
+#: apt-inst/deb/dpkgdb.cc:55 apt-inst/deb/dpkgdb.cc:61
 #, c-format
 msgid "Failed to remove %s"
 msgstr "%s을(를) 지우는 데 실패했습니다"
 
-#: apt-inst/deb/dpkgdb.cc:110
-#: apt-inst/deb/dpkgdb.cc:112
+#: apt-inst/deb/dpkgdb.cc:110 apt-inst/deb/dpkgdb.cc:112
 #, c-format
 msgid "Unable to create %s"
 msgstr "%s을(를) 만들 수 없습니다"
@@ -1564,10 +1530,8 @@ msgid "The info and temp directories need to be on the same filesystem"
 msgstr "정보 디렉토리와 임시 디렉토리는 같은 파일 시스템에 있어야 합니다"
 
 #. Build the status cache
-#: apt-inst/deb/dpkgdb.cc:139
-#: apt-pkg/pkgcachegen.cc:643
-#: apt-pkg/pkgcachegen.cc:712
-#: apt-pkg/pkgcachegen.cc:717
+#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:643
+#: apt-pkg/pkgcachegen.cc:712 apt-pkg/pkgcachegen.cc:717
 #: apt-pkg/pkgcachegen.cc:840
 msgid "Reading package lists"
 msgstr "꾸러미 목록을 읽는 중입니다"
@@ -1577,24 +1541,26 @@ msgstr "꾸러미 목록을 읽는 중입니다"
 msgid "Failed to change to the admin dir %sinfo"
 msgstr "관리 디렉토리를 %sinfo로 바꾸는 데 실패했습니다"
 
-#: apt-inst/deb/dpkgdb.cc:201
-#: apt-inst/deb/dpkgdb.cc:355
+#: apt-inst/deb/dpkgdb.cc:201 apt-inst/deb/dpkgdb.cc:355
 #: apt-inst/deb/dpkgdb.cc:448
 msgid "Internal error getting a package name"
 msgstr "꾸러미 이름을 가져오는 데 내부 오류"
 
-#: apt-inst/deb/dpkgdb.cc:205
-#: apt-inst/deb/dpkgdb.cc:386
+#: apt-inst/deb/dpkgdb.cc:205 apt-inst/deb/dpkgdb.cc:386
 msgid "Reading file listing"
 msgstr "파일 목록을 읽는 중입니다"
 
 #: apt-inst/deb/dpkgdb.cc:216
 #, c-format
-msgid "Failed to open the list file '%sinfo/%s'. If you cannot restore this file then make it empty and immediately re-install the same version of the package!"
-msgstr "목록 파일 '%sinfo/%s' 파일을 여는 데 실패했습니다. 이 파일을 복구할 수 없다면 비워 놓고 같은 버전의 꾸러미를 다시 설치하십시오!"
+msgid ""
+"Failed to open the list file '%sinfo/%s'. If you cannot restore this file "
+"then make it empty and immediately re-install the same version of the "
+"package!"
+msgstr ""
+"목록 파일 '%sinfo/%s' 파일을 여는 데 실패했습니다. 이 파일을 복구할 수 없다"
+"면 비워 놓고 같은 버전의 꾸러미를 다시 설치하십시오!"
 
-#: apt-inst/deb/dpkgdb.cc:229
-#: apt-inst/deb/dpkgdb.cc:242
+#: apt-inst/deb/dpkgdb.cc:229 apt-inst/deb/dpkgdb.cc:242
 #, c-format
 msgid "Failed reading the list file %sinfo/%s"
 msgstr "목록 파일 %sinfo/%s 파일을 읽는 데 실패했습니다"
@@ -1612,8 +1578,7 @@ msgstr "전환 파일 %sdiversions를 여는 데 실패했습니다"
 msgid "The diversion file is corrupted"
 msgstr "전환 파일이 손상되었습니다"
 
-#: apt-inst/deb/dpkgdb.cc:331
-#: apt-inst/deb/dpkgdb.cc:336
+#: apt-inst/deb/dpkgdb.cc:331 apt-inst/deb/dpkgdb.cc:336
 #: apt-inst/deb/dpkgdb.cc:341
 #, c-format
 msgid "Invalid line in the diversion file: %s"
@@ -1642,8 +1607,7 @@ msgstr "status 파일에서 ConfFile 섹션이 잘못되었습니다. 오프셋
 msgid "Error parsing MD5. Offset %lu"
 msgstr "MD5 분석에 오류가 있습니다. 오프셋 %lu"
 
-#: apt-inst/deb/debfile.cc:42
-#: apt-inst/deb/debfile.cc:47
+#: apt-inst/deb/debfile.cc:42 apt-inst/deb/debfile.cc:47
 #, c-format
 msgid "This is not a valid DEB archive, missing '%s' member"
 msgstr "올바른 DEB 아카이브가 아닙니다. '%s' 멤버가 없습니다"
@@ -1676,8 +1640,12 @@ msgid "Unable to read the cdrom database %s"
 msgstr "CD-ROM 데이터베이스 %s을(를) 읽을 수 없습니다"
 
 #: methods/cdrom.cc:123
-msgid "Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs"
-msgstr "이 CD를 APT에서 인식하려면 apt-cdrom을 사용하십시오.  apt-get update로는 새 CD를 추가할 수 없습니다."
+msgid ""
+"Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update "
+"cannot be used to add new CD-ROMs"
+msgstr ""
+"이 CD를 APT에서 인식하려면 apt-cdrom을 사용하십시오.  apt-get update로는 새 "
+"CD를 추가할 수 없습니다."
 
 #: methods/cdrom.cc:131
 msgid "Wrong CD-ROM"
@@ -1692,22 +1660,16 @@ msgstr "%s 안의 CD-ROM을 마운트 해제할 수 없습니다. 사용 중일
 msgid "Disk not found."
 msgstr "디스크가 없습니다"
 
-#: methods/cdrom.cc:177
-#: methods/file.cc:79
-#: methods/rsh.cc:264
+#: methods/cdrom.cc:177 methods/file.cc:79 methods/rsh.cc:264
 msgid "File not found"
 msgstr "파일이 없습니다"
 
-#: methods/copy.cc:42
-#: methods/gpgv.cc:275
-#: methods/gzip.cc:133
+#: methods/copy.cc:42 methods/gpgv.cc:275 methods/gzip.cc:133
 #: methods/gzip.cc:142
 msgid "Failed to stat"
 msgstr "파일 정보를 읽는 데 실패했습니다"
 
-#: methods/copy.cc:79
-#: methods/gpgv.cc:272
-#: methods/gzip.cc:139
+#: methods/copy.cc:79 methods/gpgv.cc:272 methods/gzip.cc:139
 msgid "Failed to set modification time"
 msgstr "파일 변경 시각을 설정하는 데 실패했습니다"
 
@@ -1728,8 +1690,7 @@ msgstr "상대방의 이름을 알 수 없습니다"
 msgid "Unable to determine the local name"
 msgstr "로컬 이름을 알 수 없습니다"
 
-#: methods/ftp.cc:204
-#: methods/ftp.cc:232
+#: methods/ftp.cc:204 methods/ftp.cc:232
 #, c-format
 msgid "The server refused the connection and said: %s"
 msgstr "서버에서 다음과 같이 연결을 거부했습니다: %s"
@@ -1745,8 +1706,12 @@ msgid "PASS failed, server said: %s"
 msgstr "PASS 실패, 서버에서는: %s"
 
 #: methods/ftp.cc:237
-msgid "A proxy server was specified but no login script, Acquire::ftp::ProxyLogin is empty."
-msgstr "프록시 서버를 지정했지만 로그인 스크립트가 없습니다. Acquire::ftp::ProxyLogin 값이 비어 있습니다."
+msgid ""
+"A proxy server was specified but no login script, Acquire::ftp::ProxyLogin "
+"is empty."
+msgstr ""
+"프록시 서버를 지정했지만 로그인 스크립트가 없습니다. Acquire::ftp::"
+"ProxyLogin 값이 비어 있습니다."
 
 #: methods/ftp.cc:265
 #, c-format
@@ -1758,10 +1723,7 @@ msgstr "로그인 스크립트 명령 '%s' 실패, 서버에서는: %s"
 msgid "TYPE failed, server said: %s"
 msgstr "TYPE 실패, 서버에서는: %s"
 
-#: methods/ftp.cc:329
-#: methods/ftp.cc:440
-#: methods/rsh.cc:183
-#: methods/rsh.cc:226
+#: methods/ftp.cc:329 methods/ftp.cc:440 methods/rsh.cc:183 methods/rsh.cc:226
 msgid "Connection timeout"
 msgstr "연결 시간 초과"
 
@@ -1769,31 +1731,23 @@ msgstr "연결 시간 초과"
 msgid "Server closed the connection"
 msgstr "서버에서 연결을 닫았습니다"
 
-#: methods/ftp.cc:338
-#: apt-pkg/contrib/fileutl.cc:471
-#: methods/rsh.cc:190
+#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:471 methods/rsh.cc:190
 msgid "Read error"
 msgstr "읽기 오류"
 
-#: methods/ftp.cc:345
-#: methods/rsh.cc:197
+#: methods/ftp.cc:345 methods/rsh.cc:197
 msgid "A response overflowed the buffer."
 msgstr "응답이 버퍼 크기를 넘어갔습니다."
 
-#: methods/ftp.cc:362
-#: methods/ftp.cc:374
+#: methods/ftp.cc:362 methods/ftp.cc:374
 msgid "Protocol corruption"
 msgstr "프로토콜이 틀렸습니다"
 
-#: methods/ftp.cc:446
-#: apt-pkg/contrib/fileutl.cc:510
-#: methods/rsh.cc:232
+#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:510 methods/rsh.cc:232
 msgid "Write error"
 msgstr "쓰기 오류"
 
-#: methods/ftp.cc:687
-#: methods/ftp.cc:693
-#: methods/ftp.cc:729
+#: methods/ftp.cc:687 methods/ftp.cc:693 methods/ftp.cc:729
 msgid "Could not create a socket"
 msgstr "소켓을 만들 수 없습니다"
 
@@ -1843,9 +1797,7 @@ msgstr "데이터 소켓 연결 시간 초과"
 msgid "Unable to accept connection"
 msgstr "연결을 받을 수 없습니다"
 
-#: methods/ftp.cc:864
-#: methods/http.cc:958
-#: methods/rsh.cc:303
+#: methods/ftp.cc:864 methods/http.cc:958 methods/rsh.cc:303
 msgid "Problem hashing file"
 msgstr "파일 해싱에 문제가 있습니다"
 
@@ -1854,8 +1806,7 @@ msgstr "파일 해싱에 문제가 있습니다"
 msgid "Unable to fetch file, server said '%s'"
 msgstr "파일을 가져올 수 없습니다. 서버 왈, '%s'"
 
-#: methods/ftp.cc:892
-#: methods/rsh.cc:322
+#: methods/ftp.cc:892 methods/rsh.cc:322
 msgid "Data socket timed out"
 msgstr "데이터 소켓에 제한 시간이 초과했습니다"
 
@@ -1905,8 +1856,7 @@ msgstr "%s:%s에 연결할 수 없습니다 (%s)."
 
 #. We say this mainly because the pause here is for the
 #. ssh connection that is still going
-#: methods/connect.cc:136
-#: methods/rsh.cc:425
+#: methods/connect.cc:136 methods/rsh.cc:425
 #, c-format
 msgid "Connecting to %s"
 msgstr "%s에 연결하는 중입니다"
@@ -1941,7 +1891,8 @@ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgstr "E: Acquire::gpgv::Options의 인자 목록이 너무 깁니다. 종료하는 중."
 
 #: methods/gpgv.cc:198
-msgid "Internal error: Good signature, but could not determine key fingerprint?!"
+msgid ""
+"Internal error: Good signature, but could not determine key fingerprint?!"
 msgstr "내부 오류: 서명은 올바르지만 키 지문을 확인할 수 없습니다!"
 
 #: methods/gpgv.cc:203
@@ -1962,7 +1913,9 @@ msgid "The following signatures were invalid:\n"
 msgstr "다음 서명이 올바르지 않습니다:\n"
 
 #: methods/gpgv.cc:250
-msgid "The following signatures couldn't be verified because the public key is not available:\n"
+msgid ""
+"The following signatures couldn't be verified because the public key is not "
+"available:\n"
 msgstr "다음 서명들은 공개키가 없기 때문에 인증할 수 없습니다:\n"
 
 #: methods/gzip.cc:57
@@ -1988,8 +1941,7 @@ msgstr "헤더 한 줄에 %u개가 넘는 문자가 들어 있습니다"
 msgid "Bad header line"
 msgstr "헤더 줄이 잘못되었습니다"
 
-#: methods/http.cc:549
-#: methods/http.cc:556
+#: methods/http.cc:549 methods/http.cc:556
 msgid "The HTTP server sent an invalid reply header"
 msgstr "HTTP 서버에서 잘못된 응답 헤더를 보냈습니다"
 
@@ -2103,8 +2055,7 @@ msgstr "문법 오류 %s:%u: 지시어는 맨 위 단계에서만 쓸 수 있습
 msgid "Syntax error %s:%u: Too many nested includes"
 msgstr "문법 오류 %s:%u: include가 너무 많이 겹쳐 있습니다"
 
-#: apt-pkg/contrib/configuration.cc:695
-#: apt-pkg/contrib/configuration.cc:700
+#: apt-pkg/contrib/configuration.cc:695 apt-pkg/contrib/configuration.cc:700
 #, c-format
 msgid "Syntax error %s:%u: Included from here"
 msgstr "문법 오류 %s:%u: 여기서 include됩니다"
@@ -2134,8 +2085,7 @@ msgstr "%c%s... 완료"
 msgid "Command line option '%c' [from %s] is not known."
 msgstr "명령행 옵션 '%c' 옵션을 [%s에서] 알 수 없습니다."
 
-#: apt-pkg/contrib/cmndline.cc:106
-#: apt-pkg/contrib/cmndline.cc:114
+#: apt-pkg/contrib/cmndline.cc:106 apt-pkg/contrib/cmndline.cc:114
 #: apt-pkg/contrib/cmndline.cc:122
 #, c-format
 msgid "Command line option %s is not understood"
@@ -2146,14 +2096,12 @@ msgstr "명령행 옵션 '%s' 옵션을 알 수 없습니다"
 msgid "Command line option %s is not boolean"
 msgstr "명령행 옵션 '%s' 옵션은 불리언이 아닙니다"
 
-#: apt-pkg/contrib/cmndline.cc:166
-#: apt-pkg/contrib/cmndline.cc:187
+#: apt-pkg/contrib/cmndline.cc:166 apt-pkg/contrib/cmndline.cc:187
 #, c-format
 msgid "Option %s requires an argument."
 msgstr "%s 옵션에는 인수가 필요합니다."
 
-#: apt-pkg/contrib/cmndline.cc:201
-#: apt-pkg/contrib/cmndline.cc:207
+#: apt-pkg/contrib/cmndline.cc:201 apt-pkg/contrib/cmndline.cc:207
 #, c-format
 msgid "Option %s: Configuration item specification must have an =<val>."
 msgstr "%s 옵션: 설정 항목 지정은 =<값> 형태여야 합니다."
@@ -2183,9 +2131,7 @@ msgstr "잘못된 작업 %s"
 msgid "Unable to stat the mount point %s"
 msgstr "마운트 위치 %s의 정보를 읽을 수 없습니다"
 
-#: apt-pkg/contrib/cdromutl.cc:149
-#: apt-pkg/acquire.cc:427
-#: apt-pkg/clean.cc:44
+#: apt-pkg/contrib/cdromutl.cc:149 apt-pkg/acquire.cc:427 apt-pkg/clean.cc:44
 #, c-format
 msgid "Unable to change to %s"
 msgstr "%s 디렉토리로 이동할 수 없습니다"
@@ -2330,8 +2276,7 @@ msgstr "옵션"
 msgid "extra"
 msgstr "별도"
 
-#: apt-pkg/depcache.cc:61
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "의존성 트리를 만드는 중입니다"
 
@@ -2383,8 +2328,7 @@ msgstr "소스 리스트 %2$s의 %1$lu번 줄이 잘못되었습니다 (dist 파
 msgid "Opening %s"
 msgstr "%s 파일을 여는 중입니다"
 
-#: apt-pkg/sourcelist.cc:220
-#: apt-pkg/cdrom.cc:426
+#: apt-pkg/sourcelist.cc:220 apt-pkg/cdrom.cc:426
 #, c-format
 msgid "Line %u too long in source list %s."
 msgstr "소스 리스트 %2$s의 %1$u번 줄이 너무 깁니다."
@@ -2399,16 +2343,21 @@ 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/sourcelist.cc:252
-#: apt-pkg/sourcelist.cc:255
+#: apt-pkg/sourcelist.cc:252 apt-pkg/sourcelist.cc:255
 #, c-format
 msgid "Malformed line %u in source list %s (vendor id)"
 msgstr "소스 리스트 %2$s의 %1$u번 줄이 잘못되었습니다 (벤더 ID)"
 
 #: apt-pkg/packagemanager.cc:402
 #, c-format
-msgid "This installation run will require temporarily removing the essential package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if you really want to do it, activate the APT::Force-LoopBreak option."
-msgstr "이번에 설치할 때 충돌/선의존성이 루프가 걸렸기 때문에 꼭 필요한 %s 꾸러미를 잠깐 지워야 합니다. 이 꾸러미를 지우는 건 좋지 않지만, 정말 지우려면 APT::Force-LoopBreak 옵션을 켜십시오."
+msgid ""
+"This installation run will require temporarily removing the essential "
+"package %s due to a Conflicts/Pre-Depends loop. This is often bad, but if "
+"you really want to do it, activate the APT::Force-LoopBreak option."
+msgstr ""
+"이번에 설치할 때 충돌/선의존성이 루프가 걸렸기 때문에 꼭 필요한 %s 꾸러미를 "
+"잠깐 지워야 합니다. 이 꾸러미를 지우는 건 좋지 않지만, 정말 지우려면 APT::"
+"Force-LoopBreak 옵션을 켜십시오."
 
 #: apt-pkg/pkgrecords.cc:37
 #, c-format
@@ -2417,12 +2366,18 @@ msgstr "인덱스 파일 타입 '%s' 타입은 지원하지 않습니다"
 
 #: apt-pkg/algorithms.cc:241
 #, c-format
-msgid "The package %s needs to be reinstalled, but I can't find an archive for it."
-msgstr "%s 꾸러미를 다시 설치해야 하지만, 이 꾸러미의 아카이브를 찾을 수 없습니다."
+msgid ""
+"The package %s needs to be reinstalled, but I can't find an archive for it."
+msgstr ""
+"%s 꾸러미를 다시 설치해야 하지만, 이 꾸러미의 아카이브를 찾을 수 없습니다."
 
 #: apt-pkg/algorithms.cc:1059
-msgid "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages."
-msgstr "오류, pkgProblemResolver::Resolve가 망가졌습니다, 고정 꾸러미때문에 발생할 수도 있습니다."
+msgid ""
+"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
+"held packages."
+msgstr ""
+"오류, pkgProblemResolver::Resolve가 망가졌습니다, 고정 꾸러미때문에 발생할 수"
+"도 있습니다."
 
 #: apt-pkg/algorithms.cc:1061
 msgid "Unable to correct problems, you have held broken packages."
@@ -2463,7 +2418,8 @@ msgstr "설치 방법 %s이(가) 올바르게 시작하지 않았습니다"
 #: apt-pkg/acquire-worker.cc:377
 #, c-format
 msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
-msgstr "'%2$s' 드라이브에 '%1$s'로 표기된 디스크를 삽입하고 엔터를 눌러주십시오."
+msgstr ""
+"'%2$s' 드라이브에 '%1$s'로 표기된 디스크를 삽입하고 엔터를 눌러주십시오."
 
 #: apt-pkg/init.cc:120
 #, c-format
@@ -2579,8 +2535,7 @@ msgstr "소스 꾸러미 목록 %s의 정보를 읽을 수 없습니다"
 msgid "Collecting File Provides"
 msgstr "파일에서 제공하는 것을 모으는 중입니다"
 
-#: apt-pkg/pkgcachegen.cc:785
-#: apt-pkg/pkgcachegen.cc:792
+#: apt-pkg/pkgcachegen.cc:785 apt-pkg/pkgcachegen.cc:792
 msgid "IO Error saving source cache"
 msgstr "소스 캐시를 저장하는 데 입출력 오류가 발생했습니다"
 
@@ -2589,8 +2544,7 @@ msgstr "소스 캐시를 저장하는 데 입출력 오류가 발생했습니다
 msgid "rename failed, %s (%s -> %s)."
 msgstr "이름 바꾸기가 실패했습니다. %s (%s -> %s)."
 
-#: apt-pkg/acquire-item.cc:236
-#: apt-pkg/acquire-item.cc:945
+#: apt-pkg/acquire-item.cc:236 apt-pkg/acquire-item.cc:945
 msgid "MD5Sum mismatch"
 msgstr "MD5Sum이 맞지 않습니다"
 
@@ -2600,18 +2554,28 @@ msgstr "다음 키 ID의 공개키가 없습니다:\n"
 
 #: apt-pkg/acquire-item.cc:753
 #, 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 꾸러미의 파일을 찾을 수 없습니다. 수동으로 이 꾸러미를 고쳐야 할 수도 있습니다. (아키텍쳐가 빠졌기 때문입니다)"
+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 꾸러미의 파일을 찾을 수 없습니다. 수동으로 이 꾸러미를 고쳐야 할 수도 있습"
+"니다. (아키텍쳐가 빠졌기 때문입니다)"
 
 #: apt-pkg/acquire-item.cc:812
 #, c-format
-msgid "I wasn't able to locate file for the %s package. This might mean you need to manually fix this package."
-msgstr "%s 꾸러미의 파일을 찾을 수 없습니다. 수동으로 이 꾸러미를 고쳐야 할 수도 있습니다."
+msgid ""
+"I wasn't able to locate file for the %s package. This might mean you need to "
+"manually fix this package."
+msgstr ""
+"%s 꾸러미의 파일을 찾을 수 없습니다. 수동으로 이 꾸러미를 고쳐야 할 수도 있습"
+"니다."
 
 #: apt-pkg/acquire-item.cc:848
 #, c-format
-msgid "The package index files are corrupted. No Filename: field for package %s."
-msgstr "꾸러미 인덱스 파일이 손상되었습니다. %s 꾸러미에 Filename: 필드가 없습니다."
+msgid ""
+"The package index files are corrupted. No Filename: field for package %s."
+msgstr ""
+"꾸러미 인덱스 파일이 손상되었습니다. %s 꾸러미에 Filename: 필드가 없습니다."
 
 #: apt-pkg/acquire-item.cc:935
 msgid "Size mismatch"
@@ -2631,8 +2595,7 @@ msgstr ""
 "CD-ROM 마운트 위치로 %s 사용\n"
 "CD-ROM을 마운트하는 중입니다\n"
 
-#: apt-pkg/cdrom.cc:516
-#: apt-pkg/cdrom.cc:598
+#: apt-pkg/cdrom.cc:516 apt-pkg/cdrom.cc:598
 msgid "Identifying.. "
 msgstr "알아보는 중입니다.. "
 
@@ -2777,4 +2740,3 @@ msgstr "연결이 너무 빨리 끊어졌습니다"
 #, fuzzy
 #~ msgid "Could not execute "
 #~ msgstr "%s 잠금 파일을 얻을 수 없습니다"
-
index 01c09f9cf68bed33cf5c9f378088175c89c387d7..58b3c024cfa2ff55807835cb28a6fff1f5dd1416 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -19,7 +19,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2005-02-09 10:45+0100\n"
 "Last-Translator: Hans Fredrik Nordhaug <hans@nordhaug.priv.no>\n"
 "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.ui.no>\n"
@@ -2304,15 +2304,15 @@ msgstr "valgfri"
 msgid "extra"
 msgstr "tillegg"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Skaper oversikt over avhengighetsforhold"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Versjons-kandidater"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Oppretter avhengighetsforhold"
 
index ef3c6acbfc168e50bcfb8185ca3a3d3013508466..5d2632efa214c9652af201df8b068f1b18e60ada 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2005-02-10 17:35+0100\n"
 "Last-Translator: Bart Cornelis <cobaco@linux.be>\n"
 "Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
@@ -2322,15 +2322,15 @@ msgstr "optioneel"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Boom van vereisten wordt opgebouwd"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Kandidaat-versies"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Generatie vereisten"
 
index 372f6be39d01e555100f0e3ad109cd574c6e8279..56aa980ee33110f757497e6120295b7cab7b394a 100644 (file)
--- 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: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2005-02-14 23:30+0100\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Language-Team: Norwegian nynorsk <i18n-nn@lister.ping.uio.no>\n"
@@ -2287,15 +2287,15 @@ msgstr "valfri"
 msgid "extra"
 msgstr "tillegg"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Byggjer kravtre"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Kandidatversjonar"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Genererer kravforhold"
 
index 5fa6838f5a0ee4835a33bbad1257fae8645608f9..8be562ac621adbe8f74a7e0d80bb87f5e4b97cce 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.5.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-01-23 15:32+0100\n"
 "Last-Translator: Bartosz Fenski <fenio@debian.org>\n"
 "Language-Team: Polish <pddp@debian.linux.org.pl>\n"
@@ -2292,15 +2292,15 @@ msgstr "opcjonalny"
 msgid "extra"
 msgstr "dodatkowy"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Budowanie drzewa zale¿no¶ci"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Kandyduj±ce wersje"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Generowanie zale¿no¶ci"
 
index d638e9b013eabd691cd923c6956d72a5162b5a46..f7b1cb80686d927c0679765dc70a9d4b7ba98575 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2005-03-07 22:20+0000\n"
 "Last-Translator: Rui Az. <astronomy@mail.pt>\n"
 "Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -2293,15 +2293,15 @@ msgstr "opcional"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Construindo Árvore de Dependências"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Versões Candidatas"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Geração de Dependência"
 
index 3a51c828b9530003fae792653a186e5a792f0d2d..6a53d25e27f948a48476bdde72db90d8b8d7da95 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-02-11 17:57-0200\n"
 "Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
 "Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
@@ -2294,15 +2294,15 @@ msgstr "opcional"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Construindo Árvore de Dependências"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Versões Candidatas"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Geração de Dependência"
 
index 400df82e520d98a10de845084db0c2a425a7a902..0222214aec62e9d52c83c6096977b4805c65b331 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -230,7 +230,8 @@ msgstr ""
 
 #: cmdline/apt-cdrom.cc:78
 msgid "Please provide a name for this Disc, such as 'Debian 2.1r1 Disk 1'"
-msgstr "Vă rog furnizaţi un nume pentru acest disc, cum ar fi 'Debian 2.1r1 Disk 1'"
+msgstr ""
+"Vă rog furnizaţi un nume pentru acest disc, cum ar fi 'Debian 2.1r1 Disk 1'"
 
 #: cmdline/apt-cdrom.cc:93
 msgid "Please insert a Disc in the drive and press enter"
@@ -812,7 +813,8 @@ msgstr "Lista surselor nu poate fi citită."
 
 #: cmdline/apt-get.cc:816
 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
-msgstr "Ce ciudat.. Dimensiunile nu se potrivesc, scrieţi la apt@packages.debian.org"
+msgstr ""
+"Ce ciudat.. Dimensiunile nu se potrivesc, scrieţi la apt@packages.debian.org"
 
 #: cmdline/apt-get.cc:821
 #, c-format
@@ -846,7 +848,8 @@ msgstr "Nu aveţi suficient spaţiu în %s."
 
 #: cmdline/apt-get.cc:864 cmdline/apt-get.cc:884
 msgid "Trivial Only specified but this is not a trivial operation."
-msgstr "A fost specificat 'doar neimportant' dar nu este o operaţiune neimportantă."
+msgstr ""
+"A fost specificat 'doar neimportant' dar nu este o operaţiune neimportantă."
 
 #: cmdline/apt-get.cc:866
 msgid "Yes, do as I say!"
@@ -1076,7 +1079,8 @@ msgstr "Terminat"
 
 #: cmdline/apt-get.cc:1768 cmdline/apt-get.cc:1776
 msgid "Internal error, problem resolver broke stuff"
-msgstr "Eroare internă, rezolvatorul de probleme a deteriorat diverse chestiuni"
+msgstr ""
+"Eroare internă, rezolvatorul de probleme a deteriorat diverse chestiuni"
 
 #: cmdline/apt-get.cc:1876
 msgid "Must specify at least one package to fetch source for"
@@ -1362,14 +1366,17 @@ msgstr "S-au produs unele erori în timpul despachetării. Voi configura"
 
 #: dselect/install:101
 msgid "packages that were installed. This may result in duplicate errors"
-msgstr "pachetele care au fost instalate. Aceasta ar putea rezulta erori dublate"
+msgstr ""
+"pachetele care au fost instalate. Aceasta ar putea rezulta erori dublate"
 
 #: dselect/install:102
 msgid "or errors caused by missing dependencies. This is OK, only the errors"
-msgstr "sau erori cauzate de dependenţe lipsă. Aceasta este normal, doar erorile"
+msgstr ""
+"sau erori cauzate de dependenţe lipsă. Aceasta este normal, doar erorile"
 
 #: dselect/install:103
-msgid "above this message are important. Please fix them and run [I]nstall again"
+msgid ""
+"above this message are important. Please fix them and run [I]nstall again"
 msgstr ""
 "de deasupra acestui mesaj sunt importante. Vă rog corectaţi-le şi porniţi "
 "din nou [I]nstalarea"
@@ -1903,7 +1910,8 @@ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgstr "E: Listă de argumente din Acquire::gpgv::Options prea lungă. Ies."
 
 #: methods/gpgv.cc:198
-msgid "Internal error: Good signature, but could not determine key fingerprint?!"
+msgid ""
+"Internal error: Good signature, but could not determine key fingerprint?!"
 msgstr ""
 "Eroare internă: Semnătură corespunzătoare, dar n-am putut determina cheia "
 "amprentei digitale?!"
@@ -1915,7 +1923,8 @@ msgstr "Cel puţin o semnătură invalidă a fost întâlnită."
 #: methods/gpgv.cc:207
 #, c-format
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
-msgstr "Nu pot executa '%s' pentru verificarea semnăturii (este instalat gnupg?)"
+msgstr ""
+"Nu pot executa '%s' pentru verificarea semnăturii (este instalat gnupg?)"
 
 #: methods/gpgv.cc:212
 msgid "Unknown error executing gpgv"
@@ -1998,7 +2007,8 @@ msgstr "Eroare la scrierea în fişierul"
 
 #: methods/http.cc:874
 msgid "Error reading from server. Remote end closed connection"
-msgstr "Eroare la citirea de pe server, conexiunea a fost închisă de la distanţă"
+msgstr ""
+"Eroare la citirea de pe server, conexiunea a fost închisă de la distanţă"
 
 #: methods/http.cc:876
 msgid "Error reading from server"
@@ -2063,7 +2073,8 @@ msgstr "Eroare de sintaxă %s:%u: mizerii suplimentare după valoare"
 #: apt-pkg/contrib/configuration.cc:684
 #, 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"
+msgstr ""
+"Eroare de sintaxă %s:%u: directivele pot fi date doar la nivelul superior"
 
 #: apt-pkg/contrib/configuration.cc:691
 #, c-format
@@ -2119,7 +2130,8 @@ msgstr "Opţiunea %s necesită un argument"
 #: apt-pkg/contrib/cmndline.cc:201 apt-pkg/contrib/cmndline.cc:207
 #, c-format
 msgid "Option %s: Configuration item specification must have an =<val>."
-msgstr "Opţiunea %s: Specificaţia configurării articolului trebuie să aibă o =<val>."
+msgstr ""
+"Opţiunea %s: Specificaţia configurării articolului trebuie să aibă o =<val>."
 
 #: apt-pkg/contrib/cmndline.cc:237
 #, c-format
@@ -2382,8 +2394,10 @@ msgstr "Tipul de fişier index '%s' nu este suportat"
 
 #: apt-pkg/algorithms.cc:241
 #, c-format
-msgid "The package %s needs to be reinstalled, but I can't find an archive for it."
-msgstr "Pachetul %s are nevoie să fie reinstalat, dar nu pot găsi o arhivă pentru el."
+msgid ""
+"The package %s needs to be reinstalled, but I can't find an archive for it."
+msgstr ""
+"Pachetul %s are nevoie să fie reinstalat, dar nu pot găsi o arhivă pentru el."
 
 #: apt-pkg/algorithms.cc:1059
 msgid ""
@@ -2432,7 +2446,8 @@ msgstr "Metoda %s nu s-a lansat corect"
 #: apt-pkg/acquire-worker.cc:377
 #, c-format
 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."
+msgstr ""
+"Vă rog introduceţi discul numit: '%s' în unitatea '%s' şi apăsaţi Enter."
 
 #: apt-pkg/init.cc:120
 #, c-format
@@ -2460,7 +2475,8 @@ msgstr ""
 
 #: apt-pkg/cachefile.cc:77
 msgid "You may want to run apt-get update to correct these problems"
-msgstr "Aţi putea vrea să porniţi 'apt-get update' pentru a corecta aceste probleme."
+msgstr ""
+"Aţi putea vrea să porniţi 'apt-get update' pentru a corecta aceste probleme."
 
 #: apt-pkg/policy.cc:269
 msgid "Invalid record in the preferences file, no Package header"
@@ -2522,11 +2538,13 @@ msgstr ""
 
 #: apt-pkg/pkgcachegen.cc:210
 msgid "Wow, you exceeded the number of versions this APT is capable of."
-msgstr "Mamăăă, aţi depăşit numărul de versiuni de care este capabil acest APT."
+msgstr ""
+"Mamăăă, aţi depăşit numărul de versiuni de care este capabil acest APT."
 
 #: apt-pkg/pkgcachegen.cc:213
 msgid "Wow, you exceeded the number of dependencies this APT is capable of."
-msgstr "Mamăăă, aţi depăşit numărul de dependenţe de care este capabil acest APT."
+msgstr ""
+"Mamăăă, aţi depăşit numărul de dependenţe de care este capabil acest APT."
 
 #: apt-pkg/pkgcachegen.cc:241
 #, c-format
@@ -2541,7 +2559,8 @@ msgstr "Eroare apărută în timpul procesării %s (CollectFileProvides)"
 #: apt-pkg/pkgcachegen.cc:260
 #, c-format
 msgid "Package %s %s was not found while processing file dependencies"
-msgstr "Nu s-a găsit pachetul %s %s în timpul procesării dependenţelor de fişiere"
+msgstr ""
+"Nu s-a găsit pachetul %s %s în timpul procesării dependenţelor de fişiere"
 
 #: apt-pkg/pkgcachegen.cc:574
 #, c-format
@@ -2591,7 +2610,8 @@ msgstr ""
 
 #: apt-pkg/acquire-item.cc:848
 #, c-format
-msgid "The package index files are corrupted. No Filename: field for package %s."
+msgid ""
+"The package index files are corrupted. No Filename: field for package %s."
 msgstr ""
 "Fişierele index de pachete sunt deteriorate. Fără câmpul 'nume fişier:' la "
 "pachetul %s."
@@ -2697,7 +2717,8 @@ msgstr "S-au scris %i înregistrări cu %i fişiere nepotrivite\n"
 #: apt-pkg/indexcopy.cc:269
 #, c-format
 msgid "Wrote %i records with %i missing files and %i mismatched files\n"
-msgstr "S-au scris %i înregistrări cu %i fişiere lipsă şi %i fişiere nepotrivite\n"
+msgstr ""
+"S-au scris %i înregistrări cu %i fişiere lipsă şi %i fişiere nepotrivite\n"
 
 #: apt-pkg/deb/dpkgpm.cc:358
 #, c-format
@@ -2752,4 +2773,3 @@ msgstr "Şters complet %s"
 #: methods/rsh.cc:330
 msgid "Connection closed prematurely"
 msgstr "Conexiune închisă prematur"
-
index 3883ce239b716e2713468af011b2db7e4e1763d5..727b7f79a04cb74fab02ffe138aabc896a462e35 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt_po_ru\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-01-21 14:55+0300\n"
 "Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
 "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
@@ -2326,15 +2326,15 @@ msgstr "необязательный"
 msgid "extra"
 msgstr "дополнительный"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Построение дерева зависимостей"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Версии-кандидаты"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Генерирование зависимостей"
 
index e1286b4e5c216ada1700bb816ff99300ea599691..d4fe815dadb35ef02c126f598504cd0b99d2df1e 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-05-29 15:33+0200\n"
 "Last-Translator: Peter Mann <Peter.Mann@tuke.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -2275,15 +2275,15 @@ msgstr "voliteľný"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Vytvára sa strom závislostí"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Kandidátske verzie"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Generovanie závislostí"
 
@@ -2732,4 +2732,3 @@ msgstr "Balík '%s' je úplne odstránený"
 #: methods/rsh.cc:330
 msgid "Connection closed prematurely"
 msgstr "Spojenie bolo predčasne ukončené"
-
index a8a458aff2323cb398d5bad9cd2efc0e9a440ee9..06ac46e05fb95434a98dd53a4b2afbae2cf1fbfd 100644 (file)
--- 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: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2005-02-16 22:18+0100\n"
 "Last-Translator: Jure Èuhalev <gandalf@owca.info>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
@@ -2278,15 +2278,15 @@ msgstr "izbirno"
 msgid "extra"
 msgstr "dodatno"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Gradnja drevesa odvisnosti"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Razlièice kandidatov"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Ustvarjanje odvisnosti"
 
index d48db8bc5c1f320d2a15e4725febe87a94d6901c..669177a903326877c922c870363479052ded99a2 100644 (file)
--- 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: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-03-16 15:53+0800\n"
 "Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
 "Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
@@ -2307,15 +2307,15 @@ msgstr "optional"
 msgid "extra"
 msgstr "extra"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "Ginagawa ang puno ng mga dependensiya"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "Bersyong Kandidato"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "Pagbuo ng Dependensiya"
 
index f887f33288be618629ce5bfd10012c92ea5e7016..789101a74ca27e13b1abaec46664455fe8fe0fca 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.5.23\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2006-02-22 14:20+1300\n"
 "Last-Translator: Carlos Z.F. Liu <carlosliu@users.sourceforge.net>\n"
 "Language-Team: Debian Chinese [GB] <debian-chinese-gb@lists.debian.org>\n"
@@ -2258,15 +2258,15 @@ msgstr "可选"
 msgid "extra"
 msgstr "额外"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "正在分析软件包的依赖关系树"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "候选版本"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "生成依赖关系"
 
index 062ce56563a9011d823a107587404f98ed661139..15d5f3cddf347290904fe7812203d5d6a7c780ad 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
 "PO-Revision-Date: 2005-02-19 22:24+0800\n"
 "Last-Translator: Asho Yeh <asho@debian.org.tw>\n"
 "Language-Team: Chinese/Traditional <zh-l10n@linux.org.tw>\n"
@@ -2270,15 +2270,15 @@ msgstr "次要"
 msgid "extra"
 msgstr "添加"
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgstr "了解套件依存關係中"
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgstr "候選版本"
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgstr "產生套件依存關係"
 
index 5334c03310ea7a943e62a225bd8ed28d36337a88..cfdb4ea9d430c46c7357854193101139181e1aff 100644 (file)
@@ -1,5 +1,6 @@
 #include <apt-pkg/md5.h>
 #include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
 #include <apt-pkg/strutl.h>
 #include <iostream>
 
@@ -57,6 +58,12 @@ int main()
                      "d174ab98d277d9f5a5611c2c9f419d9f");
    Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890",
                      "57edf4a22be3c955ac49da2e2107b67a");
+
+   // SHA-256, From FIPS 180-2
+   Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", 
+                        "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1");
+   
+
    return 0; 
 }