Prechádzať zdrojové kódy

* merged with the apt--mvo branch

Michael Vogt 20 rokov pred
rodič
commit
9a4dfc82c5
64 zmenil súbory, kde vykonal 10152 pridanie a 1014 odobranie
  1. 2 1
      apt-inst/contrib/extracttar.cc
  2. 1 1
      apt-pkg/acquire-item.cc
  3. 1 0
      apt-pkg/contrib/hashes.cc
  4. 3 1
      apt-pkg/contrib/hashes.h
  5. 424 0
      apt-pkg/contrib/sha256.cc
  6. 75 0
      apt-pkg/contrib/sha256.h
  7. 7 1
      apt-pkg/deb/dpkgpm.cc
  8. 2 2
      apt-pkg/makefile
  9. 101 17
      apt-pkg/tagfile.cc
  10. 4 1
      apt-pkg/tagfile.h
  11. 75 57
      cmdline/apt-get.cc
  12. 2 2
      configure.in
  13. 67 11
      debian/changelog
  14. 1 1
      debian/control
  15. 1 1
      doc/apt-cache.8.xml
  16. 1 1
      doc/apt-get.8.xml
  17. 1 0
      doc/apt.ent
  18. 1 0
      doc/examples/configure-index
  19. 224 45
      ftparchive/cachedb.cc
  20. 30 10
      ftparchive/cachedb.h
  21. 60 44
      ftparchive/writer.cc
  22. 6 2
      ftparchive/writer.h
  23. 7 1
      methods/gpgv.cc
  24. 1 1
      methods/http.cc
  25. 40 0
      po/ChangeLog
  26. 103 92
      po/apt-all.pot
  27. 4 4
      po/bg.po
  28. 4 4
      po/bs.po
  29. 4 4
      po/ca.po
  30. 4 4
      po/cs.po
  31. 4 4
      po/cy.po
  32. 4 4
      po/da.po
  33. 4 4
      po/de.po
  34. 2762 0
      po/dz.po
  35. 4 4
      po/el.po
  36. 4 4
      po/en_GB.po
  37. 4 4
      po/es.po
  38. 208 191
      po/eu.po
  39. 4 4
      po/fi.po
  40. 4 4
      po/fr.po
  41. 5 5
      po/gl.po
  42. 51 52
      po/hu.po
  43. 4 4
      po/it.po
  44. 4 4
      po/ja.po
  45. 2732 0
      po/km.po
  46. 77 86
      po/ko.po
  47. 4 4
      po/nb.po
  48. 2728 0
      po/ne.po
  49. 4 4
      po/nl.po
  50. 4 4
      po/nn.po
  51. 4 4
      po/pl.po
  52. 4 4
      po/pt.po
  53. 4 4
      po/pt_BR.po
  54. 21 32
      po/ro.po
  55. 4 4
      po/ru.po
  56. 4 5
      po/sk.po
  57. 4 4
      po/sl.po
  58. 197 232
      po/sv.po
  59. 4 4
      po/tl.po
  60. 19 18
      po/vi.po
  61. 4 4
      po/zh_CN.po
  62. 5 5
      po/zh_TW.po
  63. 0 0
      share/debian-archive.gpg
  64. 7 0
      test/hash.cc

+ 2 - 1
apt-inst/contrib/extracttar.cc

@@ -136,7 +136,8 @@ bool ExtractTar::StartGzip()
       
       
       const char *Args[3];
       const char *Args[3];
       string confvar = string("dir::bin::") + DecompressProg;
       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[1] = "-d";
       Args[2] = 0;
       Args[2] = 0;
       execvp(Args[0],(char **)Args);
       execvp(Args[0],(char **)Args);

+ 1 - 1
apt-pkg/acquire-item.cc

@@ -149,7 +149,7 @@ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner,
    if(comprExt.empty()) 
    if(comprExt.empty()) 
    {
    {
       // autoselect the compression method
       // autoselect the compression method
-      if(FileExists("/usr/bin/bzip2")) 
+      if(FileExists("/bin/bzip2")) 
 	 CompressionExtension = ".bz2";
 	 CompressionExtension = ".bz2";
       else 
       else 
 	 CompressionExtension = ".gz";
 	 CompressionExtension = ".gz";

+ 1 - 0
apt-pkg/contrib/hashes.cc

@@ -36,6 +36,7 @@ bool Hashes::AddFD(int Fd,unsigned long Size)
       Size -= Res;
       Size -= Res;
       MD5.Add(Buf,Res);
       MD5.Add(Buf,Res);
       SHA1.Add(Buf,Res);
       SHA1.Add(Buf,Res);
+      SHA256.Add(Buf,Res);
    }
    }
    return true;
    return true;
 }
 }

+ 3 - 1
apt-pkg/contrib/hashes.h

@@ -19,6 +19,7 @@
 
 
 #include <apt-pkg/md5.h>
 #include <apt-pkg/md5.h>
 #include <apt-pkg/sha1.h>
 #include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
 
 
 #include <algorithm>
 #include <algorithm>
 
 
@@ -30,10 +31,11 @@ class Hashes
 
 
    MD5Summation MD5;
    MD5Summation MD5;
    SHA1Summation SHA1;
    SHA1Summation SHA1;
+   SHA256Summation SHA256;
    
    
    inline bool Add(const unsigned char *Data,unsigned long Size)
    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));};
    inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));};
    bool AddFD(int Fd,unsigned long Size);
    bool AddFD(int Fd,unsigned long Size);

+ 424 - 0
apt-pkg/contrib/sha256.cc

@@ -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;
+}
+                                                                       /*}}}*/
+

+ 75 - 0
apt-pkg/contrib/sha256.h

@@ -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

+ 7 - 1
apt-pkg/deb/dpkgpm.cc

@@ -624,7 +624,13 @@ bool pkgDPkgPM::Go(int OutStatusFd)
 	    
 	    
 	 */
 	 */
 	 char* list[5];
 	 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 *pkg = list[1];
 	 char *action = _strstrip(list[2]);
 	 char *action = _strstrip(list[2]);
 
 

+ 2 - 2
apt-pkg/makefile

@@ -21,11 +21,11 @@ APT_DOMAIN:=libapt-pkg$(MAJOR)
 # Source code for the contributed non-core things
 # Source code for the contributed non-core things
 SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
 SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
          contrib/configuration.cc contrib/progress.cc contrib/cmndline.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/cdromutl.cc contrib/crc-16.cc \
 	 contrib/fileutl.cc 
 	 contrib/fileutl.cc 
 HEADERS = mmap.h error.h configuration.h fileutl.h  cmndline.h \
 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 code for the core main library
 SOURCE+= pkgcache.cc version.cc depcache.cc \
 SOURCE+= pkgcache.cc version.cc depcache.cc \

+ 101 - 17
apt-pkg/tagfile.cc

@@ -33,21 +33,32 @@ using std::string;
 /* */
 /* */
 pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
 pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
      Fd(*pFd),
      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;
       Start = End = Buffer = 0;
+      Done = true;
       iOffset = 0;
       iOffset = 0;
       Map = NULL;
       Map = NULL;
       return;
       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;
    iOffset = 0;
 }
 }
 									/*}}}*/
 									/*}}}*/
@@ -56,6 +67,7 @@ pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) :
 /* */
 /* */
 pkgTagFile::~pkgTagFile()
 pkgTagFile::~pkgTagFile()
 {
 {
+   if(!Map) delete [] Buffer;
    delete Map;
    delete Map;
 }
 }
 									/*}}}*/
 									/*}}}*/
@@ -64,18 +76,70 @@ pkgTagFile::~pkgTagFile()
 /* If the Section Scanner fails we refill the buffer and try again. */
 /* If the Section Scanner fails we refill the buffer and try again. */
 bool pkgTagFile::Step(pkgTagSection &Tag)
 bool pkgTagFile::Step(pkgTagSection &Tag)
 {
 {
-   if (Start == End)
+   if ((Map != NULL) && (Start == End))
       return false;
       return false;
 
 
    if (Tag.Scan(Start,End - Start) == 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();
    Start += Tag.size();
    iOffset += Tag.size();
    iOffset += Tag.size();
 
 
    Tag.Trim();
    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;
    return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
@@ -94,12 +158,31 @@ bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long Offset)
       return Step(Tag);
       return Step(Tag);
    }
    }
 
 
-   // Reposition and reload..
    iOffset = Offset;
    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 _error->Error(_("Unable to parse package file %s (2)"),Fd.Name().c_str());
    
    
    return true;
    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'))
    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;
    return false;
@@ -343,7 +426,8 @@ static const char *iTFRewritePackageOrder[] = {
                           "Filename",
                           "Filename",
                           "Size",
                           "Size",
                           "MD5Sum",
                           "MD5Sum",
-                          "SHA1Sum",
+                          "SHA1",
+                          "SHA256",
                            "MSDOS-Filename",   // Obsolete
                            "MSDOS-Filename",   // Obsolete
                           "Description",
                           "Description",
                           0};
                           0};

+ 4 - 1
apt-pkg/tagfile.h

@@ -74,16 +74,19 @@ class pkgTagFile
    char *Buffer;
    char *Buffer;
    char *Start;
    char *Start;
    char *End;
    char *End;
+   bool Done;
    unsigned long iOffset;
    unsigned long iOffset;
    unsigned long Size;
    unsigned long Size;
    
    
+   bool Fill();
+   
    public:
    public:
 
 
    bool Step(pkgTagSection &Section);
    bool Step(pkgTagSection &Section);
    inline unsigned long Offset() {return iOffset;};
    inline unsigned long Offset() {return iOffset;};
    bool Jump(pkgTagSection &Tag,unsigned long Offset);
    bool Jump(pkgTagSection &Tag,unsigned long Offset);
 
 
-   pkgTagFile(FileFd *F,unsigned long Size = 32*1024);
+   pkgTagFile(FileFd *F,unsigned long Size = 64*1024);
    ~pkgTagFile();
    ~pkgTagFile();
 };
 };
 
 

+ 75 - 57
cmdline/apt-get.cc

@@ -1669,68 +1669,86 @@ bool DoInstall(CommandLine &CmdL)
       string SuggestsVersions, RecommendsVersions;
       string SuggestsVersions, RecommendsVersions;
       for (unsigned J = 0; J < Cache->Head().PackageCount; J++)
       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 */
 	 /* Just look at the ones we want to install */
-	 if ((*Cache)[I].Install() == false)
+	 if ((*Cache)[Pkg].Install() == false)
 	   continue;
 	   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,_("Suggested packages:"),SuggestsList,SuggestsVersions);
       ShowList(c1out,_("Recommended packages:"),RecommendsList,RecommendsVersions);
       ShowList(c1out,_("Recommended packages:"),RecommendsList,RecommendsVersions);
 
 

+ 2 - 2
configure.in

@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 
 
 dnl -- SET THIS TO THE RELEASE VERSION --
 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"
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)
 AC_SUBST(PACKAGE)
@@ -192,7 +192,7 @@ ah_GCC3DEP
 dnl It used to be that the user could select translations and that could get
 dnl It used to be that the user could select translations and that could get
 dnl passed to the makefiles, but now that can only work if you use special
 dnl passed to the makefiles, but now that can only work if you use special
 dnl gettext approved makefiles, so this feature is unsupported by this.
 dnl gettext approved makefiles, so this feature is unsupported by this.
-ALL_LINGUAS="bg bs ca cs cy da de el en_GB es eu fi fr gl hu it ja ko nb nl nn pl pt_BR pt ro ru sk sl sv tl vi zn_CN zh_TW"
+ALL_LINGUAS="bg bs ca cs cy da de dz el en_GB es eu fi fr gl hu it ja ko nb nl nn pl pt_BR pt ro ru sk sl sv tl vi zn_CN zh_TW"
 AM_GNU_GETTEXT(external)
 AM_GNU_GETTEXT(external)
 if test x"$USE_NLS" = "xyes"; then
 if test x"$USE_NLS" = "xyes"; then
    AC_DEFINE(USE_NLS)
    AC_DEFINE(USE_NLS)

+ 67 - 11
debian/changelog

@@ -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
 apt (0.6.44.1-0.1) unstable; urgency=low
 
 
   * Non-maintainer upload.
   * Non-maintainer upload.

+ 1 - 1
debian/control

@@ -4,7 +4,7 @@ Priority: important
 Maintainer: APT Development Team <deity@lists.debian.org>
 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>
 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
 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)
 Build-Depends-Indep: debiandoc-sgml, docbook-utils (>= 0.6.12-1)
 
 
 Package: apt
 Package: apt

+ 1 - 1
doc/apt-cache.8.xml

@@ -277,7 +277,7 @@ Reverse Provides:
      <listitem><para>Select the file to store the source cache. The source is used only by
      <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 
      <literal>gencaches</literal> and it stores a parsed version of the package 
      information from remote sources. When building the package cache the 
      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>
      Configuration Item: <literal>Dir::Cache::srcpkgcache</literal>.</para></listitem>
      </varlistentry>
      </varlistentry>
 
 

+ 1 - 1
doc/apt-get.8.xml

@@ -468,7 +468,7 @@
  <refsect1><title>See Also</title>
  <refsect1><title>See Also</title>
    <para>&apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;,
    <para>&apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;,
    &apt-conf;, &apt-config;,
    &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>
 
 
  <refsect1><title>Diagnostics</title>
  <refsect1><title>Diagnostics</title>

+ 1 - 0
doc/apt.ent

@@ -2,6 +2,7 @@
 
 
 <!-- Some common paths.. -->
 <!-- Some common paths.. -->
 <!ENTITY docdir "/usr/share/doc/apt/">
 <!ENTITY docdir "/usr/share/doc/apt/">
+<!ENTITY guidesdir "/usr/share/doc/apt-doc/">
 <!ENTITY configureindex "<filename>&docdir;examples/configure-index.gz</filename>">
 <!ENTITY configureindex "<filename>&docdir;examples/configure-index.gz</filename>">
 <!ENTITY aptconfdir "<filename>/etc/apt.conf</filename>">
 <!ENTITY aptconfdir "<filename>/etc/apt.conf</filename>">
 <!ENTITY statedir "/var/lib/apt">
 <!ENTITY statedir "/var/lib/apt">

+ 1 - 0
doc/examples/configure-index

@@ -251,6 +251,7 @@ Debug
   pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
   pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
   pkgAcquire "false";
   pkgAcquire "false";
   pkgAcquire::Worker "false";
   pkgAcquire::Worker "false";
+  pkgAcquire::Auth "false";
   pkgDPkgPM "false";
   pkgDPkgPM "false";
   pkgDPkgProgressReporting "false";
   pkgDPkgProgressReporting "false";
   pkgOrderList "false";
   pkgOrderList "false";

+ 224 - 45
ftparchive/cachedb.cc

@@ -19,6 +19,8 @@
 #include <apti18n.h>
 #include <apti18n.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/md5.h>
 #include <apt-pkg/md5.h>
+#include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/configuration.h>
     
     
@@ -54,7 +56,7 @@ bool CacheDB::ReadyDB(string DB)
       return true;
       return true;
 
 
    db_create(&Dbp, NULL, 0);
    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),
                         (ReadOnly?DB_RDONLY:DB_CREATE),
                         0644)) != 0)
                         0644)) != 0)
    {
    {
@@ -67,6 +69,12 @@ bool CacheDB::ReadyDB(string DB)
                             (ReadOnly?DB_RDONLY:DB_CREATE), 0644);
                             (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)
       if (err)
       {
       {
           Dbp = 0;
           Dbp = 0;
@@ -79,48 +87,123 @@ bool CacheDB::ReadyDB(string DB)
    return true;
    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));
    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");
    InitQuery("st");
-   
    // Ensure alignment of the returned structure
    // Ensure alignment of the returned structure
    Data.data = &CurStat;
    Data.data = &CurStat;
    Data.ulen = sizeof(CurStat);
    Data.ulen = sizeof(CurStat);
    Data.flags = DB_DBT_USERMEM;
    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;
 	 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;
    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;
    return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
@@ -139,6 +222,10 @@ bool CacheDB::LoadControl()
       CurStat.Flags &= ~FlControl;
       CurStat.Flags &= ~FlControl;
    }
    }
    
    
+   if (Fd == NULL && OpenFile() == false)
+   {
+      return false;
+   }
    // Create a deb instance to read the archive
    // Create a deb instance to read the archive
    if (DebFile == 0)
    if (DebFile == 0)
    {
    {
@@ -183,6 +270,10 @@ bool CacheDB::LoadContents(bool GenOnly)
       CurStat.Flags &= ~FlContents;
       CurStat.Flags &= ~FlContents;
    }
    }
    
    
+   if (Fd == NULL && OpenFile() == false)
+   {
+      return false;
+   }
    // Create a deb instance to read the archive
    // Create a deb instance to read the archive
    if (DebFile == 0)
    if (DebFile == 0)
    {
    {
@@ -201,10 +292,37 @@ bool CacheDB::LoadContents(bool GenOnly)
    return true;
    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					/*{{{*/
 // 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.
    // Try to read the control information out of the DB.
    if ((CurStat.Flags & FlMD5) == FlMD5)
    if ((CurStat.Flags & FlMD5) == FlMD5)
@@ -212,28 +330,88 @@ bool CacheDB::GetMD5(string &MD5Res,bool GenOnly)
       if (GenOnly == true)
       if (GenOnly == true)
 	 return true;
 	 return true;
       
       
-      InitQuery("m5");
-      if (Get() == true)
-      {
-	 MD5Res = string((char *)Data.data,Data.size);
+      MD5Res = bytes2hex(CurStat.MD5, sizeof(CurStat.MD5));
 	 return true;
 	 return true;
       }
       }
-      CurStat.Flags &= ~FlMD5;
-   }
    
    
-   Stats.MD5Bytes += FileStat.st_size;
+   Stats.MD5Bytes += CurStat.FileSize;
 	 
 	 
+   if (Fd == NULL && OpenFile() == false)
+   {
+      return false;
+   }
    MD5Summation MD5;
    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;
       return false;
    
    
    MD5Res = MD5.Result();
    MD5Res = MD5.Result();
-   InitQuery("m5");
-   if (Put(MD5Res.c_str(),MD5Res.length()) == true)
+   hex2bytes(CurStat.MD5, MD5Res.data(), sizeof(CurStat.MD5));
       CurStat.Flags |= FlMD5;
       CurStat.Flags |= FlMD5;
    return true;
    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			/*{{{*/
 // CacheDB::Finish - Write back the cache structure			/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* */
 /* */
@@ -246,9 +424,12 @@ bool CacheDB::Finish()
    
    
    // Write the stat information
    // Write the stat information
    CurStat.Flags = htonl(CurStat.Flags);
    CurStat.Flags = htonl(CurStat.Flags);
+   CurStat.FileSize = htonl(CurStat.FileSize);
    InitQuery("st");
    InitQuery("st");
    Put(&CurStat,sizeof(CurStat));
    Put(&CurStat,sizeof(CurStat));
    CurStat.Flags = ntohl(CurStat.Flags);
    CurStat.Flags = ntohl(CurStat.Flags);
+   CurStat.FileSize = ntohl(CurStat.FileSize);
+
    return true;
    return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
@@ -272,16 +453,14 @@ bool CacheDB::Clean()
    memset(&Data,0,sizeof(Data));
    memset(&Data,0,sizeof(Data));
    while ((errno = Cursor->c_get(Cursor,&Key,&Data,DB_NEXT)) == 0)
    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;	     
 		continue;	     
 	 }
 	 }
       }
       }

+ 30 - 10
ftparchive/cachedb.h

@@ -44,7 +44,7 @@ class CacheDB
       memset(&Key,0,sizeof(Key));
       memset(&Key,0,sizeof(Key));
       memset(&Data,0,sizeof(Data));
       memset(&Data,0,sizeof(Data));
       Key.data = TmpKey;
       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() 
    inline bool Get() 
@@ -64,19 +64,31 @@ class CacheDB
       }
       }
       return true;
       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.
    // 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
    struct StatStore
    {
    {
-      time_t   mtime;          
       uint32_t Flags;
       uint32_t Flags;
+      uint32_t mtime;          
+      uint32_t FileSize;
+      uint8_t  MD5[16];
+      uint8_t  SHA1[20];
+      uint8_t  SHA256[32];
    } CurStat;
    } CurStat;
    struct StatStore OldStat;
    struct StatStore OldStat;
    
    
    // 'set' state
    // 'set' state
    string FileName;
    string FileName;
-   struct stat FileStat;
    FileFd *Fd;
    FileFd *Fd;
    debDebFile *DebFile;
    debDebFile *DebFile;
    
    
@@ -85,34 +97,42 @@ class CacheDB
    // Data collection helpers
    // Data collection helpers
    debDebFile::MemControlExtract Control;
    debDebFile::MemControlExtract Control;
    ContentsExtract Contents;
    ContentsExtract Contents;
+   string MD5Res;
+   string SHA1Res;
+   string SHA256Res;
    
    
    // Runtime statistics
    // Runtime statistics
    struct Stats
    struct Stats
    {
    {
       double Bytes;
       double Bytes;
       double MD5Bytes;
       double MD5Bytes;
+      double SHA1Bytes;
+      double SHA256Bytes;
       unsigned long Packages;
       unsigned long Packages;
       unsigned long Misses;  
       unsigned long Misses;  
       unsigned long DeLinkBytes;
       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;};
 	 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;
    } Stats;
    
    
    bool ReadyDB(string DB);
    bool ReadyDB(string DB);
    inline bool DBFailed() {return Dbp != 0 && DBLoaded == false;};
    inline bool DBFailed() {return Dbp != 0 && DBLoaded == false;};
    inline bool Loaded() {return DBLoaded == true;};
    inline bool Loaded() {return DBLoaded == true;};
    
    
+   inline off_t GetFileSize(void) {return CurStat.FileSize;}
+   
    bool SetFile(string FileName,struct stat St,FileFd *Fd);
    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 Finish();   
    
    
    bool Clean();
    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;};
    ~CacheDB() {ReadyDB(string()); delete DebFile;};
 };
 };
     
     

+ 60 - 44
ftparchive/writer.cc

@@ -23,6 +23,7 @@
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/md5.h>
 #include <apt-pkg/md5.h>
 #include <apt-pkg/sha1.h>
 #include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
 #include <apt-pkg/deblistparser.h>
 #include <apt-pkg/deblistparser.h>
 
 
 #include <sys/types.h>
 #include <sys/types.h>
@@ -70,7 +71,7 @@ FTWScanner::FTWScanner()
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* This is the FTW scanner, it processes each directory element in the 
 /* This is the FTW scanner, it processes each directory element in the 
    directory tree. */
    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)
    if (Flag == FTW_DNR)
    {
    {
@@ -85,6 +86,14 @@ int FTWScanner::Scanner(const char *File,const struct stat *sb,int Flag)
    if (Flag != FTW_F)
    if (Flag != FTW_F)
       return 0;
       return 0;
 
 
+   return ScannerFile(File, true);
+}
+									/*}}}*/
+// FTWScanner::ScannerFile - File Scanner				/*{{{*/
+// ---------------------------------------------------------------------
+/* */
+int FTWScanner::ScannerFile(const char *File, bool ReadLink)
+{
    const char *LastComponent = strrchr(File, '/');
    const char *LastComponent = strrchr(File, '/');
    if (LastComponent == NULL)
    if (LastComponent == NULL)
       LastComponent = File;
       LastComponent = File;
@@ -105,7 +114,8 @@ int FTWScanner::Scanner(const char *File,const struct stat *sb,int Flag)
       given are not links themselves. */
       given are not links themselves. */
    char Jnk[2];
    char Jnk[2];
    Owner->OriginalPath = File;
    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)
        realpath(File,Owner->RealPath) != 0)
       Owner->DoPackage(Owner->RealPath);
       Owner->DoPackage(Owner->RealPath);
    else
    else
@@ -154,7 +164,7 @@ bool FTWScanner::RecursiveScan(string Dir)
    
    
    // Do recursive directory searching
    // Do recursive directory searching
    Owner = this;
    Owner = this;
-   int Res = ftw(Dir.c_str(),Scanner,30);
+   int Res = ftw(Dir.c_str(),ScannerFTW,30);
    
    
    // Error treewalking?
    // Error treewalking?
    if (Res != 0)
    if (Res != 0)
@@ -209,12 +219,14 @@ bool FTWScanner::LoadFileList(string Dir,string File)
 	 FileName = Line;
 	 FileName = Line;
       }
       }
       
       
+#if 0
       struct stat St;
       struct stat St;
       int Flag = FTW_F;
       int Flag = FTW_F;
       if (stat(FileName,&St) != 0)
       if (stat(FileName,&St) != 0)
 	 Flag = FTW_NS;
 	 Flag = FTW_NS;
+#endif
 
 
-      if (Scanner(FileName,&St,Flag) != 0)
+      if (ScannerFile(FileName, false) != 0)
 	 break;
 	 break;
    }
    }
   
   
@@ -227,7 +239,7 @@ bool FTWScanner::LoadFileList(string Dir,string File)
 /* */
 /* */
 bool FTWScanner::Delink(string &FileName,const char *OriginalPath,
 bool FTWScanner::Delink(string &FileName,const char *OriginalPath,
 			unsigned long &DeLinkBytes,
 			unsigned long &DeLinkBytes,
-			struct stat &St)
+			off_t FileSize)
 {
 {
    // See if this isn't an internaly prefix'd file name.
    // See if this isn't an internaly prefix'd file name.
    if (InternalPrefix.empty() == false &&
    if (InternalPrefix.empty() == false &&
@@ -243,7 +255,7 @@ bool FTWScanner::Delink(string &FileName,const char *OriginalPath,
 	 
 	 
 	 NewLine(1);
 	 NewLine(1);
 	 ioprintf(c1out, _(" DeLink %s [%s]\n"), (OriginalPath + InternalPrefix.length()),
 	 ioprintf(c1out, _(" DeLink %s [%s]\n"), (OriginalPath + InternalPrefix.length()),
-		    SizeToStr(St.st_size).c_str());
+		    SizeToStr(FileSize).c_str());
 	 c1out << flush;
 	 c1out << flush;
 	 
 	 
 	 if (NoLinkAct == false)
 	 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)
 	 if (DeLinkBytes/1024 >= DeLinkLimit)
 	    ioprintf(c1out, _(" DeLink limit of %sB hit.\n"), SizeToStr(DeLinkBytes).c_str());      
 	    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
    // Process the command line options
    DoMD5 = _config->FindB("APT::FTPArchive::MD5",true);
    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);
    DoContents = _config->FindB("APT::FTPArchive::Contents",true);
    NoOverride = _config->FindB("APT::FTPArchive::NoOverrideMsg",false);
    NoOverride = _config->FindB("APT::FTPArchive::NoOverrideMsg",false);
 
 
@@ -343,29 +357,19 @@ bool FTWScanner::SetExts(string Vals)
 // PackagesWriter::DoPackage - Process a single package			/*{{{*/
 // PackagesWriter::DoPackage - Process a single package			/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* This method takes a package and gets its control information and 
 /* 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)
 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
    // 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;
       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;
       return false;
    
    
    // Lookup the overide information
    // Lookup the overide information
@@ -400,7 +404,7 @@ bool PackagesWriter::DoPackage(string FileName)
    }
    }
 
 
    char Size[40];
    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
    // Strip the DirStrip prefix from the FileName and add the PathPrefix
    string NewFileName;
    string NewFileName;
@@ -420,7 +424,9 @@ bool PackagesWriter::DoPackage(string FileName)
 
 
    unsigned int End = 0;
    unsigned int End = 0;
    SetTFRewriteData(Changes[End++], "Size", Size);
    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++], "Filename", NewFileName.c_str());
    SetTFRewriteData(Changes[End++], "Priority", OverItem->Priority.c_str());
    SetTFRewriteData(Changes[End++], "Priority", OverItem->Priority.c_str());
    SetTFRewriteData(Changes[End++], "Status", 0);
    SetTFRewriteData(Changes[End++], "Status", 0);
@@ -491,6 +497,10 @@ SourcesWriter::SourcesWriter(string BOverrides,string SOverrides,
    else
    else
       NoOverride = true;
       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)
    if (ExtOverrides.empty() == false)
       SOver.ReadExtraOverride(ExtOverrides);
       SOver.ReadExtraOverride(ExtOverrides);
    
    
@@ -607,12 +617,14 @@ bool SourcesWriter::DoPackage(string FileName)
    }
    }
    
    
    auto_ptr<Override::Item> SOverItem(SOver.GetItem(Tags.FindS("Source")));
    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)
    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")));
       SOverItem = auto_ptr<Override::Item>(BOver.GetItem(Tags.FindS("Source")));
       if (SOverItem.get() == 0)
       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 = auto_ptr<Override::Item>(new Override::Item);
 	 *SOverItem = *OverItem;
 	 *SOverItem = *OverItem;
       }
       }
@@ -657,7 +669,7 @@ bool SourcesWriter::DoPackage(string FileName)
 	  realpath(OriginalPath.c_str(),RealPath) != 0)
 	  realpath(OriginalPath.c_str(),RealPath) != 0)
       {
       {
 	 string RP = RealPath;
 	 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;
 	    return false;
       }
       }
    }
    }
@@ -727,26 +739,14 @@ ContentsWriter::ContentsWriter(string DB) :
    determine what the package name is. */
    determine what the package name is. */
 bool ContentsWriter::DoPackage(string FileName,string Package)
 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;
       return false;
+   }
 
 
    // Parse the package name
    // Parse the package name
    if (Package.empty() == true)
    if (Package.empty() == true)
    {
    {
-      if (Db.LoadControl() == false)
-	 return false;
       Package = Db.Control.Section.FindS("Package");
       Package = Db.Control.Section.FindS("Package");
    }
    }
 
 
@@ -896,6 +896,11 @@ bool ReleaseWriter::DoPackage(string FileName)
    SHA1.AddFD(fd.Fd(), fd.Size());
    SHA1.AddFD(fd.Fd(), fd.Size());
    CheckSums[NewFileName].SHA1 = SHA1.Result();
    CheckSums[NewFileName].SHA1 = SHA1.Result();
 
 
+   fd.Seek(0);
+   SHA256Summation SHA256;
+   SHA256.AddFD(fd.Fd(), fd.Size());
+   CheckSums[NewFileName].SHA256 = SHA256.Result();
+
    fd.Close();
    fd.Close();
    
    
    return true;
    return true;
@@ -927,5 +932,16 @@ void ReleaseWriter::Finish()
               (*I).second.size,
               (*I).second.size,
               (*I).first.c_str());
               (*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());
+   }
 }
 }
 
 

+ 6 - 2
ftparchive/writer.h

@@ -45,10 +45,11 @@ class FTWScanner
    bool NoLinkAct;
    bool NoLinkAct;
    
    
    static FTWScanner *Owner;
    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,
    bool Delink(string &FileName,const char *OriginalPath,
-	       unsigned long &Bytes,struct stat &St);
+	       unsigned long &Bytes,off_t FileSize);
 
 
    inline void NewLine(unsigned Priority)
    inline void NewLine(unsigned Priority)
    {
    {
@@ -84,6 +85,8 @@ class PackagesWriter : public FTWScanner
 
 
    // Some flags
    // Some flags
    bool DoMD5;
    bool DoMD5;
+   bool DoSHA1;
+   bool DoSHA256;
    bool NoOverride;
    bool NoOverride;
    bool DoContents;
    bool DoContents;
 
 
@@ -170,6 +173,7 @@ protected:
    {
    {
       string MD5;
       string MD5;
       string SHA1;
       string SHA1;
+      string SHA256;
       // Limited by FileFd::Size()
       // Limited by FileFd::Size()
       unsigned long size;
       unsigned long size;
       ~CheckSum() {};
       ~CheckSum() {};

+ 7 - 1
methods/gpgv.cc

@@ -17,6 +17,7 @@
 #define GNUPGBADSIG "[GNUPG:] BADSIG"
 #define GNUPGBADSIG "[GNUPG:] BADSIG"
 #define GNUPGNOPUBKEY "[GNUPG:] NO_PUBKEY"
 #define GNUPGNOPUBKEY "[GNUPG:] NO_PUBKEY"
 #define GNUPGVALIDSIG "[GNUPG:] VALIDSIG"
 #define GNUPGVALIDSIG "[GNUPG:] VALIDSIG"
+#define GNUPGNODATA "[GNUPG:] NODATA"
 
 
 class GPGVMethod : public pkgAcqMethod
 class GPGVMethod : public pkgAcqMethod
 {
 {
@@ -171,7 +172,12 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile,
             std::cerr << "Got NO_PUBKEY " << std::endl;
             std::cerr << "Got NO_PUBKEY " << std::endl;
          NoPubKeySigners.push_back(string(buffer+sizeof(GNUPGPREFIX)));
          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)
       if (strncmp(buffer, GNUPGVALIDSIG, sizeof(GNUPGVALIDSIG)-1) == 0)
       {
       {
          char *sig = buffer + sizeof(GNUPGPREFIX);
          char *sig = buffer + sizeof(GNUPGPREFIX);

+ 1 - 1
methods/http.cc

@@ -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 
       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
       pass it on, HTTP/1.1 says the connection should default to keep alive
       and we expect the proxy to do this */
       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",
       sprintf(Buf,"GET %s HTTP/1.1\r\nHost: %s\r\nConnection: keep-alive\r\n",
 	      QuoteString(Uri.Path,"~").c_str(),ProperHost.c_str());
 	      QuoteString(Uri.Path,"~").c_str(),ProperHost.c_str());
    else
    else

+ 40 - 0
po/ChangeLog

@@ -1,3 +1,43 @@
+2006-07-19  Sunjae Park  <darehanl@gmail.com>
+
+	* ko.po: Updated to 512t. Closes: #378901
+
+2006-07-02  SZERVAC Attila  <sas@321.hu>
+
+	* hu.po: Updated to 512t. Closes: #376330
+
+2006-07-01  Leang Chumsoben  <soben@khmeros.info>
+
+	* km.po: New Khmer translation: 506t6f. Closes: #375068
+
+2006-07-01  Shiva Pokharel  <pokharelshiva@hotmail.com>
+
+	* ne.po: New Nepali translation: 512t. Closes: #373729
+
+2006-07-01  Clytie Siddall  <clytie@riverland.net.au>
+
+	* vi.po: Updated to 512t. Closes: #368038
+
+2006-07-01  Christian Perrier  <bubulle@debian.org>
+
+	* zh_TW.po: Remove an extra %s in one string. Closes: #370551
+
+2006-07-01  Kinley Tshering  <gasepkuenden2k3@hotmail.com>
+
+	* dz.po: New Dzongkha translation: 512t
+
+2006-06-25  Sorin Batariuc  <sorin@bonbon.net>
+
+	* ro.po: Updated to 512t
+
+2006-06-21  Piarres Beobide  <pi@beobide.net>
+
+	* eu.po: Updated
+
+2006-06-07  Piarres Beobide  <pi@beobide.net>
+
+	* eu.po: Updated
+
 2006-05-29  Peter Mann  <Peter.Mann@tuke.sk>
 2006-05-29  Peter Mann  <Peter.Mann@tuke.sk>
 
 
 	* sk.po: Completed to 512t
 	* sk.po: Completed to 512t

+ 103 - 92
po/apt-all.pot

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-07-26 10:56+0200\n"
+"POT-Creation-Date: 2006-09-06 18:03+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\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-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-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:550
-#: cmdline/apt-get.cc:2430 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:2449 cmdline/apt-sortpkgs.cc:144
 #, c-format
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr ""
 msgstr ""
@@ -327,115 +327,126 @@ msgstr ""
 msgid "Some files are missing in the package file group `%s'"
 msgid "Some files are missing in the package file group `%s'"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/cachedb.cc:45
+#: ftparchive/cachedb.cc:47
 #, c-format
 #, c-format
 msgid "DB was corrupted, file renamed to %s.old"
 msgid "DB was corrupted, file renamed to %s.old"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/cachedb.cc:63
+#: ftparchive/cachedb.cc:65
 #, c-format
 #, c-format
 msgid "DB is old, attempting to upgrade %s"
 msgid "DB is old, attempting to upgrade %s"
 msgstr ""
 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
 #, c-format
 msgid "Unable to open DB file %s: %s"
 msgid "Unable to open DB file %s: %s"
 msgstr ""
 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
 #, c-format
-msgid "File date has changed %s"
+msgid "Failed to stat %s"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/cachedb.cc:155
+#: ftparchive/cachedb.cc:242
 msgid "Archive has no control record"
 msgid "Archive has no control record"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/cachedb.cc:267
+#: ftparchive/cachedb.cc:448
 msgid "Unable to get a cursor"
 msgid "Unable to get a cursor"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:78
+#: ftparchive/writer.cc:79
 #, c-format
 #, c-format
 msgid "W: Unable to read directory %s\n"
 msgid "W: Unable to read directory %s\n"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:83
+#: ftparchive/writer.cc:84
 #, c-format
 #, c-format
 msgid "W: Unable to stat %s\n"
 msgid "W: Unable to stat %s\n"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:125
+#: ftparchive/writer.cc:135
 msgid "E: "
 msgid "E: "
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:127
+#: ftparchive/writer.cc:137
 msgid "W: "
 msgid "W: "
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:134
+#: ftparchive/writer.cc:144
 msgid "E: Errors apply to file "
 msgid "E: Errors apply to file "
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:151 ftparchive/writer.cc:181
+#: ftparchive/writer.cc:161 ftparchive/writer.cc:191
 #, c-format
 #, c-format
 msgid "Failed to resolve %s"
 msgid "Failed to resolve %s"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:163
+#: ftparchive/writer.cc:173
 msgid "Tree walking failed"
 msgid "Tree walking failed"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:188
+#: ftparchive/writer.cc:198
 #, c-format
 #, c-format
 msgid "Failed to open %s"
 msgid "Failed to open %s"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:245
+#: ftparchive/writer.cc:257
 #, c-format
 #, c-format
 msgid " DeLink %s [%s]\n"
 msgid " DeLink %s [%s]\n"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:253
+#: ftparchive/writer.cc:265
 #, c-format
 #, c-format
 msgid "Failed to readlink %s"
 msgid "Failed to readlink %s"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:257
+#: ftparchive/writer.cc:269
 #, c-format
 #, c-format
 msgid "Failed to unlink %s"
 msgid "Failed to unlink %s"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:264
+#: ftparchive/writer.cc:276
 #, c-format
 #, c-format
 msgid "*** Failed to link %s to %s"
 msgid "*** Failed to link %s to %s"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:274
+#: ftparchive/writer.cc:286
 #, c-format
 #, c-format
 msgid " DeLink limit of %sB hit.\n"
 msgid " DeLink limit of %sB hit.\n"
 msgstr ""
 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"
 msgid "Archive had no package field"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:394 ftparchive/writer.cc:603
+#: ftparchive/writer.cc:398 ftparchive/writer.cc:613
 #, c-format
 #, c-format
 msgid "  %s has no override entry\n"
 msgid "  %s has no override entry\n"
 msgstr ""
 msgstr ""
 
 
-#: ftparchive/writer.cc:437 ftparchive/writer.cc:689
+#: ftparchive/writer.cc:443 ftparchive/writer.cc:701
 #, c-format
 #, c-format
 msgid "  %s maintainer is %s not %s\n"
 msgid "  %s maintainer is %s not %s\n"
 msgstr ""
 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
 #: ftparchive/contents.cc:317
 #, c-format
 #, c-format
 msgid "Internal error, could not locate member %s"
 msgid "Internal error, could not locate member %s"
@@ -535,7 +546,7 @@ msgstr ""
 msgid "Y"
 msgid "Y"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1560
+#: cmdline/apt-get.cc:143 cmdline/apt-get.cc:1561
 #, c-format
 #, c-format
 msgid "Regex compilation error - %s"
 msgid "Regex compilation error - %s"
 msgstr ""
 msgstr ""
@@ -694,11 +705,11 @@ msgstr ""
 msgid "Internal error, Ordering didn't finish"
 msgid "Internal error, Ordering didn't finish"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:792 cmdline/apt-get.cc:1861 cmdline/apt-get.cc:1894
+#: cmdline/apt-get.cc:792 cmdline/apt-get.cc:1880 cmdline/apt-get.cc:1913
 msgid "Unable to lock the download directory"
 msgid "Unable to lock the download directory"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:802 cmdline/apt-get.cc:1942 cmdline/apt-get.cc:2178
+#: cmdline/apt-get.cc:802 cmdline/apt-get.cc:1961 cmdline/apt-get.cc:2197
 #: apt-pkg/cachefile.cc:67
 #: apt-pkg/cachefile.cc:67
 msgid "The list of sources could not be read."
 msgid "The list of sources could not be read."
 msgstr ""
 msgstr ""
@@ -727,7 +738,7 @@ msgstr ""
 msgid "After unpacking %sB disk space will be freed.\n"
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:847 cmdline/apt-get.cc:2032
+#: cmdline/apt-get.cc:847 cmdline/apt-get.cc:2051
 #, c-format
 #, c-format
 msgid "Couldn't determine free space in %s"
 msgid "Couldn't determine free space in %s"
 msgstr ""
 msgstr ""
@@ -761,7 +772,7 @@ msgstr ""
 msgid "Do you want to continue [Y/n]? "
 msgid "Do you want to continue [Y/n]? "
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:962 cmdline/apt-get.cc:1366 cmdline/apt-get.cc:2075
+#: cmdline/apt-get.cc:962 cmdline/apt-get.cc:1366 cmdline/apt-get.cc:2094
 #, c-format
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgid "Failed to fetch %s  %s\n"
 msgstr ""
 msgstr ""
@@ -770,7 +781,7 @@ msgstr ""
 msgid "Some files failed to download"
 msgid "Some files failed to download"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:981 cmdline/apt-get.cc:2084
+#: cmdline/apt-get.cc:981 cmdline/apt-get.cc:2103
 msgid "Download complete and in download only mode"
 msgid "Download complete and in download only mode"
 msgstr ""
 msgstr ""
 
 
@@ -886,7 +897,7 @@ msgid ""
 "shouldn't happen. Please file a bug report against apt."
 "shouldn't happen. Please file a bug report against apt."
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1427 cmdline/apt-get.cc:1628
+#: cmdline/apt-get.cc:1427 cmdline/apt-get.cc:1629
 msgid "The following information may help to resolve the situation:"
 msgid "The following information may help to resolve the situation:"
 msgstr ""
 msgstr ""
 
 
@@ -898,27 +909,27 @@ msgstr ""
 msgid "Internal error, AllUpgrade broke stuff"
 msgid "Internal error, AllUpgrade broke stuff"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1547 cmdline/apt-get.cc:1583
+#: cmdline/apt-get.cc:1548 cmdline/apt-get.cc:1584
 #, c-format
 #, c-format
 msgid "Couldn't find package %s"
 msgid "Couldn't find package %s"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1570
+#: cmdline/apt-get.cc:1571
 #, c-format
 #, c-format
 msgid "Note, selecting %s for regex '%s'\n"
 msgid "Note, selecting %s for regex '%s'\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1600
+#: cmdline/apt-get.cc:1601
 msgid "You might want to run `apt-get -f install' to correct these:"
 msgid "You might want to run `apt-get -f install' to correct these:"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1603
+#: cmdline/apt-get.cc:1604
 msgid ""
 msgid ""
 "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
 "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
 "solution)."
 "solution)."
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1615
+#: cmdline/apt-get.cc:1616
 msgid ""
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
 "Some packages could not be installed. This may mean that you have\n"
 "requested an impossible situation or if you are using the unstable\n"
 "requested an impossible situation or if you are using the unstable\n"
@@ -926,159 +937,159 @@ msgid ""
 "or been moved out of Incoming."
 "or been moved out of Incoming."
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1623
+#: cmdline/apt-get.cc:1624
 msgid ""
 msgid ""
 "Since you only requested a single operation it is extremely likely that\n"
 "Since you only requested a single operation it is extremely likely that\n"
 "the package is simply not installable and a bug report against\n"
 "the package is simply not installable and a bug report against\n"
 "that package should be filed."
 "that package should be filed."
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1631
+#: cmdline/apt-get.cc:1632
 msgid "Broken packages"
 msgid "Broken packages"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1662
+#: cmdline/apt-get.cc:1663
 msgid "The following extra packages will be installed:"
 msgid "The following extra packages will be installed:"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1733
+#: cmdline/apt-get.cc:1752
 msgid "Suggested packages:"
 msgid "Suggested packages:"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1734
+#: cmdline/apt-get.cc:1753
 msgid "Recommended packages:"
 msgid "Recommended packages:"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1754
+#: cmdline/apt-get.cc:1773
 msgid "Calculating upgrade... "
 msgid "Calculating upgrade... "
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1757 methods/ftp.cc:702 methods/connect.cc:101
+#: cmdline/apt-get.cc:1776 methods/ftp.cc:702 methods/connect.cc:101
 msgid "Failed"
 msgid "Failed"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1762
+#: cmdline/apt-get.cc:1781
 msgid "Done"
 msgid "Done"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1829 cmdline/apt-get.cc:1837
+#: cmdline/apt-get.cc:1848 cmdline/apt-get.cc:1856
 msgid "Internal error, problem resolver broke stuff"
 msgid "Internal error, problem resolver broke stuff"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1937
+#: cmdline/apt-get.cc:1956
 msgid "Must specify at least one package to fetch source for"
 msgid "Must specify at least one package to fetch source for"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:1967 cmdline/apt-get.cc:2196
+#: cmdline/apt-get.cc:1986 cmdline/apt-get.cc:2215
 #, c-format
 #, c-format
 msgid "Unable to find a source package for %s"
 msgid "Unable to find a source package for %s"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2011
+#: cmdline/apt-get.cc:2030
 #, c-format
 #, c-format
 msgid "Skipping already downloaded file '%s'\n"
 msgid "Skipping already downloaded file '%s'\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2035
+#: cmdline/apt-get.cc:2054
 #, c-format
 #, c-format
 msgid "You don't have enough free space in %s"
 msgid "You don't have enough free space in %s"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2040
+#: cmdline/apt-get.cc:2059
 #, c-format
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2043
+#: cmdline/apt-get.cc:2062
 #, c-format
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgid "Need to get %sB of source archives.\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2049
+#: cmdline/apt-get.cc:2068
 #, c-format
 #, c-format
 msgid "Fetch source %s\n"
 msgid "Fetch source %s\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2080
+#: cmdline/apt-get.cc:2099
 msgid "Failed to fetch some archives."
 msgid "Failed to fetch some archives."
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2108
+#: cmdline/apt-get.cc:2127
 #, c-format
 #, c-format
 msgid "Skipping unpack of already unpacked source in %s\n"
 msgid "Skipping unpack of already unpacked source in %s\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2120
+#: cmdline/apt-get.cc:2139
 #, c-format
 #, c-format
 msgid "Unpack command '%s' failed.\n"
 msgid "Unpack command '%s' failed.\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2121
+#: cmdline/apt-get.cc:2140
 #, c-format
 #, c-format
 msgid "Check if the 'dpkg-dev' package is installed.\n"
 msgid "Check if the 'dpkg-dev' package is installed.\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2138
+#: cmdline/apt-get.cc:2157
 #, c-format
 #, c-format
 msgid "Build command '%s' failed.\n"
 msgid "Build command '%s' failed.\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2157
+#: cmdline/apt-get.cc:2176
 msgid "Child process failed"
 msgid "Child process failed"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2173
+#: cmdline/apt-get.cc:2192
 msgid "Must specify at least one package to check builddeps for"
 msgid "Must specify at least one package to check builddeps for"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2201
+#: cmdline/apt-get.cc:2220
 #, c-format
 #, c-format
 msgid "Unable to get build-dependency information for %s"
 msgid "Unable to get build-dependency information for %s"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2221
+#: cmdline/apt-get.cc:2240
 #, c-format
 #, c-format
 msgid "%s has no build depends.\n"
 msgid "%s has no build depends.\n"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2273
+#: cmdline/apt-get.cc:2292
 #, c-format
 #, c-format
 msgid ""
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "found"
 "found"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2325
+#: cmdline/apt-get.cc:2344
 #, c-format
 #, c-format
 msgid ""
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
 "%s dependency for %s cannot be satisfied because no available versions of "
 "package %s can satisfy version requirements"
 "package %s can satisfy version requirements"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2360
+#: cmdline/apt-get.cc:2379
 #, c-format
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2385
+#: cmdline/apt-get.cc:2404
 #, c-format
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2399
+#: cmdline/apt-get.cc:2418
 #, c-format
 #, c-format
 msgid "Build-dependencies for %s could not be satisfied."
 msgid "Build-dependencies for %s could not be satisfied."
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2403
+#: cmdline/apt-get.cc:2422
 msgid "Failed to process build dependencies"
 msgid "Failed to process build dependencies"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2435
+#: cmdline/apt-get.cc:2454
 msgid "Supported modules:"
 msgid "Supported modules:"
 msgstr ""
 msgstr ""
 
 
-#: cmdline/apt-get.cc:2476
+#: cmdline/apt-get.cc:2495
 msgid ""
 msgid ""
 "Usage: apt-get [options] command\n"
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1206,19 +1217,19 @@ msgstr ""
 msgid "Failed to create pipes"
 msgid "Failed to create pipes"
 msgstr ""
 msgstr ""
 
 
-#: apt-inst/contrib/extracttar.cc:143
+#: apt-inst/contrib/extracttar.cc:144
 msgid "Failed to exec gzip "
 msgid "Failed to exec gzip "
 msgstr ""
 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"
 msgid "Corrupted archive"
 msgstr ""
 msgstr ""
 
 
-#: apt-inst/contrib/extracttar.cc:195
+#: apt-inst/contrib/extracttar.cc:196
 msgid "Tar checksum failed, archive corrupted"
 msgid "Tar checksum failed, archive corrupted"
 msgstr ""
 msgstr ""
 
 
-#: apt-inst/contrib/extracttar.cc:298
+#: apt-inst/contrib/extracttar.cc:299
 #, c-format
 #, c-format
 msgid "Unknown TAR header type %u, member %s"
 msgid "Unknown TAR header type %u, member %s"
 msgstr ""
 msgstr ""
@@ -1493,12 +1504,12 @@ msgstr ""
 msgid "File not found"
 msgid "File not found"
 msgstr ""
 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
 #: methods/gzip.cc:142
 msgid "Failed to stat"
 msgid "Failed to stat"
 msgstr ""
 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"
 msgid "Failed to set modification time"
 msgstr ""
 msgstr ""
 
 
@@ -1708,38 +1719,38 @@ msgstr ""
 msgid "Unable to connect to %s %s:"
 msgid "Unable to connect to %s %s:"
 msgstr ""
 msgstr ""
 
 
-#: methods/gpgv.cc:64
+#: methods/gpgv.cc:65
 #, c-format
 #, c-format
 msgid "Couldn't access keyring: '%s'"
 msgid "Couldn't access keyring: '%s'"
 msgstr ""
 msgstr ""
 
 
-#: methods/gpgv.cc:99
+#: methods/gpgv.cc:100
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgstr ""
 msgstr ""
 
 
-#: methods/gpgv.cc:198
+#: methods/gpgv.cc:204
 msgid ""
 msgid ""
 "Internal error: Good signature, but could not determine key fingerprint?!"
 "Internal error: Good signature, but could not determine key fingerprint?!"
 msgstr ""
 msgstr ""
 
 
-#: methods/gpgv.cc:203
+#: methods/gpgv.cc:209
 msgid "At least one invalid signature was encountered."
 msgid "At least one invalid signature was encountered."
 msgstr ""
 msgstr ""
 
 
-#: methods/gpgv.cc:207
+#: methods/gpgv.cc:213
 #, c-format
 #, c-format
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
 msgstr ""
 msgstr ""
 
 
-#: methods/gpgv.cc:212
+#: methods/gpgv.cc:218
 msgid "Unknown error executing gpgv"
 msgid "Unknown error executing gpgv"
 msgstr ""
 msgstr ""
 
 
-#: methods/gpgv.cc:243
+#: methods/gpgv.cc:249
 msgid "The following signatures were invalid:\n"
 msgid "The following signatures were invalid:\n"
 msgstr ""
 msgstr ""
 
 
-#: methods/gpgv.cc:250
+#: methods/gpgv.cc:256
 msgid ""
 msgid ""
 "The following signatures couldn't be verified because the public key is not "
 "The following signatures couldn't be verified because the public key is not "
 "available:\n"
 "available:\n"
@@ -2129,12 +2140,12 @@ msgstr ""
 msgid "Failed to write temporary StateFile %s"
 msgid "Failed to write temporary StateFile %s"
 msgstr ""
 msgstr ""
 
 
-#: apt-pkg/tagfile.cc:72
+#: apt-pkg/tagfile.cc:85 apt-pkg/tagfile.cc:92
 #, c-format
 #, c-format
 msgid "Unable to parse package file %s (1)"
 msgid "Unable to parse package file %s (1)"
 msgstr ""
 msgstr ""
 
 
-#: apt-pkg/tagfile.cc:103
+#: apt-pkg/tagfile.cc:186
 #, c-format
 #, c-format
 msgid "Unable to parse package file %s (2)"
 msgid "Unable to parse package file %s (2)"
 msgstr ""
 msgstr ""

+ 4 - 4
po/bg.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.6\n"
 "Project-Id-Version: apt 0.6\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-03-31 22:05+0300\n"
 "Last-Translator: Yavor Doganov <yavor@doganov.org>\n"
 "Last-Translator: Yavor Doganov <yavor@doganov.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -2306,15 +2306,15 @@ msgstr "незадължителен"
 msgid "extra"
 msgid "extra"
 msgstr "допълнителен"
 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"
 msgid "Building dependency tree"
 msgstr "Изграждане на дървото със зависимости"
 msgstr "Изграждане на дървото със зависимости"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Версии кандидати"
 msgstr "Версии кандидати"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Генериране на зависимости"
 msgstr "Генериране на зависимости"
 
 

+ 4 - 4
po/bs.po

@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.5.26\n"
 "Project-Id-Version: apt 0.5.26\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2004-05-06 15:25+0100\n"
 "Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
 "Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
 "Language-Team: Bosnian <lokal@lugbih.org>\n"
 "Language-Team: Bosnian <lokal@lugbih.org>\n"
@@ -2109,15 +2109,15 @@ msgstr "opcionalno"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Gradim stablo zavisnosti"
 msgstr "Gradim stablo zavisnosti"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Verzije kandidata"
 msgstr "Verzije kandidata"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Stvaranje zavisnosti"
 msgstr "Stvaranje zavisnosti"
 
 

+ 4 - 4
po/ca.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.6\n"
 "Project-Id-Version: apt 0.6\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-02-05 22:00+0100\n"
 "Last-Translator: Jordi Mallach <jordi@debian.org>\n"
 "Last-Translator: Jordi Mallach <jordi@debian.org>\n"
 "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
 "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -2298,15 +2298,15 @@ msgstr "opcional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "S'està construint l'arbre de dependències"
 msgstr "S'està construint l'arbre de dependències"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versions candidates"
 msgstr "Versions candidates"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Dependències que genera"
 msgstr "Dependències que genera"
 
 

+ 4 - 4
po/cs.po

@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-05-14 18:36+0200\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -2269,15 +2269,15 @@ msgstr "volitelný"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Vytvářím strom závislostí"
 msgstr "Vytvářím strom závislostí"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Kandidátské verze"
 msgstr "Kandidátské verze"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Generování závislostí"
 msgstr "Generování závislostí"
 
 

+ 4 - 4
po/cy.po

@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: APT\n"
 "Project-Id-Version: APT\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-06-06 13:46+0100\n"
 "Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n"
 "Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n"
 "Language-Team: Welsh <cy@pengwyn.linux.org.uk>\n"
 "Language-Team: Welsh <cy@pengwyn.linux.org.uk>\n"
@@ -2363,17 +2363,17 @@ msgstr "opsiynnol"
 msgid "extra"
 msgid "extra"
 msgstr "ychwanegol"
 msgstr "ychwanegol"
 
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 #, fuzzy
 #, fuzzy
 msgid "Building dependency tree"
 msgid "Building dependency tree"
 msgstr "Yn Aideladu Coeden Dibyniaeth"
 msgstr "Yn Aideladu Coeden Dibyniaeth"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 #, fuzzy
 #, fuzzy
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Fersiynau Posib"
 msgstr "Fersiynau Posib"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 #, fuzzy
 #, fuzzy
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Cynhyrchaid Dibyniaeth"
 msgstr "Cynhyrchaid Dibyniaeth"

+ 4 - 4
po/da.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt-da\n"
 "Project-Id-Version: apt-da\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-01-20 22:23+0100\n"
 "Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
 "Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -2283,15 +2283,15 @@ msgstr "frivillig"
 msgid "extra"
 msgid "extra"
 msgstr "ekstra"
 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"
 msgid "Building dependency tree"
 msgstr "Opbygger afhængighedstræ"
 msgstr "Opbygger afhængighedstræ"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Kandidatversioner"
 msgstr "Kandidatversioner"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Afhængighedsgenerering"
 msgstr "Afhængighedsgenerering"
 
 

+ 4 - 4
po/de.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.5.26\n"
 "Project-Id-Version: apt 0.5.26\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-06-15 18:22+0200\n"
 "Last-Translator: Michael Piefel <piefel@debian.org>\n"
 "Last-Translator: Michael Piefel <piefel@debian.org>\n"
 "Language-Team:  <de@li.org>\n"
 "Language-Team:  <de@li.org>\n"
@@ -2322,15 +2322,15 @@ msgstr "optional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Abhängigkeitsbaum wird aufgebaut"
 msgstr "Abhängigkeitsbaum wird aufgebaut"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Mögliche Versionen"
 msgstr "Mögliche Versionen"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Abhängigkeits-Generierung"
 msgstr "Abhängigkeits-Generierung"
 
 

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2762 - 0
po/dz.po


+ 4 - 4
po/el.po

@@ -18,7 +18,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt_po_el_new\n"
 "Project-Id-Version: apt_po_el_new\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-01-18 15:16+0200\n"
 "Last-Translator: Konstantinos Margaritis <markos@debian.org>\n"
 "Last-Translator: Konstantinos Margaritis <markos@debian.org>\n"
 "Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n"
 "Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n"
@@ -2320,15 +2320,15 @@ msgstr "προαιρετικό"
 msgid "extra"
 msgid "extra"
 msgstr "επιπλέον"
 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"
 msgid "Building dependency tree"
 msgstr "Κατασκευή Δένδρου Εξαρτήσεων"
 msgstr "Κατασκευή Δένδρου Εξαρτήσεων"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Υποψήφιες Εκδόσεις"
 msgstr "Υποψήφιες Εκδόσεις"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Παραγωγή Εξαρτήσεων"
 msgstr "Παραγωγή Εξαρτήσεων"
 
 

+ 4 - 4
po/en_GB.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.5.5\n"
 "Project-Id-Version: apt 0.5.5\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2002-11-10 20:56+0100\n"
 "Last-Translator: Neil Williams <linux@codehelp.co.uk>\n"
 "Last-Translator: Neil Williams <linux@codehelp.co.uk>\n"
 "Language-Team: en_GB <en@li.org>\n"
 "Language-Team: en_GB <en@li.org>\n"
@@ -2272,15 +2272,15 @@ msgstr "optional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Building dependency tree"
 msgstr "Building dependency tree"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Candidate versions"
 msgstr "Candidate versions"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Dependency generation"
 msgstr "Dependency generation"
 
 

+ 4 - 4
po/es.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.6.42.3exp1\n"
 "Project-Id-Version: apt 0.6.42.3exp1\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-11-16 17:37+0100\n"
 "Last-Translator: Rubén Porras Campo <nahoo@inicia.es>\n"
 "Last-Translator: Rubén Porras Campo <nahoo@inicia.es>\n"
 "Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
 "Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -2307,15 +2307,15 @@ msgstr "opcional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Creando árbol de dependencias"
 msgstr "Creando árbol de dependencias"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versiones candidatas"
 msgstr "Versiones candidatas"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Generación de dependencias"
 msgstr "Generación de dependencias"
 
 

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 208 - 191
po/eu.po


+ 4 - 4
po/fi.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.5.26\n"
 "Project-Id-Version: apt 0.5.26\n"
 "Report-Msgid-Bugs-To: \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-15 14:09+0200\n"
 "PO-Revision-Date: 2005-02-15 14:09+0200\n"
 "Last-Translator: Tapio Lehtonen <tale@debian.org>\n"
 "Last-Translator: Tapio Lehtonen <tale@debian.org>\n"
 "Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
 "Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
@@ -2285,15 +2285,15 @@ msgstr "valinnainen"
 msgid "extra"
 msgid "extra"
 msgstr "ylimääräinen"
 msgstr "ylimääräinen"
 
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgid "Building dependency tree"
 msgstr "Muodostetaan riippuvuussuhteiden puu"
 msgstr "Muodostetaan riippuvuussuhteiden puu"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Mahdolliset versiot"
 msgstr "Mahdolliset versiot"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Luodaan riippuvuudet"
 msgstr "Luodaan riippuvuudet"
 
 

+ 4 - 4
po/fr.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-05-18 09:31-0500\n"
 "Last-Translator: Christian Perrier <bubulle@debian.org>\n"
 "Last-Translator: Christian Perrier <bubulle@debian.org>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -2327,15 +2327,15 @@ msgstr "optionnel"
 msgid "extra"
 msgid "extra"
 msgstr "supplémentaire"
 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"
 msgid "Building dependency tree"
 msgstr "Construction de l'arbre des dépendances"
 msgstr "Construction de l'arbre des dépendances"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versions possibles"
 msgstr "Versions possibles"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Génération des dépendances"
 msgstr "Génération des dépendances"
 
 

+ 5 - 5
po/gl.po

@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-05-11 18:09+0200\n"
 "Last-Translator: Jacobo Tarrío <jtarrio@debian.org>\n"
 "Last-Translator: Jacobo Tarrío <jtarrio@debian.org>\n"
 "Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
 "Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
@@ -15,7 +15,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 
 #: cmdline/apt-cache.cc:135
 #: cmdline/apt-cache.cc:135
-#, c-format 
+#, c-format
 msgid "Package %s version %s has an unmet dep:\n"
 msgid "Package %s version %s has an unmet dep:\n"
 msgstr "O paquete %s versión %s ten unha dependencia incumprida:\n"
 msgstr "O paquete %s versión %s ten unha dependencia incumprida:\n"
 
 
@@ -2297,15 +2297,15 @@ msgstr "opcional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "A construír a árbore de dependencias"
 msgstr "A construír a árbore de dependencias"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versións candidatas"
 msgstr "Versións candidatas"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Xeración de dependencias"
 msgstr "Xeración de dependencias"
 
 

+ 51 - 52
po/hu.po

@@ -1,21 +1,23 @@
-# Advanced Package Transfer - APT message translation catalog
-# Hungarian messages
-# PASZTOR Gyorgy <pasztor@linux.gyakg.u-szeged.hu>, 2002.
-# Gabor Kelemen <kelemeng@gnome.hu>, 2004, 2005.
-# 
+# Advanced Package Transfer - APT message translation catalog
+# Hungarian messages
+# PASZTOR Gyorgy <pasztor@linux.gyakg.u-szeged.hu>, 2002.
+# Gabor Kelemen <kelemeng@gnome.hu>, 2004, 2005.
+#
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: hu\n"
 "Project-Id-Version: hu\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
-"PO-Revision-Date: 2006-04-30 06:14+0100\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
+"PO-Revision-Date: 2006-07-02 07:34+0100\n"
 "Last-Translator: SZERVÑC Attila <sas@321.hu>\n"
 "Last-Translator: SZERVÑC Attila <sas@321.hu>\n"
-"Language-Team: Hungarian <gnome@gnome.hu>\n"
+"Language-Team: Hungarian <debian-l10-hungarian>\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.3.1\n"
 "X-Generator: KBabel 1.3.1\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
+"X-Poedit-Language: Hungarian\n"
+"X-Poedit-Country: HUNGARY\n"
 
 
 #: cmdline/apt-cache.cc:135
 #: cmdline/apt-cache.cc:135
 #, c-format
 #, c-format
@@ -337,7 +339,6 @@ msgid "Error processing contents %s"
 msgstr "Hiba %s tartalmának feldolgozásakor"
 msgstr "Hiba %s tartalmának feldolgozásakor"
 
 
 #: ftparchive/apt-ftparchive.cc:556
 #: ftparchive/apt-ftparchive.cc:556
-#, fuzzy
 msgid ""
 msgid ""
 "Usage: apt-ftparchive [options] command\n"
 "Usage: apt-ftparchive [options] command\n"
 "Commands: packages binarypath [overridefile [pathprefix]]\n"
 "Commands: packages binarypath [overridefile [pathprefix]]\n"
@@ -390,13 +391,13 @@ msgstr ""
 "sok stílusát támogatja, a teljesen automatizálttól kezdve a\n"
 "sok stílusát támogatja, a teljesen automatizálttól kezdve a\n"
 "dpkg-scanpackages és a dpkg-scansources funkcionális helyettesítéséig.\n"
 "dpkg-scanpackages és a dpkg-scansources funkcionális helyettesítéséig.\n"
 "\n"
 "\n"
-"Az apt-ftparchive 'Package' fájlokat generál a .deb-ek fájából. A Package\n"
+"Az apt-ftparchive Package fájlokat generál a .deb-ek fájából. A Package\n"
 "fájl minden vezérlő mezőt tartalmaz minden egyes csomagról úgy az MD5\n"
 "fájl minden vezérlő mezőt tartalmaz minden egyes csomagról úgy az MD5\n"
 "hasht mint a fájlméretet. Az override (felülbíráló) fájl támogatott a\n"
 "hasht mint a fájlméretet. Az override (felülbíráló) fájl támogatott a\n"
 "Prioritás és Szekció mezők értékének kényszerítésére.\n"
 "Prioritás és Szekció mezők értékének kényszerítésére.\n"
 "\n"
 "\n"
-"Hasonlóképpen az apt-ftparchive 'Sources' fájlokat generál .dsc-k fájából.\n"
-"A --source-override opció használható forrásfelülbíráló fájlok megadására\n"
+"Hasonlóképpen az apt-ftparchive Sources fájlokat generál .dsc-k fájából.\n"
+"A --source-override opció használható forrás-felülbíráló fájlok megadására\n"
 "\n"
 "\n"
 "A 'packages' és 'sources' parancsokat a fa gyökeréből kell futtatni.\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 BinaryPath-nak a rekurzív keresés kiindulópontjára kell mutatni és\n"
@@ -404,12 +405,12 @@ msgstr ""
 "előtag\n"
 "előtag\n"
 "hozzáadódik a fájlnév mezőkhöz, ha meg van adva. Felhasználására egy példa "
 "hozzáadódik a fájlnév mezőkhöz, ha meg van adva. Felhasználására egy példa "
 "a\n"
 "a\n"
-"debian archívumból:\n"
+"Debian archívumból:\n"
 "   apt-ftparchive packages dists/potato/main/binary-i386/ > \\\n"
 "   apt-ftparchive packages dists/potato/main/binary-i386/ > \\\n"
 "               dists/potato/main/binary-i386/Packages\n"
 "               dists/potato/main/binary-i386/Packages\n"
 "\n"
 "\n"
 "Opciók:\n"
 "Opciók:\n"
-"  -h    Ez a súgó szöveg\n"
+"  -h    E súgó szöveg\n"
 "  --md5 MD5 generálás vezérlése\n"
 "  --md5 MD5 generálás vezérlése\n"
 "  -s=?  Forrás felülbíráló fájl\n"
 "  -s=?  Forrás felülbíráló fájl\n"
 "  -q    Szűkszavú mód\n"
 "  -q    Szűkszavú mód\n"
@@ -775,7 +776,7 @@ msgstr "A hitelesítési figyelmeztetést átléptem.\n"
 
 
 #: cmdline/apt-get.cc:700
 #: cmdline/apt-get.cc:700
 msgid "Install these packages without verification [y/N]? "
 msgid "Install these packages without verification [y/N]? "
-msgstr "Valóban telepíted e csomagokat ellenőrzés nélkül (y/N)? "
+msgstr "Valóban telepíted e csomagokat ellenőrzés nélkül (i/N)? "
 
 
 #: cmdline/apt-get.cc:702
 #: cmdline/apt-get.cc:702
 msgid "Some packages could not be authenticated"
 msgid "Some packages could not be authenticated"
@@ -935,7 +936,7 @@ msgid ""
 "This may mean that the package is missing, has been obsoleted, or\n"
 "This may mean that the package is missing, has been obsoleted, or\n"
 "is only available from another source\n"
 "is only available from another source\n"
 msgstr ""
 msgstr ""
-"%s csomag nem elérhető, de egy másikhivatkozik rá\n"
+"%s csomag nem elérhető, de egy másik hivatkozik rá\n"
 ".A kért csomag tehát: hiányzik, elavult vagy csak más forrásból érhető el\n"
 ".A kért csomag tehát: hiányzik, elavult vagy csak más forrásból érhető el\n"
 
 
 #: cmdline/apt-get.cc:1110
 #: cmdline/apt-get.cc:1110
@@ -1095,12 +1096,12 @@ msgstr "Nincs elég szabad hely itt: %s"
 #: cmdline/apt-get.cc:1979
 #: cmdline/apt-get.cc:1979
 #, c-format
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgid "Need to get %sB/%sB of source archives.\n"
-msgstr "%sB/%sB forrásarchívot kell letölteni.\n"
+msgstr "%sB/%sB forrás-archívumot kell letölteni.\n"
 
 
 #: cmdline/apt-get.cc:1982
 #: cmdline/apt-get.cc:1982
 #, c-format
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgid "Need to get %sB of source archives.\n"
-msgstr "%sB forrásarchívumot kell letölteni.\n"
+msgstr "%sB forrás-archívumot kell letölteni.\n"
 
 
 #: cmdline/apt-get.cc:1988
 #: cmdline/apt-get.cc:1988
 #, c-format
 #, c-format
@@ -1167,7 +1168,7 @@ msgid ""
 "package %s can satisfy version requirements"
 "package %s can satisfy version requirements"
 msgstr ""
 msgstr ""
 "%s függősége ennek: %s, ez nem elégíthető ki, mert a(z) %s csomagnak nincs a "
 "%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."
+"verzió-követelményt kielégítő elérhető verziója."
 
 
 #: cmdline/apt-get.cc:2299
 #: cmdline/apt-get.cc:2299
 #, c-format
 #, c-format
@@ -1526,7 +1527,7 @@ msgstr "%sinfo nem érhető el"
 
 
 #: apt-inst/deb/dpkgdb.cc:123
 #: apt-inst/deb/dpkgdb.cc:123
 msgid "The info and temp directories need to be on the same filesystem"
 msgid "The info and temp directories need to be on the same filesystem"
-msgstr "Az info és temp könyvtáraknak ugyanazon a fájlrendszeren kell lenniük"
+msgstr "Az info és temp könyvtáraknak egy fájlrendszeren kell lenniük"
 
 
 #. Build the status cache
 #. Build the status cache
 #: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:643
 #: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:643
@@ -1590,7 +1591,7 @@ msgstr "Belső hiba egy eltérítés hozzáadásakor"
 
 
 #: apt-inst/deb/dpkgdb.cc:383
 #: apt-inst/deb/dpkgdb.cc:383
 msgid "The pkg cache must be initialized first"
 msgid "The pkg cache must be initialized first"
-msgstr "A csomag gyorsítótárnak előbb kell inicializálva lennie"
+msgstr "A csomag gyorstárnak előbb kell inicializálva lennie"
 
 
 #: apt-inst/deb/dpkgdb.cc:443
 #: apt-inst/deb/dpkgdb.cc:443
 #, c-format
 #, c-format
@@ -1782,7 +1783,7 @@ msgstr "Nem lehet PORT parancsot küldeni"
 #: methods/ftp.cc:789
 #: methods/ftp.cc:789
 #, c-format
 #, c-format
 msgid "Unknown address family %u (AF_*)"
 msgid "Unknown address family %u (AF_*)"
-msgstr "Ismeretlen a(z) %u címcsalád (AF_*)"
+msgstr "Ismeretlen %u címcsalád (AF_*)"
 
 
 #: methods/ftp.cc:798
 #: methods/ftp.cc:798
 #, c-format
 #, c-format
@@ -1852,7 +1853,7 @@ msgstr "Időtúllépés miatt nem lehet kapcsolódni a következőhöz: %s: %s (
 #: methods/connect.cc:108
 #: methods/connect.cc:108
 #, c-format
 #, c-format
 msgid "Could not connect to %s:%s (%s)."
 msgid "Could not connect to %s:%s (%s)."
-msgstr "Nem lehet ehhez: %s: %s (%s)."
+msgstr "Nem tudtam kapcsolódni ehhez: %s: %s (%s)."
 
 
 #. We say this mainly because the pause here is for the
 #. We say this mainly because the pause here is for the
 #. ssh connection that is still going
 #. ssh connection that is still going
@@ -1882,9 +1883,9 @@ msgid "Unable to connect to %s %s:"
 msgstr "Sikertelen kapcsolódás ide: %s %s:"
 msgstr "Sikertelen kapcsolódás ide: %s %s:"
 
 
 #: methods/gpgv.cc:64
 #: methods/gpgv.cc:64
-#, fuzzy, c-format
+#, c-format
 msgid "Couldn't access keyring: '%s'"
 msgid "Couldn't access keyring: '%s'"
-msgstr "Nem lehet feloldani a következőt: '%s' "
+msgstr "%s kulcstartó nem érhető el"
 
 
 #: methods/gpgv.cc:99
 #: methods/gpgv.cc:99
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
@@ -1893,16 +1894,16 @@ msgstr "H: Az Acquire::gpgv::Options argumentum lista túl hosszú. Kilépek."
 #: methods/gpgv.cc:198
 #: methods/gpgv.cc:198
 msgid ""
 msgid ""
 "Internal error: Good signature, but could not determine key fingerprint?!"
 "Internal error: Good signature, but could not determine key fingerprint?!"
-msgstr ""
+msgstr "Belső hiba: Jó aláírás, de meghatározhatatlan kulcs ujjlenyomat?!"
 
 
 #: methods/gpgv.cc:203
 #: methods/gpgv.cc:203
 msgid "At least one invalid signature was encountered."
 msgid "At least one invalid signature was encountered."
 msgstr "1 vagy több érvénytelen aláírást találtam."
 msgstr "1 vagy több érvénytelen aláírást találtam."
 
 
 #: methods/gpgv.cc:207
 #: methods/gpgv.cc:207
-#, fuzzy, c-format
+#, c-format
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
-msgstr " az aláírás igazolásához (a gnupg telepítve van?)"
+msgstr "'%s' nem futtatható az aláírás ellenőrzéséhez (a gnupg telepítve van?)"
 
 
 #: methods/gpgv.cc:212
 #: methods/gpgv.cc:212
 msgid "Unknown error executing gpgv"
 msgid "Unknown error executing gpgv"
@@ -1927,7 +1928,7 @@ msgstr "Nem lehet csövet nyitni ehhez: %s"
 #: methods/gzip.cc:102
 #: methods/gzip.cc:102
 #, c-format
 #, c-format
 msgid "Read error from %s process"
 msgid "Read error from %s process"
-msgstr "Olvasási hiba a(z) %s folyamattól"
+msgstr "Olvasási hiba %s folyamattól"
 
 
 #: methods/http.cc:376
 #: methods/http.cc:376
 msgid "Waiting for headers"
 msgid "Waiting for headers"
@@ -2002,7 +2003,7 @@ msgstr "Sikertelen kapcsolódás"
 msgid "Internal error"
 msgid "Internal error"
 msgstr "Belső hiba"
 msgstr "Belső hiba"
 
 
-# FIXME
+# FIXME
 #: apt-pkg/contrib/mmap.cc:82
 #: apt-pkg/contrib/mmap.cc:82
 msgid "Can't mmap an empty file"
 msgid "Can't mmap an empty file"
 msgstr "Nem lehet mmap-olni egy üres fájlt"
 msgstr "Nem lehet mmap-olni egy üres fájlt"
@@ -2015,7 +2016,7 @@ msgstr "Nem sikerült %lu bájtot mmap-olni"
 #: apt-pkg/contrib/strutl.cc:938
 #: apt-pkg/contrib/strutl.cc:938
 #, c-format
 #, c-format
 msgid "Selection %s not found"
 msgid "Selection %s not found"
-msgstr "A(z) %s kiválasztás nem található"
+msgstr "%s kiválasztás nem található"
 
 
 #: apt-pkg/contrib/configuration.cc:436
 #: apt-pkg/contrib/configuration.cc:436
 #, c-format
 #, c-format
@@ -2065,7 +2066,7 @@ msgstr "Szintaktikai hiba %s: %u: ugyaninnen include-olva"
 #: apt-pkg/contrib/configuration.cc:704
 #: apt-pkg/contrib/configuration.cc:704
 #, c-format
 #, c-format
 msgid "Syntax error %s:%u: Unsupported directive '%s'"
 msgid "Syntax error %s:%u: Unsupported directive '%s'"
-msgstr "Szintaktikai hiba %s: %u: '%s' nem támogatott előrás"
+msgstr "Szintaktikai hiba %s: %u: '%s' nem támogatott előírás"
 
 
 #: apt-pkg/contrib/configuration.cc:738
 #: apt-pkg/contrib/configuration.cc:738
 #, c-format
 #, c-format
@@ -2212,15 +2213,15 @@ msgstr "Hiba a fájl szinkronizálásakor"
 
 
 #: apt-pkg/pkgcache.cc:126
 #: apt-pkg/pkgcache.cc:126
 msgid "Empty package cache"
 msgid "Empty package cache"
-msgstr "Üres csomaggyorsítótár"
+msgstr "Üres csomag-gyorstár"
 
 
 #: apt-pkg/pkgcache.cc:132
 #: apt-pkg/pkgcache.cc:132
 msgid "The package cache file is corrupted"
 msgid "The package cache file is corrupted"
-msgstr "A csomaggyorsítótár-fájl megsérült"
+msgstr "A csomag-gyorstár fájl megsérült"
 
 
 #: apt-pkg/pkgcache.cc:137
 #: apt-pkg/pkgcache.cc:137
 msgid "The package cache file is an incompatible version"
 msgid "The package cache file is an incompatible version"
-msgstr "A csomaggyorsítótár-fájl inkompatibilis verziójú"
+msgstr "A csomag-gyorstár fájl inkompatibilis verziójú"
 
 
 #: apt-pkg/pkgcache.cc:142
 #: apt-pkg/pkgcache.cc:142
 #, c-format
 #, c-format
@@ -2229,7 +2230,7 @@ msgstr "Ez az APT nem támogatja a(z) '%s' verziórendszert"
 
 
 #: apt-pkg/pkgcache.cc:147
 #: apt-pkg/pkgcache.cc:147
 msgid "The package cache was built for a different architecture"
 msgid "The package cache was built for a different architecture"
-msgstr "A csomaggyorsítótár egy másik architektúrához készült"
+msgstr "A csomag-gyorstár egy másik architektúrához készült"
 
 
 #: apt-pkg/pkgcache.cc:218
 #: apt-pkg/pkgcache.cc:218
 msgid "Depends"
 msgid "Depends"
@@ -2279,15 +2280,15 @@ msgstr "opcionális"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Függőségi fa építése"
 msgstr "Függőségi fa építése"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Lehetséges verziók"
 msgstr "Lehetséges verziók"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Függőség-generálás"
 msgstr "Függőség-generálás"
 
 
@@ -2400,14 +2401,14 @@ msgstr "%spartial archívumkönyvtár hiányzik."
 #. only show the ETA if it makes sense
 #. only show the ETA if it makes sense
 #. two days
 #. two days
 #: apt-pkg/acquire.cc:823
 #: apt-pkg/acquire.cc:823
-#, fuzzy, c-format
+#, c-format
 msgid "Retrieving file %li of %li (%s remaining)"
 msgid "Retrieving file %li of %li (%s remaining)"
-msgstr "Fájlletöltés: %li/%li (%s van hátra)"
+msgstr "%li/%li fájl letöltése (%s marad)"
 
 
 #: apt-pkg/acquire.cc:825
 #: apt-pkg/acquire.cc:825
-#, fuzzy, c-format
+#, c-format
 msgid "Retrieving file %li of %li"
 msgid "Retrieving file %li of %li"
-msgstr "Fájllista olvasása"
+msgstr "%li/%li fájl letöltése"
 
 
 #: apt-pkg/acquire-worker.cc:113
 #: apt-pkg/acquire-worker.cc:113
 #, c-format
 #, c-format
@@ -2539,7 +2540,7 @@ msgstr ""
 msgid "Couldn't stat source package list %s"
 msgid "Couldn't stat source package list %s"
 msgstr "Nem lehet a(z) %s forrás csomaglistáját elérni"
 msgstr "Nem lehet a(z) %s forrás csomaglistáját elérni"
 
 
-# FIXME
+# FIXME
 #: apt-pkg/pkgcachegen.cc:658
 #: apt-pkg/pkgcachegen.cc:658
 msgid "Collecting File Provides"
 msgid "Collecting File Provides"
 msgstr "\"Előkészít\" kapcsolatok összegyűjtése"
 msgstr "\"Előkészít\" kapcsolatok összegyűjtése"
@@ -2636,11 +2637,9 @@ msgid "Scanning disc for index files..\n"
 msgstr "Indexfájlok keresése a lemezen...\n"
 msgstr "Indexfájlok keresése a lemezen...\n"
 
 
 #: apt-pkg/cdrom.cc:647
 #: apt-pkg/cdrom.cc:647
-#, fuzzy, c-format
+#, c-format
 msgid "Found %i package indexes, %i source indexes and %i signatures\n"
 msgid "Found %i package indexes, %i source indexes and %i signatures\n"
-msgstr ""
-"%i csomagindexet, %i forrásindexet, %i fordításindexet és %i aláírást "
-"találtam\n"
+msgstr "%i csomagindexet, %i forrásindexet és %i aláírást találtam\n"
 
 
 #: apt-pkg/cdrom.cc:710
 #: apt-pkg/cdrom.cc:710
 msgid "That is not a valid name, try again.\n"
 msgid "That is not a valid name, try again.\n"
@@ -2732,14 +2731,14 @@ msgid "Removed %s"
 msgstr "Eltávolított %s"
 msgstr "Eltávolított %s"
 
 
 #: apt-pkg/deb/dpkgpm.cc:378
 #: apt-pkg/deb/dpkgpm.cc:378
-#, fuzzy, c-format
+#, c-format
 msgid "Preparing to completely remove %s"
 msgid "Preparing to completely remove %s"
-msgstr "%s konfigurálásának előkészítése"
+msgstr "%s teljes eltávolítása előkészítése"
 
 
 #: apt-pkg/deb/dpkgpm.cc:379
 #: apt-pkg/deb/dpkgpm.cc:379
-#, fuzzy, c-format
+#, c-format
 msgid "Completely removed %s"
 msgid "Completely removed %s"
-msgstr "%s eltávolítása sikertelen"
+msgstr "%s teljesen eltávolítva"
 
 
 #: methods/rsh.cc:330
 #: methods/rsh.cc:330
 msgid "Connection closed prematurely"
 msgid "Connection closed prematurely"

+ 4 - 4
po/it.po

@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.5.5\n"
 "Project-Id-Version: apt 0.5.5\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-02-14 11:41+0100\n"
 "Last-Translator: Samuele Giovanni Tonon <samu@debian.org>\n"
 "Last-Translator: Samuele Giovanni Tonon <samu@debian.org>\n"
 "Language-Team: Italian <it@li.org>\n"
 "Language-Team: Italian <it@li.org>\n"
@@ -2309,15 +2309,15 @@ msgstr "opzionale"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Generazione dell'albero delle dipendenze in corso"
 msgstr "Generazione dell'albero delle dipendenze in corso"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versioni candidate"
 msgstr "Versioni candidate"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Generazione delle dipendenze"
 msgstr "Generazione delle dipendenze"
 
 

+ 4 - 4
po/ja.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.6\n"
 "Project-Id-Version: apt 0.6\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-01-25 20:55+0900\n"
 "Last-Translator: Kenshi Muto <kmuto@debian.org>\n"
 "Last-Translator: Kenshi Muto <kmuto@debian.org>\n"
 "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
 "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n"
@@ -2289,15 +2289,15 @@ msgstr "任意"
 msgid "extra"
 msgid "extra"
 msgstr "特別"
 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"
 msgid "Building dependency tree"
 msgstr "依存関係ツリーを作成しています"
 msgstr "依存関係ツリーを作成しています"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "候補バージョン"
 msgstr "候補バージョン"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "依存関係の生成"
 msgstr "依存関係の生成"
 
 

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2732 - 0
po/km.po


+ 77 - 86
po/ko.po

@@ -1,13 +1,14 @@
-# Changwoo Ryu <cwryu@debian.org>, 2004-2005.
-# 
+# Sunjae Park <darehanl@gmail.com>, 2006.
+# Changwoo Ryu <cwryu@debian.org>, 2004-2005.
+#
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
-"PO-Revision-Date: 2005-02-10 21:56+0900\n"
-"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
-"Language-Team: Korean <cwryu@debian.org>\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
+"PO-Revision-Date: 2006-07-20 00:28+0900\n"
+"Last-Translator: Sunjae Park <darehanl@gmail.com>\n"
+"Language-Team: Korean <debian-l10n-korean@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -226,19 +227,15 @@ msgstr ""
 
 
 #: cmdline/apt-cdrom.cc:78
 #: cmdline/apt-cdrom.cc:78
 msgid "Please provide a name for this Disc, such as 'Debian 2.1r1 Disk 1'"
 msgid "Please provide a name for this Disc, such as 'Debian 2.1r1 Disk 1'"
-msgstr ""
+msgstr "이 디스크를 위해 'Debian 2.1r1 Disk 1'와 같은 이름을 지정해주십시오"
 
 
 #: cmdline/apt-cdrom.cc:93
 #: cmdline/apt-cdrom.cc:93
-#, fuzzy
 msgid "Please insert a Disc in the drive and press enter"
 msgid "Please insert a Disc in the drive and press enter"
-msgstr ""
-"미디어 바꾸기: '%2$s' 드라이브에 다음 레이블이 달린\n"
-"디스크를 넣고 enter를 누르십시오\n"
-" '%1$s'\n"
+msgstr "드라이브에 디스크를 넣고 엔터를 누르십시오"
 
 
 #: cmdline/apt-cdrom.cc:117
 #: cmdline/apt-cdrom.cc:117
 msgid "Repeat this process for the rest of the CDs in your set."
 msgid "Repeat this process for the rest of the CDs in your set."
-msgstr ""
+msgstr "현재 갖고 있는 다른 CD에도 이 과정을 반복하십시오."
 
 
 #: cmdline/apt-config.cc:41
 #: cmdline/apt-config.cc:41
 msgid "Arguments not in pairs"
 msgid "Arguments not in pairs"
@@ -335,7 +332,6 @@ msgid "Error processing contents %s"
 msgstr "%s 컨텐츠를 처리하는 데 오류가 발생했습니다"
 msgstr "%s 컨텐츠를 처리하는 데 오류가 발생했습니다"
 
 
 #: ftparchive/apt-ftparchive.cc:556
 #: ftparchive/apt-ftparchive.cc:556
-#, fuzzy
 msgid ""
 msgid ""
 "Usage: apt-ftparchive [options] command\n"
 "Usage: apt-ftparchive [options] command\n"
 "Commands: packages binarypath [overridefile [pathprefix]]\n"
 "Commands: packages binarypath [overridefile [pathprefix]]\n"
@@ -385,34 +381,34 @@ msgstr ""
 "      clean 설정\n"
 "      clean 설정\n"
 "\n"
 "\n"
 "apt-ftparchive는 데비안 아카이브용 인덱스 파일을 만듭니다. 이 프로그램은\n"
 "apt-ftparchive는 데비안 아카이브용 인덱스 파일을 만듭니다. 이 프로그램은\n"
-"여러가지 종류의 인덱스 파일 만들기를 지원합니다 -- 완전 자동에서부터\n"
+"여러 종류의 인덱스 파일 만드는 작업을 지원합니다 -- 완전 자동화 작업부터\n"
 "dpkg-scanpackages와 dpkg-scansources의 기능을 대체하기도 합니다.\n"
 "dpkg-scanpackages와 dpkg-scansources의 기능을 대체하기도 합니다.\n"
 "\n"
 "\n"
 "apt-ftparchive는 .deb 파일의 트리에서부터 Package 파일을 만듭니다.\n"
 "apt-ftparchive는 .deb 파일의 트리에서부터 Package 파일을 만듭니다.\n"
-"Package 파일에는 각 꾸러미의 모든 컨트롤 필드는 물론 MD5 해시와 파일\n"
-"크기도 들어 있습니다. override 파일을 이용해 우선 순위와 섹션 값을 \n"
+"Package 파일에는 각 꾸러미의 모든 제어 필드는 물론 MD5 해시와 파일\n"
+"크기도 들어 있습니다. override 파일을 이용해 Priority와 Section의 값을 \n"
 "강제로 설정할 수 있습니다\n"
 "강제로 설정할 수 있습니다\n"
 "\n"
 "\n"
-"비슷하게 apt-ftparchive는 .dsc 파일의 트리에서부터 Sources 파일을\n"
+"이와 비슷하게 apt-ftparchive는 .dsc 파일의 트리에서 Sources 파일을\n"
 "만듭니다. --source-override 옵션을 이용해 소스 override 파일을\n"
 "만듭니다. --source-override 옵션을 이용해 소스 override 파일을\n"
 "지정할 수 있습니다.\n"
 "지정할 수 있습니다.\n"
 "\n"
 "\n"
 "'packages'와 'sources' 명령은 해당 트리의 맨 위에서 실행해야 합니다.\n"
 "'packages'와 'sources' 명령은 해당 트리의 맨 위에서 실행해야 합니다.\n"
-"\"바이너리경로\"는 서치할 때 기준 위치를 가리켜야 하고 \"override파일\"은\n"
-"override 플래그들이 들어 있어야 합니다. \"경로앞부분\"은 각각의 파일 이름\n"
-"필드에 더해 집니다. 예를 들어 데비안 아카이브는 다음과 같이 사용합니다:\n"
+"\"바이너리경로\"는 검색할 때의 기준 위치를 가리키며 \"override파일\"에는\n"
+"override 플래그들을 담고 있습니다. \"경로앞부분\"은 각 파일 이름\n"
+"필드의 앞에 더해 집니다. 데비안 아카이브에 있는 예를 하나 들자면:\n"
 "\n"
 "\n"
 "   apt-ftparchive packages dists/potato/main/binary-i386/ > \\\n"
 "   apt-ftparchive packages dists/potato/main/binary-i386/ > \\\n"
 "               dists/potato/main/binary-i386/Packages\n"
 "               dists/potato/main/binary-i386/Packages\n"
 "\n"
 "\n"
 "옵션:\n"
 "옵션:\n"
 "  -h    이 도움말\n"
 "  -h    이 도움말\n"
-"  --md5 MD5 만들기를 컨트롤합니다\n"
+"  --md5 MD5 만들기 작업을 제어합니다\n"
 "  -s=?  소스 override 파일\n"
 "  -s=?  소스 override 파일\n"
 "  -q    조용히\n"
 "  -q    조용히\n"
 "  -d=?  캐시 데이터베이스를 직접 설정합니다\n"
 "  -d=?  캐시 데이터베이스를 직접 설정합니다\n"
 "  --no-delink 디버깅 모드 지우기를 사용합니다\n"
 "  --no-delink 디버깅 모드 지우기를 사용합니다\n"
-"  --contents  컨텐츠 파일을 만들기를 컨트롤합니다\n"
+"  --contents  컨텐츠 파일을 만드는 적업을 제어합니다\n"
 "  -c=?  이 설정 파일을 읽습니다\n"
 "  -c=?  이 설정 파일을 읽습니다\n"
 "  -o=?  임의의 옵션을 설정합니다"
 "  -o=?  임의의 옵션을 설정합니다"
 
 
@@ -449,7 +445,7 @@ msgstr "%s 파일의 마지막 수정 시각이 바뀌엇습니다"
 msgid "Archive has no control record"
 msgid "Archive has no control record"
 msgstr "아카이브에 컨트롤 기록이 없습니다"
 msgstr "아카이브에 컨트롤 기록이 없습니다"
 
 
-# FIXME: 왠 커서??
+# FIXME: 왠 커서??
 #: ftparchive/cachedb.cc:267
 #: ftparchive/cachedb.cc:267
 msgid "Unable to get a cursor"
 msgid "Unable to get a cursor"
 msgstr "커서를 가져올 수 없습니다"
 msgstr "커서를 가져올 수 없습니다"
@@ -490,7 +486,7 @@ msgstr "트리에서 이동이 실패했습니다"
 msgid "Failed to open %s"
 msgid "Failed to open %s"
 msgstr "%s 파일을 여는 데 실패했습니다"
 msgstr "%s 파일을 여는 데 실패했습니다"
 
 
-# FIXME: ??
+# FIXME: ??
 #: ftparchive/writer.cc:245
 #: ftparchive/writer.cc:245
 #, c-format
 #, c-format
 msgid " DeLink %s [%s]\n"
 msgid " DeLink %s [%s]\n"
@@ -704,7 +700,6 @@ msgid "%s (due to %s) "
 msgstr "%s (%s때문에) "
 msgstr "%s (%s때문에) "
 
 
 #: cmdline/apt-get.cc:546
 #: cmdline/apt-get.cc:546
-#, fuzzy
 msgid ""
 msgid ""
 "WARNING: The following essential packages will be removed.\n"
 "WARNING: The following essential packages will be removed.\n"
 "This should NOT be done unless you know exactly what you are doing!"
 "This should NOT be done unless you know exactly what you are doing!"
@@ -772,7 +767,7 @@ msgstr "경고: 다음 꾸러미를 인증할 수 없습니다!"
 
 
 #: cmdline/apt-get.cc:693
 #: cmdline/apt-get.cc:693
 msgid "Authentication warning overridden.\n"
 msgid "Authentication warning overridden.\n"
-msgstr ""
+msgstr "인증 경고를 무시합니다.\n"
 
 
 #: cmdline/apt-get.cc:700
 #: cmdline/apt-get.cc:700
 msgid "Install these packages without verification [y/N]? "
 msgid "Install these packages without verification [y/N]? "
@@ -788,16 +783,15 @@ msgstr "문제가 발생했고 -y 옵션이 --force-yes 옵션 없이 사용되
 
 
 #: cmdline/apt-get.cc:755
 #: cmdline/apt-get.cc:755
 msgid "Internal error, InstallPackages was called with broken packages!"
 msgid "Internal error, InstallPackages was called with broken packages!"
-msgstr ""
+msgstr "내부 오류. 망가진 꾸러미에서 InstallPackages를 호출했습니다!"
 
 
 #: cmdline/apt-get.cc:764
 #: cmdline/apt-get.cc:764
 msgid "Packages need to be removed but remove is disabled."
 msgid "Packages need to be removed but remove is disabled."
 msgstr "꾸러미를 지워야 하지만 지우기가 금지되어 있습니다."
 msgstr "꾸러미를 지워야 하지만 지우기가 금지되어 있습니다."
 
 
 #: cmdline/apt-get.cc:775
 #: cmdline/apt-get.cc:775
-#, fuzzy
 msgid "Internal error, Ordering didn't finish"
 msgid "Internal error, Ordering didn't finish"
-msgstr "diversion을 추가하는 데 내부 오류"
+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"
 msgid "Unable to lock the download directory"
@@ -811,6 +805,8 @@ msgstr "소스 목록을 읽을 수 없습니다."
 #: cmdline/apt-get.cc:816
 #: cmdline/apt-get.cc:816
 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
 msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
 msgstr ""
 msgstr ""
+"이상하게도 크기가 서로 다릅니다. apt@packages.debian.org로 이메일을 보내주십"
+"시오."
 
 
 #: cmdline/apt-get.cc:821
 #: cmdline/apt-get.cc:821
 #, c-format
 #, c-format
@@ -833,9 +829,9 @@ msgid "After unpacking %sB disk space will be freed.\n"
 msgstr "압축을 풀면 %s바이트의 디스크 공간이 비워집니다.\n"
 msgstr "압축을 풀면 %s바이트의 디스크 공간이 비워집니다.\n"
 
 
 #: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1971
 #: cmdline/apt-get.cc:846 cmdline/apt-get.cc:1971
-#, fuzzy, c-format
+#, c-format
 msgid "Couldn't determine free space in %s"
 msgid "Couldn't determine free space in %s"
-msgstr "%s에 충분한 공간이 없습니다"
+msgstr "%s의 여유 공간의 크기를 파악할 수 없습니다"
 
 
 #: cmdline/apt-get.cc:849
 #: cmdline/apt-get.cc:849
 #, c-format
 #, c-format
@@ -848,19 +844,19 @@ msgstr ""
 "사소한 작업만 가능하도록(Trivial Only) 지정되었지만 이 작업은 사소한 작업이 "
 "사소한 작업만 가능하도록(Trivial Only) 지정되었지만 이 작업은 사소한 작업이 "
 "아닙니다."
 "아닙니다."
 
 
-# 입력을 받아야 한다.  한글 입력을 못 할 수 있으므로 원문 그대로 사용.
+# 입력을 받아야 한다.  한글 입력을 못 할 수 있으므로 원문 그대로 사용.
 #: cmdline/apt-get.cc:866
 #: cmdline/apt-get.cc:866
 msgid "Yes, do as I say!"
 msgid "Yes, do as I say!"
 msgstr "Yes, do as I say!"
 msgstr "Yes, do as I say!"
 
 
 #: cmdline/apt-get.cc:868
 #: cmdline/apt-get.cc:868
-#, fuzzy, c-format
+#, c-format
 msgid ""
 msgid ""
 "You are about to do something potentially harmful.\n"
 "You are about to do something potentially harmful.\n"
 "To continue type in the phrase '%s'\n"
 "To continue type in the phrase '%s'\n"
 " ?] "
 " ?] "
 msgstr ""
 msgstr ""
-"무언가 시스템에 해가 되는 작업을 하려고 합니다.\n"
+"시스템에 무언가 해가 되는 작업을 하려고 합니다.\n"
 "계속하시려면 다음 문구를 입력하십시오: '%s'\n"
 "계속하시려면 다음 문구를 입력하십시오: '%s'\n"
 " ?] "
 " ?] "
 
 
@@ -1013,7 +1009,7 @@ msgstr "주의, 정규식 '%2$s'에 대하여 %1$s을(를) 선택합니다\n"
 msgid "You might want to run `apt-get -f install' to correct these:"
 msgid "You might want to run `apt-get -f install' to correct these:"
 msgstr "다음을 바로잡으려면 `apt-get -f install'을 실행해 보십시오:"
 msgstr "다음을 바로잡으려면 `apt-get -f install'을 실행해 보십시오:"
 
 
-# FIXME: specify a solution?  무슨 솔루션?
+# FIXME: specify a solution?  무슨 솔루션?
 #: cmdline/apt-get.cc:1549
 #: cmdline/apt-get.cc:1549
 msgid ""
 msgid ""
 "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
 "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
@@ -1075,9 +1071,8 @@ msgid "Done"
 msgstr "완료"
 msgstr "완료"
 
 
 #: cmdline/apt-get.cc:1768 cmdline/apt-get.cc:1776
 #: cmdline/apt-get.cc:1768 cmdline/apt-get.cc:1776
-#, fuzzy
 msgid "Internal error, problem resolver broke stuff"
 msgid "Internal error, problem resolver broke stuff"
-msgstr "내부 오류, AllUpgrade때문에 망가졌습니다"
+msgstr "내부 오류, 문제 해결 프로그램이 사고쳤습니다"
 
 
 #: cmdline/apt-get.cc:1876
 #: cmdline/apt-get.cc:1876
 msgid "Must specify at least one package to fetch source for"
 msgid "Must specify at least one package to fetch source for"
@@ -1089,9 +1084,9 @@ msgid "Unable to find a source package for %s"
 msgstr "%s의 소스 꾸러미를 찾을 수 없습니다"
 msgstr "%s의 소스 꾸러미를 찾을 수 없습니다"
 
 
 #: cmdline/apt-get.cc:1950
 #: cmdline/apt-get.cc:1950
-#, fuzzy, c-format
+#, c-format
 msgid "Skipping already downloaded file '%s'\n"
 msgid "Skipping already downloaded file '%s'\n"
-msgstr "%s에 이미 풀려 있는 소스의 압축을 풀지 않고 건너 뜁니다.\n"
+msgstr "이미 다운로드 받은 파일 '%s'은(는) 다시 받지 않고 건너 뜁니다.\n"
 
 
 #: cmdline/apt-get.cc:1974
 #: cmdline/apt-get.cc:1974
 #, c-format
 #, c-format
@@ -1130,7 +1125,7 @@ msgstr "압축 풀기 명령 '%s' 실패.\n"
 #: cmdline/apt-get.cc:2060
 #: cmdline/apt-get.cc:2060
 #, c-format
 #, c-format
 msgid "Check if the 'dpkg-dev' package is installed.\n"
 msgid "Check if the 'dpkg-dev' package is installed.\n"
-msgstr ""
+msgstr "'dpkg-dev' 꾸러미가 설치되었는지를 확인해주십시오.\n"
 
 
 #: cmdline/apt-get.cc:2077
 #: cmdline/apt-get.cc:2077
 #, c-format
 #, c-format
@@ -1447,7 +1442,7 @@ msgid "Duplicate conf file %s/%s"
 msgstr "%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
-#, fuzzy, c-format
+#, c-format
 msgid "Failed to write file %s"
 msgid "Failed to write file %s"
 msgstr "%s 파일을 쓰는 데 실패했습니다"
 msgstr "%s 파일을 쓰는 데 실패했습니다"
 
 
@@ -1662,9 +1657,8 @@ msgid "Unable to unmount the CD-ROM in %s, it may still be in use."
 msgstr "%s 안의 CD-ROM을 마운트 해제할 수 없습니다. 사용 중일 것입니다."
 msgstr "%s 안의 CD-ROM을 마운트 해제할 수 없습니다. 사용 중일 것입니다."
 
 
 #: methods/cdrom.cc:169
 #: methods/cdrom.cc:169
-#, fuzzy
 msgid "Disk not found."
 msgid "Disk not found."
-msgstr "파일이 없습니다"
+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"
 msgid "File not found"
@@ -1888,42 +1882,41 @@ msgid "Unable to connect to %s %s:"
 msgstr "%s %s에 연결할 수 없습니다:"
 msgstr "%s %s에 연결할 수 없습니다:"
 
 
 #: methods/gpgv.cc:64
 #: methods/gpgv.cc:64
-#, fuzzy, c-format
+#, c-format
 msgid "Couldn't access keyring: '%s'"
 msgid "Couldn't access keyring: '%s'"
-msgstr "'%s'의 주소를 알아낼 수 없습니다"
+msgstr "키링에 접근할 수 없습니다: '%s'"
 
 
 #: methods/gpgv.cc:99
 #: methods/gpgv.cc:99
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
-msgstr ""
+msgstr "E: Acquire::gpgv::Options의 인자 목록이 너무 깁니다. 종료하는 중."
 
 
 #: methods/gpgv.cc:198
 #: methods/gpgv.cc:198
 msgid ""
 msgid ""
 "Internal error: Good signature, but could not determine key fingerprint?!"
 "Internal error: Good signature, but could not determine key fingerprint?!"
-msgstr ""
+msgstr "내부 오류: 서명은 올바르지만 키 지문을 확인할 수 없습니다!"
 
 
 #: methods/gpgv.cc:203
 #: methods/gpgv.cc:203
 msgid "At least one invalid signature was encountered."
 msgid "At least one invalid signature was encountered."
-msgstr ""
+msgstr "최소한 하나 이상의 서명이 잘못되었습니다."
 
 
 #: methods/gpgv.cc:207
 #: methods/gpgv.cc:207
 #, c-format
 #, c-format
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
-msgstr ""
+msgstr "서명을 인증하기 위한 '%s'를 실행할 수 없습니다(gnupg가 설치됐나요?)"
 
 
 #: methods/gpgv.cc:212
 #: methods/gpgv.cc:212
 msgid "Unknown error executing gpgv"
 msgid "Unknown error executing gpgv"
-msgstr ""
+msgstr "gpgv 실행 도중 알 수 없는 오류 발생"
 
 
 #: methods/gpgv.cc:243
 #: methods/gpgv.cc:243
-#, fuzzy
 msgid "The following signatures were invalid:\n"
 msgid "The following signatures were invalid:\n"
-msgstr "다음 꾸러미를 더 설치할 것입니다:"
+msgstr "다음 서명이 올바르지 않습니다:\n"
 
 
 #: methods/gpgv.cc:250
 #: methods/gpgv.cc:250
 msgid ""
 msgid ""
 "The following signatures couldn't be verified because the public key is not "
 "The following signatures couldn't be verified because the public key is not "
 "available:\n"
 "available:\n"
-msgstr ""
+msgstr "다음 서명들은 공개키가 없기 때문에 인증할 수 없습니다:\n"
 
 
 #: methods/gzip.cc:57
 #: methods/gzip.cc:57
 #, c-format
 #, c-format
@@ -2283,15 +2276,15 @@ msgstr "옵션"
 msgid "extra"
 msgid "extra"
 msgstr "별도"
 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"
 msgid "Building dependency tree"
 msgstr "의존성 트리를 만드는 중입니다"
 msgstr "의존성 트리를 만드는 중입니다"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "후보 버전"
 msgstr "후보 버전"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "의존성 만들기"
 msgstr "의존성 만들기"
 
 
@@ -2346,9 +2339,9 @@ msgid "Malformed line %u in source list %s (type)"
 msgstr "소스 리스트 %2$s의 %1$u번 줄이 잘못되었습니다 (타입)"
 msgstr "소스 리스트 %2$s의 %1$u번 줄이 잘못되었습니다 (타입)"
 
 
 #: apt-pkg/sourcelist.cc:244
 #: apt-pkg/sourcelist.cc:244
-#, fuzzy, c-format
+#, c-format
 msgid "Type '%s' is not known on line %u in source list %s"
 msgid "Type '%s' is not known on line %u in source list %s"
-msgstr "소스 리스트 %3$s의 %2$u번 줄의 '%1$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
 #, c-format
@@ -2405,12 +2398,12 @@ msgstr "아카이브 디렉토리 %spartial이 빠졌습니다."
 #: apt-pkg/acquire.cc:823
 #: apt-pkg/acquire.cc:823
 #, c-format
 #, c-format
 msgid "Retrieving file %li of %li (%s remaining)"
 msgid "Retrieving file %li of %li (%s remaining)"
-msgstr ""
+msgstr "파일 받아오는 중: %2$li 중 %1$li (%3$s 남았음)"
 
 
 #: apt-pkg/acquire.cc:825
 #: apt-pkg/acquire.cc:825
-#, fuzzy, c-format
+#, c-format
 msgid "Retrieving file %li of %li"
 msgid "Retrieving file %li of %li"
-msgstr "파일 목록을 읽는 중입니다"
+msgstr "파일 받아오는 중: %2$li 중 %1$li"
 
 
 #: apt-pkg/acquire-worker.cc:113
 #: apt-pkg/acquire-worker.cc:113
 #, c-format
 #, c-format
@@ -2423,12 +2416,10 @@ msgid "Method %s did not start correctly"
 msgstr "설치 방법 %s이(가) 올바르게 시작하지 않았습니다"
 msgstr "설치 방법 %s이(가) 올바르게 시작하지 않았습니다"
 
 
 #: apt-pkg/acquire-worker.cc:377
 #: apt-pkg/acquire-worker.cc:377
-#, fuzzy, c-format
+#, c-format
 msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
 msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
 msgstr ""
 msgstr ""
-"미디어 바꾸기: '%2$s' 드라이브에 다음 레이블이 달린\n"
-"디스크를 넣고 enter를 누르십시오\n"
-" '%1$s'\n"
+"'%2$s' 드라이브에 '%1$s'로 표기된 디스크를 삽입하고 엔터를 눌러주십시오."
 
 
 #: apt-pkg/init.cc:120
 #: apt-pkg/init.cc:120
 #, c-format
 #, c-format
@@ -2559,7 +2550,7 @@ msgstr "MD5Sum이 맞지 않습니다"
 
 
 #: apt-pkg/acquire-item.cc:640
 #: apt-pkg/acquire-item.cc:640
 msgid "There are no public key available for the following key IDs:\n"
 msgid "There are no public key available for the following key IDs:\n"
-msgstr ""
+msgstr "다음 키 ID의 공개키가 없습니다:\n"
 
 
 #: apt-pkg/acquire-item.cc:753
 #: apt-pkg/acquire-item.cc:753
 #, c-format
 #, c-format
@@ -2690,54 +2681,54 @@ msgid "Wrote %i records with %i missing files and %i mismatched files\n"
 msgstr "레코드 %i개를 파일 %i개가 빠지고 %i개가 맞지 않은 상태로 썼습니다\n"
 msgstr "레코드 %i개를 파일 %i개가 빠지고 %i개가 맞지 않은 상태로 썼습니다\n"
 
 
 #: apt-pkg/deb/dpkgpm.cc:358
 #: apt-pkg/deb/dpkgpm.cc:358
-#, fuzzy, c-format
+#, c-format
 msgid "Preparing %s"
 msgid "Preparing %s"
-msgstr "%s 파일을 여는 중입니다"
+msgstr "%s 준비 중"
 
 
 #: apt-pkg/deb/dpkgpm.cc:359
 #: apt-pkg/deb/dpkgpm.cc:359
-#, fuzzy, c-format
+#, c-format
 msgid "Unpacking %s"
 msgid "Unpacking %s"
-msgstr "%s 파일을 여는 중입니다"
+msgstr "%s을(를) 푸는 중입니다"
 
 
 #: apt-pkg/deb/dpkgpm.cc:364
 #: apt-pkg/deb/dpkgpm.cc:364
-#, fuzzy, c-format
+#, c-format
 msgid "Preparing to configure %s"
 msgid "Preparing to configure %s"
-msgstr "설정 파일 %s 파일을 여는 중입니다"
+msgstr "%s을(를) 설정할 준비를 하는 중입니다"
 
 
 #: apt-pkg/deb/dpkgpm.cc:365
 #: apt-pkg/deb/dpkgpm.cc:365
-#, fuzzy, c-format
+#, c-format
 msgid "Configuring %s"
 msgid "Configuring %s"
-msgstr "%s에 연결하는 중입니다"
+msgstr "%s 설정 중"
 
 
 #: apt-pkg/deb/dpkgpm.cc:366
 #: apt-pkg/deb/dpkgpm.cc:366
-#, fuzzy, c-format
+#, c-format
 msgid "Installed %s"
 msgid "Installed %s"
-msgstr "  설치: "
+msgstr "%s 설치했음"
 
 
 #: apt-pkg/deb/dpkgpm.cc:371
 #: apt-pkg/deb/dpkgpm.cc:371
 #, c-format
 #, c-format
 msgid "Preparing for removal of %s"
 msgid "Preparing for removal of %s"
-msgstr ""
+msgstr "%s을(를) 삭제할 준비 중"
 
 
 #: apt-pkg/deb/dpkgpm.cc:372
 #: apt-pkg/deb/dpkgpm.cc:372
-#, fuzzy, c-format
+#, c-format
 msgid "Removing %s"
 msgid "Removing %s"
-msgstr "%s 파일을 여는 중입니다"
+msgstr "%s 지우는 중"
 
 
 #: apt-pkg/deb/dpkgpm.cc:373
 #: apt-pkg/deb/dpkgpm.cc:373
-#, fuzzy, c-format
+#, c-format
 msgid "Removed %s"
 msgid "Removed %s"
-msgstr "추천"
+msgstr "%s 지움"
 
 
 #: apt-pkg/deb/dpkgpm.cc:378
 #: apt-pkg/deb/dpkgpm.cc:378
-#, fuzzy, c-format
+#, c-format
 msgid "Preparing to completely remove %s"
 msgid "Preparing to completely remove %s"
-msgstr "설정 파일 %s 파일을 여는 중입니다"
+msgstr "%s을(를) 완전히 지울 준비를 하는 중입니다"
 
 
 #: apt-pkg/deb/dpkgpm.cc:379
 #: apt-pkg/deb/dpkgpm.cc:379
-#, fuzzy, c-format
+#, c-format
 msgid "Completely removed %s"
 msgid "Completely removed %s"
-msgstr "%s을(를) 지우는 데 실패했습니다"
+msgstr "%s을(를) 완전히 지웠습니다"
 
 
 #: methods/rsh.cc:330
 #: methods/rsh.cc:330
 msgid "Connection closed prematurely"
 msgid "Connection closed prematurely"

+ 4 - 4
po/nb.po

@@ -19,7 +19,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-02-09 10:45+0100\n"
 "Last-Translator: Hans Fredrik Nordhaug <hans@nordhaug.priv.no>\n"
 "Last-Translator: Hans Fredrik Nordhaug <hans@nordhaug.priv.no>\n"
 "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.ui.no>\n"
 "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.ui.no>\n"
@@ -2304,15 +2304,15 @@ msgstr "valgfri"
 msgid "extra"
 msgid "extra"
 msgstr "tillegg"
 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"
 msgid "Building dependency tree"
 msgstr "Skaper oversikt over avhengighetsforhold"
 msgstr "Skaper oversikt over avhengighetsforhold"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versjons-kandidater"
 msgstr "Versjons-kandidater"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Oppretter avhengighetsforhold"
 msgstr "Oppretter avhengighetsforhold"
 
 

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2728 - 0
po/ne.po


+ 4 - 4
po/nl.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-02-10 17:35+0100\n"
 "Last-Translator: Bart Cornelis <cobaco@linux.be>\n"
 "Last-Translator: Bart Cornelis <cobaco@linux.be>\n"
 "Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
 "Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
@@ -2322,15 +2322,15 @@ msgstr "optioneel"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Boom van vereisten wordt opgebouwd"
 msgstr "Boom van vereisten wordt opgebouwd"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Kandidaat-versies"
 msgstr "Kandidaat-versies"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Generatie vereisten"
 msgstr "Generatie vereisten"
 
 

+ 4 - 4
po/nn.po

@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt_nn\n"
 "Project-Id-Version: apt_nn\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-02-14 23:30+0100\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Language-Team: Norwegian nynorsk <i18n-nn@lister.ping.uio.no>\n"
 "Language-Team: Norwegian nynorsk <i18n-nn@lister.ping.uio.no>\n"
@@ -2287,15 +2287,15 @@ msgstr "valfri"
 msgid "extra"
 msgid "extra"
 msgstr "tillegg"
 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"
 msgid "Building dependency tree"
 msgstr "Byggjer kravtre"
 msgstr "Byggjer kravtre"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Kandidatversjonar"
 msgstr "Kandidatversjonar"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Genererer kravforhold"
 msgstr "Genererer kravforhold"
 
 

+ 4 - 4
po/pl.po

@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.5.5\n"
 "Project-Id-Version: apt 0.5.5\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-01-23 15:32+0100\n"
 "Last-Translator: Bartosz Fenski <fenio@debian.org>\n"
 "Last-Translator: Bartosz Fenski <fenio@debian.org>\n"
 "Language-Team: Polish <pddp@debian.linux.org.pl>\n"
 "Language-Team: Polish <pddp@debian.linux.org.pl>\n"
@@ -2292,15 +2292,15 @@ msgstr "opcjonalny"
 msgid "extra"
 msgid "extra"
 msgstr "dodatkowy"
 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"
 msgid "Building dependency tree"
 msgstr "Budowanie drzewa zale¿no¶ci"
 msgstr "Budowanie drzewa zale¿no¶ci"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Kandyduj±ce wersje"
 msgstr "Kandyduj±ce wersje"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Generowanie zale¿no¶ci"
 msgstr "Generowanie zale¿no¶ci"
 
 

+ 4 - 4
po/pt.po

@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-03-07 22:20+0000\n"
 "Last-Translator: Rui Az. <astronomy@mail.pt>\n"
 "Last-Translator: Rui Az. <astronomy@mail.pt>\n"
 "Language-Team: Portuguese <traduz@debianpt.org>\n"
 "Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -2293,15 +2293,15 @@ msgstr "opcional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Construindo Árvore de Dependências"
 msgstr "Construindo Árvore de Dependências"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versões Candidatas"
 msgstr "Versões Candidatas"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Geração de Dependência"
 msgstr "Geração de Dependência"
 
 

+ 4 - 4
po/pt_BR.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-02-11 17:57-0200\n"
 "Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
 "Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
 "Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
 "Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
@@ -2294,15 +2294,15 @@ msgstr "opcional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Construindo Árvore de Dependências"
 msgstr "Construindo Árvore de Dependências"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versões Candidatas"
 msgstr "Versões Candidatas"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Geração de Dependência"
 msgstr "Geração de Dependência"
 
 

+ 21 - 32
po/ro.po

@@ -1,19 +1,19 @@
 # translation of apt_ro.po to Romanian
 # translation of apt_ro.po to Romanian
 # This file is put in the public domain.
 # This file is put in the public domain.
-#
 # Sorin Batariuc <sorin@bonbon.net>, 2004, 2005, 2006.
 # Sorin Batariuc <sorin@bonbon.net>, 2004, 2005, 2006.
+#
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
-"Project-Id-Version: apt_nou\n"
+"Project-Id-Version: apt_po_ro\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
-"PO-Revision-Date: 2006-02-27 11:59+0200\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
+"PO-Revision-Date: 2006-06-25 12:58+0300\n"
 "Last-Translator: Sorin Batariuc <sorin@bonbon.net>\n"
 "Last-Translator: Sorin Batariuc <sorin@bonbon.net>\n"
-"Language-Team: Romanian <debian-l10-romanian@lists.debian.org>\n"
+"Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.2\n"
+"X-Generator: KBabel 1.10.2\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 
 #: cmdline/apt-cache.cc:135
 #: cmdline/apt-cache.cc:135
@@ -1901,9 +1901,9 @@ msgid "Unable to connect to %s %s:"
 msgstr "Nu pot conecta la %s %s"
 msgstr "Nu pot conecta la %s %s"
 
 
 #: methods/gpgv.cc:64
 #: methods/gpgv.cc:64
-#, fuzzy, c-format
+#, c-format
 msgid "Couldn't access keyring: '%s'"
 msgid "Couldn't access keyring: '%s'"
-msgstr "Nu pot rezolva '%s'"
+msgstr "Nu pot accesa keyring: '%s'"
 
 
 #: methods/gpgv.cc:99
 #: methods/gpgv.cc:99
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
@@ -1921,9 +1921,10 @@ msgid "At least one invalid signature was encountered."
 msgstr "Cel puţin o semnătură invalidă a fost întâlnită."
 msgstr "Cel puţin o semnătură invalidă a fost întâlnită."
 
 
 #: methods/gpgv.cc:207
 #: methods/gpgv.cc:207
-#, fuzzy, c-format
+#, c-format
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
-msgstr " verificarea semnăturii (este instalat gnupg?)"
+msgstr ""
+"Nu pot executa '%s' pentru verificarea semnăturii (este instalat gnupg?)"
 
 
 #: methods/gpgv.cc:212
 #: methods/gpgv.cc:212
 msgid "Unknown error executing gpgv"
 msgid "Unknown error executing gpgv"
@@ -2302,15 +2303,15 @@ msgstr "opţional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Se construieşte arborele de dependenţă"
 msgstr "Se construieşte arborele de dependenţă"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Versiuni candidat"
 msgstr "Versiuni candidat"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Generare dependenţe"
 msgstr "Generare dependenţe"
 
 
@@ -2423,14 +2424,14 @@ msgstr "Directorul de arhive %spartial lipseşte."
 #. only show the ETA if it makes sense
 #. only show the ETA if it makes sense
 #. two days
 #. two days
 #: apt-pkg/acquire.cc:823
 #: apt-pkg/acquire.cc:823
-#, fuzzy, c-format
+#, c-format
 msgid "Retrieving file %li of %li (%s remaining)"
 msgid "Retrieving file %li of %li (%s remaining)"
 msgstr "Se descarcă fişierul %li din %li (%s rămas)"
 msgstr "Se descarcă fişierul %li din %li (%s rămas)"
 
 
 #: apt-pkg/acquire.cc:825
 #: apt-pkg/acquire.cc:825
-#, fuzzy, c-format
+#, c-format
 msgid "Retrieving file %li of %li"
 msgid "Retrieving file %li of %li"
-msgstr "Citire derulare fişier"
+msgstr "Se descarcă fişierul %li din %li"
 
 
 #: apt-pkg/acquire-worker.cc:113
 #: apt-pkg/acquire-worker.cc:113
 #, c-format
 #, c-format
@@ -2760,27 +2761,15 @@ msgid "Removed %s"
 msgstr "Şters %s"
 msgstr "Şters %s"
 
 
 #: apt-pkg/deb/dpkgpm.cc:378
 #: apt-pkg/deb/dpkgpm.cc:378
-#, fuzzy, c-format
+#, c-format
 msgid "Preparing to completely remove %s"
 msgid "Preparing to completely remove %s"
-msgstr "Se pregăteşte configurarea %s"
+msgstr "Se pregăteşte ştergerea completă a %s"
 
 
 #: apt-pkg/deb/dpkgpm.cc:379
 #: apt-pkg/deb/dpkgpm.cc:379
-#, fuzzy, c-format
+#, c-format
 msgid "Completely removed %s"
 msgid "Completely removed %s"
-msgstr "Eşuare în ştergerea %s"
+msgstr "Şters complet %s"
 
 
 #: methods/rsh.cc:330
 #: methods/rsh.cc:330
 msgid "Connection closed prematurely"
 msgid "Connection closed prematurely"
 msgstr "Conexiune închisă prematur"
 msgstr "Conexiune închisă prematur"
-
-#~ msgid "Reading file list"
-#~ msgstr "Citirea listei de fişiere"
-
-#~ msgid "Could not execute "
-#~ msgstr "Nu s-a putut executa "
-
-#~ msgid "Preparing for remove with config %s"
-#~ msgstr "Se pregăteşte pentru ştergere inclusiv configurarea %s"
-
-#~ msgid "Removed with config %s"
-#~ msgstr "Şters inclusiv configurarea %s"

+ 4 - 4
po/ru.po

@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt_po_ru\n"
 "Project-Id-Version: apt_po_ru\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-01-21 14:55+0300\n"
 "Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
 "Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
 "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
 "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
@@ -2326,15 +2326,15 @@ msgstr "необязательный"
 msgid "extra"
 msgid "extra"
 msgstr "дополнительный"
 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"
 msgid "Building dependency tree"
 msgstr "Построение дерева зависимостей"
 msgstr "Построение дерева зависимостей"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Версии-кандидаты"
 msgstr "Версии-кандидаты"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Генерирование зависимостей"
 msgstr "Генерирование зависимостей"
 
 

+ 4 - 5
po/sk.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-05-29 15:33+0200\n"
 "Last-Translator: Peter Mann <Peter.Mann@tuke.sk>\n"
 "Last-Translator: Peter Mann <Peter.Mann@tuke.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -2275,15 +2275,15 @@ msgstr "voliteľný"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Vytvára sa strom závislostí"
 msgstr "Vytvára sa strom závislostí"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Kandidátske verzie"
 msgstr "Kandidátske verzie"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Generovanie závislostí"
 msgstr "Generovanie závislostí"
 
 
@@ -2732,4 +2732,3 @@ msgstr "Balík '%s' je úplne odstránený"
 #: methods/rsh.cc:330
 #: methods/rsh.cc:330
 msgid "Connection closed prematurely"
 msgid "Connection closed prematurely"
 msgstr "Spojenie bolo predčasne ukončené"
 msgstr "Spojenie bolo predčasne ukončené"
-

+ 4 - 4
po/sl.po

@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.5.5\n"
 "Project-Id-Version: apt 0.5.5\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-02-16 22:18+0100\n"
 "Last-Translator: Jure Èuhalev <gandalf@owca.info>\n"
 "Last-Translator: Jure Èuhalev <gandalf@owca.info>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
@@ -2278,15 +2278,15 @@ msgstr "izbirno"
 msgid "extra"
 msgid "extra"
 msgstr "dodatno"
 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"
 msgid "Building dependency tree"
 msgstr "Gradnja drevesa odvisnosti"
 msgstr "Gradnja drevesa odvisnosti"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Razlièice kandidatov"
 msgstr "Razlièice kandidatov"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Ustvarjanje odvisnosti"
 msgstr "Ustvarjanje odvisnosti"
 
 

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 197 - 232
po/sv.po


+ 4 - 4
po/tl.po

@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-03-16 15:53+0800\n"
 "Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
 "Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
 "Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
 "Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
@@ -2307,15 +2307,15 @@ msgstr "optional"
 msgid "extra"
 msgid "extra"
 msgstr "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"
 msgid "Building dependency tree"
 msgstr "Ginagawa ang puno ng mga dependensiya"
 msgstr "Ginagawa ang puno ng mga dependensiya"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Bersyong Kandidato"
 msgstr "Bersyong Kandidato"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Pagbuo ng Dependensiya"
 msgstr "Pagbuo ng Dependensiya"
 
 

+ 19 - 18
po/vi.po

@@ -6,15 +6,15 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
-"PO-Revision-Date: 2006-01-22 13:04+1030\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
+"PO-Revision-Date: 2006-05-19 22:19+0930\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
 "Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0\n"
 "Plural-Forms: nplurals=1; plural=0\n"
-"X-Generator: LocFactoryEditor 1.6b30\n"
+"X-Generator: LocFactoryEditor 1.5.5b43u\n"
 
 
 #: cmdline/apt-cache.cc:135
 #: cmdline/apt-cache.cc:135
 #, c-format
 #, c-format
@@ -1927,9 +1927,9 @@ msgid "Unable to connect to %s %s:"
 msgstr "Không thể kết nối đến %s %s:"
 msgstr "Không thể kết nối đến %s %s:"
 
 
 #: methods/gpgv.cc:64
 #: methods/gpgv.cc:64
-#, fuzzy, c-format
+#, c-format
 msgid "Couldn't access keyring: '%s'"
 msgid "Couldn't access keyring: '%s'"
-msgstr "Không thể tháo gỡ « %s »"
+msgstr "Không thể truy cập vòng khoá « %s »"
 
 
 #: methods/gpgv.cc:99
 #: methods/gpgv.cc:99
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
 msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting."
@@ -1945,9 +1945,10 @@ msgid "At least one invalid signature was encountered."
 msgstr "Gặp ít nhất một chữ ký không hợp lệ."
 msgstr "Gặp ít nhất một chữ ký không hợp lệ."
 
 
 #: methods/gpgv.cc:207
 #: methods/gpgv.cc:207
-#, fuzzy, c-format
+#, c-format
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
 msgid "Could not execute '%s' to verify signature (is gnupg installed?)"
-msgstr " để kiểm chứng chữ ký (gnupg có được cài đặt chưa?)"
+msgstr ""
+"Không thể thực hiện « %s » để kiểm chứng chữ ký (gnupg có được cài đặt chưa?)"
 
 
 #: methods/gpgv.cc:212
 #: methods/gpgv.cc:212
 msgid "Unknown error executing gpgv"
 msgid "Unknown error executing gpgv"
@@ -2326,15 +2327,15 @@ msgstr "tùy chọn"
 msgid "extra"
 msgid "extra"
 msgstr "thêm"
 msgstr "thêm"
 
 
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
 msgid "Building dependency tree"
 msgid "Building dependency tree"
 msgstr "Đang xây dụng cây cách phụ thuộc..."
 msgstr "Đang xây dụng cây cách phụ thuộc..."
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "Phiên bản ứng cử"
 msgstr "Phiên bản ứng cử"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "Tạo ra cách phụ thuộc"
 msgstr "Tạo ra cách phụ thuộc"
 
 
@@ -2449,14 +2450,14 @@ msgstr "Thiếu thư mục kho « %spartial »."
 #. only show the ETA if it makes sense
 #. only show the ETA if it makes sense
 #. two days
 #. two days
 #: apt-pkg/acquire.cc:823
 #: apt-pkg/acquire.cc:823
-#, fuzzy, c-format
+#, c-format
 msgid "Retrieving file %li of %li (%s remaining)"
 msgid "Retrieving file %li of %li (%s remaining)"
-msgstr "Đang tải về tập tin %li trên %li (%s còn lại)"
+msgstr "Đang lấy tập tin %li trên %li (%s còn lại)..."
 
 
 #: apt-pkg/acquire.cc:825
 #: apt-pkg/acquire.cc:825
-#, fuzzy, c-format
+#, c-format
 msgid "Retrieving file %li of %li"
 msgid "Retrieving file %li of %li"
-msgstr "Đang đọc danh sách tập tin..."
+msgstr "Đang lấy tập tin %li trên %li..."
 
 
 #: apt-pkg/acquire-worker.cc:113
 #: apt-pkg/acquire-worker.cc:113
 #, c-format
 #, c-format
@@ -2783,14 +2784,14 @@ msgid "Removed %s"
 msgstr "Đã gỡ bỏ %s"
 msgstr "Đã gỡ bỏ %s"
 
 
 #: apt-pkg/deb/dpkgpm.cc:378
 #: apt-pkg/deb/dpkgpm.cc:378
-#, fuzzy, c-format
+#, c-format
 msgid "Preparing to completely remove %s"
 msgid "Preparing to completely remove %s"
-msgstr "Đang chuẩn bị cấu hình %s..."
+msgstr "Đang chuẩn bị gỡ bỏ hoàn toàn %s..."
 
 
 #: apt-pkg/deb/dpkgpm.cc:379
 #: apt-pkg/deb/dpkgpm.cc:379
-#, fuzzy, c-format
+#, c-format
 msgid "Completely removed %s"
 msgid "Completely removed %s"
-msgstr "Việc gỡ bỏ %s bị lỗi"
+msgstr "Mới gỡ bỏ hoàn toàn %s"
 
 
 #: methods/rsh.cc:330
 #: methods/rsh.cc:330
 msgid "Connection closed prematurely"
 msgid "Connection closed prematurely"

+ 4 - 4
po/zh_CN.po

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: apt 0.5.23\n"
 "Project-Id-Version: apt 0.5.23\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2006-02-22 14:20+1300\n"
 "Last-Translator: Carlos Z.F. Liu <carlosliu@users.sourceforge.net>\n"
 "Last-Translator: Carlos Z.F. Liu <carlosliu@users.sourceforge.net>\n"
 "Language-Team: Debian Chinese [GB] <debian-chinese-gb@lists.debian.org>\n"
 "Language-Team: Debian Chinese [GB] <debian-chinese-gb@lists.debian.org>\n"
@@ -2258,15 +2258,15 @@ msgstr "可选"
 msgid "extra"
 msgid "extra"
 msgstr "额外"
 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"
 msgid "Building dependency tree"
 msgstr "正在分析软件包的依赖关系树"
 msgstr "正在分析软件包的依赖关系树"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "候选版本"
 msgstr "候选版本"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "生成依赖关系"
 msgstr "生成依赖关系"
 
 

+ 5 - 5
po/zh_TW.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: 0.5.4\n"
 "Project-Id-Version: 0.5.4\n"
 "Report-Msgid-Bugs-To: \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"
 "PO-Revision-Date: 2005-02-19 22:24+0800\n"
 "Last-Translator: Asho Yeh <asho@debian.org.tw>\n"
 "Last-Translator: Asho Yeh <asho@debian.org.tw>\n"
 "Language-Team: Chinese/Traditional <zh-l10n@linux.org.tw>\n"
 "Language-Team: Chinese/Traditional <zh-l10n@linux.org.tw>\n"
@@ -665,7 +665,7 @@ msgstr "但是它只是虛擬的套件"
 
 
 #: cmdline/apt-get.cc:341
 #: cmdline/apt-get.cc:341
 msgid "but it is not installed"
 msgid "but it is not installed"
-msgstr "但是『%s』卻還沒有安裝。"
+msgstr "但是『』卻還沒有安裝。"
 
 
 #: cmdline/apt-get.cc:341
 #: cmdline/apt-get.cc:341
 msgid "but it is not going to be installed"
 msgid "but it is not going to be installed"
@@ -2270,15 +2270,15 @@ msgstr "次要"
 msgid "extra"
 msgid "extra"
 msgstr "添加"
 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"
 msgid "Building dependency tree"
 msgstr "了解套件依存關係中"
 msgstr "了解套件依存關係中"
 
 
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
 msgid "Candidate versions"
 msgid "Candidate versions"
 msgstr "候選版本"
 msgstr "候選版本"
 
 
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
 msgid "Dependency generation"
 msgid "Dependency generation"
 msgstr "產生套件依存關係"
 msgstr "產生套件依存關係"
 
 

share/debian-archive.gpg.moved → share/debian-archive.gpg


+ 7 - 0
test/hash.cc

@@ -1,5 +1,6 @@
 #include <apt-pkg/md5.h>
 #include <apt-pkg/md5.h>
 #include <apt-pkg/sha1.h>
 #include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/strutl.h>
 #include <iostream>
 #include <iostream>
 
 
@@ -57,6 +58,12 @@ int main()
 		      "d174ab98d277d9f5a5611c2c9f419d9f");
 		      "d174ab98d277d9f5a5611c2c9f419d9f");
    Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890",
    Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890",
 		      "57edf4a22be3c955ac49da2e2107b67a");
 		      "57edf4a22be3c955ac49da2e2107b67a");
+
+   // SHA-256, From FIPS 180-2
+   Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", 
+			 "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1");
+   
+
    return 0; 
    return 0; 
 }
 }