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);
if(comprExt.empty())
{
// autoselect the compression method
- if(FileExists("/usr/bin/bzip2"))
+ if(FileExists("/bin/bzip2"))
CompressionExtension = ".bz2";
else
CompressionExtension = ".gz";
Size -= Res;
MD5.Add(Buf,Res);
SHA1.Add(Buf,Res);
+ SHA256.Add(Buf,Res);
}
return true;
}
#include <apt-pkg/md5.h>
#include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
#include <algorithm>
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);
--- /dev/null
+/*
+ * 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;
+}
+ /*}}}*/
+
--- /dev/null
+// -*- 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
*/
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]);
# 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 \
/* */
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;
}
/*}}}*/
/* */
pkgTagFile::~pkgTagFile()
{
+ if(!Map) delete [] Buffer;
delete Map;
}
/*}}}*/
/* If the Section Scanner fails we refill the buffer and try again. */
bool pkgTagFile::Step(pkgTagSection &Tag)
{
- if (Start == End)
+ if ((Map != NULL) && (Start == End))
return false;
if (Tag.Scan(Start,End - Start) == false)
{
- return _error->Error(_("Unable to parse package file %s (1)"),
- Fd.Name().c_str());
+ if (Map != NULL)
+ return _error->Error(_("Unable to parse package file %s (1)"),
+ Fd.Name().c_str());
+
+ if (Fill() == false)
+ return false;
+
+ if (Tag.Scan(Start,End - Start) == false)
+ return _error->Error(_("Unable to parse package file %s (1)"),
+ Fd.Name().c_str());
}
Start += Tag.size();
iOffset += Tag.size();
Tag.Trim();
+ return true;
+}
+ /*}}}*/
+// TagFile::Fill - Top up the buffer /*{{{*/
+// ---------------------------------------------------------------------
+/* This takes the bit at the end of the buffer and puts it at the start
+ then fills the rest from the file */
+bool pkgTagFile::Fill()
+{
+ unsigned long EndSize = End - Start;
+ unsigned long Actual = 0;
+
+ memmove(Buffer,Start,EndSize);
+ Start = Buffer;
+ End = Buffer + EndSize;
+
+ if (Done == false)
+ {
+ // See if only a bit of the file is left
+ if (Fd.Read(End,Size - (End - Buffer),&Actual) == false)
+ return false;
+ if (Actual != Size - (End - Buffer))
+ Done = true;
+ End += Actual;
+ }
+
+ if (Done == true)
+ {
+ if (EndSize <= 3 && Actual == 0)
+ return false;
+ if (Size - (End - Buffer) < 4)
+ return true;
+
+ // Append a double new line if one does not exist
+ unsigned int LineCount = 0;
+ for (const char *E = End - 1; E - End < 6 && (*E == '\n' || *E == '\r'); E--)
+ if (*E == '\n')
+ LineCount++;
+ for (; LineCount < 2; LineCount++)
+ *End++ = '\n';
+
+ return true;
+ }
+
return true;
}
/*}}}*/
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;
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;
"Filename",
"Size",
"MD5Sum",
- "SHA1Sum",
+ "SHA1",
+ "SHA256",
"MSDOS-Filename", // Obsolete
"Description",
0};
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();
};
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);
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)
-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.
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
<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>
<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>
<!-- 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">
pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
pkgAcquire "false";
pkgAcquire::Worker "false";
+ pkgAcquire::Auth "false";
pkgDPkgPM "false";
pkgDPkgProgressReporting "false";
pkgOrderList "false";
#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>
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)
{
(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;
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;
}
/*}}}*/
CurStat.Flags &= ~FlControl;
}
+ if (Fd == NULL && OpenFile() == false)
+ {
+ return false;
+ }
// Create a deb instance to read the archive
if (DebFile == 0)
{
CurStat.Flags &= ~FlContents;
}
+ if (Fd == NULL && OpenFile() == false)
+ {
+ return false;
+ }
// Create a deb instance to read the archive
if (DebFile == 0)
{
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)
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
// 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;
}
/*}}}*/
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;
}
}
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()
}
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;
// 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;};
};
#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>
// ---------------------------------------------------------------------
/* 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)
{
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;
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
// 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)
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;
}
/* */
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 &&
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)
}
}
- DeLinkBytes += St.st_size;
+ DeLinkBytes += FileSize;
if (DeLinkBytes/1024 >= DeLinkLimit)
ioprintf(c1out, _(" DeLink limit of %sB hit.\n"), SizeToStr(DeLinkBytes).c_str());
}
// 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);
// 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
}
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;
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);
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);
}
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;
}
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;
}
}
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");
}
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;
(*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());
+ }
}
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)
{
// Some flags
bool DoMD5;
+ bool DoSHA1;
+ bool DoSHA256;
bool NoOverride;
bool DoContents;
{
string MD5;
string SHA1;
+ string SHA256;
// Limited by FileFd::Size()
unsigned long size;
~CheckSum() {};
#define GNUPGBADSIG "[GNUPG:] BADSIG"
#define GNUPGNOPUBKEY "[GNUPG:] NO_PUBKEY"
#define GNUPGVALIDSIG "[GNUPG:] VALIDSIG"
+#define GNUPGNODATA "[GNUPG:] NODATA"
class GPGVMethod : public pkgAcqMethod
{
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);
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
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"
#: 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 ""
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"
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 ""
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 ""
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 ""
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 ""
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"
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 ""
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 ""
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"
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 ""
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"
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 "Генериране на зависимости"
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"
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"
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"
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"
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"
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í"
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"
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"
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"
msgid "extra"
msgstr "ekstra"
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
msgid "Building dependency tree"
msgstr "Opbygger afhængighedstræ"
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
msgid "Candidate versions"
msgstr "Kandidatversioner"
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
msgid "Dependency generation"
msgstr "Afhængighedsgenerering"
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"
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"
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"
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 "Παραγωγή Εξαρτήσεων"
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"
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"
msgstr ""
"Project-Id-Version: apt 0.6.42.3exp1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
"PO-Revision-Date: 2005-11-16 17:37+0100\n"
"Last-Translator: Rubén Porras Campo <nahoo@inicia.es>\n"
"Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
msgid "extra"
msgstr "extra"
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
msgid "Building dependency tree"
msgstr "Creando árbol de dependencias"
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
msgid "Candidate versions"
msgstr "Versiones candidatas"
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
msgid "Dependency generation"
msgstr "Generación de dependencias"
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"
msgid "extra"
msgstr "supplémentaire"
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
msgid "Building dependency tree"
msgstr "Construction de l'arbre des dépendances"
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
msgid "Candidate versions"
msgstr "Versions possibles"
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
msgid "Dependency generation"
msgstr "Génération des dépendances"
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"
"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"
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"
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"
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."
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
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)"
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)"
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"
" 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"
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"
" -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"
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"
"\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"
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"
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"
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"
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"
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"
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"
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"
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"
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."
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"
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."
"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."
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"
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."
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"
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 ""
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"
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"
#: 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
#: 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
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."
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
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"
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"
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ú"
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ú"
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ó"
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"
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"
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"
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"
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"
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"
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"
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"
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
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"
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"
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"
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"
#. 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"
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
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
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"
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"
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"
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
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"
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"
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."
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
#: 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
#: 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"
#: 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
#: 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
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"
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ő"
#: 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"
"%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.. "
#~ 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"
-
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"
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"
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"
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 "依存関係の生成"
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"
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 파일이 동기화되지 않았습니다."
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 "캐시가 동기화되지 않았습니다. 꾸러미 파일을 상호 참조할 수 없습니다"
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 "(없음)"
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 "(없음)"
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"
" -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에 쓸 수 없습니다"
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 디렉토리를 처리하는 데 오류가 발생했습니다"
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의 경로를 알아내는 데 실패했습니다"
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의 정보를 읽는 데 실패했습니다"
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"
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을(를) 읽는 데 실패했습니다"
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 파이프를 만드는 데 실패했습니다"
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(으)로 바꾸는 데 실패했습니다"
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"
#: 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."
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 옵션 없이 사용되었습니다"
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
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의 여유 공간의 크기를 파악할 수 없습니다"
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
"계속하시려면 다음 문구를 입력하십시오: '%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 "중단."
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"
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"
#: 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
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 꾸러미를 찾을 수 없습니다"
# 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 ""
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 "실패"
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 "내부 오류, 문제 해결 프로그램이 사고쳤습니다"
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의 소스 꾸러미를 찾을 수 없습니다"
#: 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
msgstr ""
"사용법: apt-sortpkgs [옵션] 파일1 [파일2 ...]\n"
"\n"
-"apt-sortpkgs는 꾸러미 파일을 정렬하는 간단한 도구입니다. -s 옵션은 무슨 파일인지\n"
+"apt-sortpkgs는 꾸러미 파일을 정렬하는 간단한 도구입니다. -s 옵션은 무슨 파일"
+"인지\n"
"알아 내는 데 쓰입니다.\n"
"\n"
"옵션:\n"
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를 누르십시오."
#: 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
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 "아카이브가 손상되었습니다"
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 "아카이브 멤버 헤더가 잘못되었습니다"
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이(가) 너무 깁니다"
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 "전환하는 경로가 너무 깁니다"
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을(를) 읽을 수 없습니다"
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을(를) 만들 수 없습니다"
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 "꾸러미 목록을 읽는 중입니다"
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 파일을 읽는 데 실패했습니다"
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"
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' 멤버가 없습니다"
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"
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 "파일 변경 시각을 설정하는 데 실패했습니다"
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"
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
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 "연결 시간 초과"
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 "소켓을 만들 수 없습니다"
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 "파일 해싱에 문제가 있습니다"
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 "데이터 소켓에 제한 시간이 초과했습니다"
#. 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에 연결하는 중입니다"
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
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
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 서버에서 잘못된 응답 헤더를 보냈습니다"
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됩니다"
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"
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 옵션: 설정 항목 지정은 =<값> 형태여야 합니다."
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 디렉토리로 이동할 수 없습니다"
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 "의존성 트리를 만드는 중입니다"
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번 줄이 너무 깁니다."
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
#: 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."
#: 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
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 "소스 캐시를 저장하는 데 입출력 오류가 발생했습니다"
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이 맞지 않습니다"
#: 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"
"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 "알아보는 중입니다.. "
#, fuzzy
#~ msgid "Could not execute "
#~ msgstr "%s 잠금 파일을 얻을 수 없습니다"
-
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
"PO-Revision-Date: 2005-02-09 10:45+0100\n"
"Last-Translator: Hans Fredrik Nordhaug <hans@nordhaug.priv.no>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.ui.no>\n"
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"
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"
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"
msgstr ""
"Project-Id-Version: apt_nn\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
"PO-Revision-Date: 2005-02-14 23:30+0100\n"
"Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
"Language-Team: Norwegian nynorsk <i18n-nn@lister.ping.uio.no>\n"
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"
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"
msgid "extra"
msgstr "dodatkowy"
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
msgid "Building dependency tree"
msgstr "Budowanie drzewa zale¿no¶ci"
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
msgid "Candidate versions"
msgstr "Kandyduj±ce wersje"
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
msgid "Dependency generation"
msgstr "Generowanie zale¿no¶ci"
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"
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"
msgstr ""
"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-16 07:33-0500\n"
+"POT-Creation-Date: 2006-05-27 13:46+0200\n"
"PO-Revision-Date: 2006-02-11 17:57-0200\n"
"Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
"Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
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"
#: 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"
#: 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
#: 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!"
#: 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"
#: 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"
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?!"
#: 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"
#: 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"
#: 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
#: 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
#: 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 ""
#: 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
#: 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"
#: 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
#: 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
#: 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."
#: 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
#: methods/rsh.cc:330
msgid "Connection closed prematurely"
msgstr "Conexiune închisă prematur"
-
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"
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 "Генерирование зависимостей"
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"
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í"
#: methods/rsh.cc:330
msgid "Connection closed prematurely"
msgstr "Spojenie bolo predčasne ukončené"
-
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"
msgid "extra"
msgstr "dodatno"
-#: apt-pkg/depcache.cc:60 apt-pkg/depcache.cc:89
+#: apt-pkg/depcache.cc:61 apt-pkg/depcache.cc:90
msgid "Building dependency tree"
msgstr "Gradnja drevesa odvisnosti"
-#: apt-pkg/depcache.cc:61
+#: apt-pkg/depcache.cc:62
msgid "Candidate versions"
msgstr "Razlièice kandidatov"
-#: apt-pkg/depcache.cc:90
+#: apt-pkg/depcache.cc:91
msgid "Dependency generation"
msgstr "Ustvarjanje odvisnosti"
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"
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"
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"
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 "生成依赖关系"
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"
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 "產生套件依存關係"
#include <apt-pkg/md5.h>
#include <apt-pkg/sha1.h>
+#include <apt-pkg/sha256.h>
#include <apt-pkg/strutl.h>
#include <iostream>
"d174ab98d277d9f5a5611c2c9f419d9f");
Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890",
"57edf4a22be3c955ac49da2e2107b67a");
+
+ // SHA-256, From FIPS 180-2
+ Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
+ "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1");
+
+
return 0;
}