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