From e73327664bd30c06e710dca5230147f9d950591b Mon Sep 17 00:00:00 2001 From: Wichert Akkerman Date: Mon, 4 Dec 2000 00:39:50 +0000 Subject: [PATCH] include/dpkg.h.in: remove defines for cat and dpkg-safelist since they are no longer used lib/mlib.c: split up do_fd_copy lib/varbuf.c: add varbufvprintf lib/parse.c: use memset to initialize fieldencountered main/filesdb.c: use new read_fd_into_buf --- ChangeLog | 12 ++- include/dpkg.h.in | 5 +- lib/mlib.c | 123 +++++++++++++-------- lib/parse.c | 3 +- lib/varbuf.c | 16 +++ main/filesdb.c | 35 ++---- po/dpkg.pot | 270 +++++++++++++++++++++++----------------------- 7 files changed, 245 insertions(+), 219 deletions(-) diff --git a/ChangeLog b/ChangeLog index b8e798a5..003f055d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Mon Dec 4 01:34:57 CET 2000 Wichert Akkerman + + * Merge more of Adams handywork to bring dpkg up to speed (literally :) + + include/dpkg.h.in: remove defines for cat and dpkg-safelist since they + are no longer used + + lib/mlib.c: split up do_fd_copy + + lib/varbuf.c: add varbufvprintf + + lib/parse.c: use memset to initialize fieldencountered + + main/filesdb.c: use new read_fd_into_buf + Sun Dec 3 22:11:22 CET 2000 Wichert Akkerman * dpkg-deb/extract.c: apply one of Adams do_fd_copy patches @@ -7,7 +17,7 @@ Thu Nov 30 02:45:42 CET 2000 Wichert Akkerman * scripts/dpkg-statoverride.{pl,8}: + add new --import option to import settings from /etc/suid.conf + fix ENOENT issues - + use %owner consistently isntead of %owner and %user + + use %owner consistently instead of %owner and %user Wed Nov 29 17:56:43 CET 2000 Wichert Akkerman diff --git a/include/dpkg.h.in b/include/dpkg.h.in index eca92c1d..bb01a5df 100644 --- a/include/dpkg.h.in +++ b/include/dpkg.h.in @@ -121,10 +121,8 @@ #define DSELECT "dselect" #define DPKG "dpkg" -#define SAFEFILELIST "dpkg-safefilelist" #define TAR "tar" #define GZIP "gzip" -#define CAT "cat" #define RM "rm" #define FIND "find" #define SHELL "sh" @@ -199,7 +197,8 @@ void m_pipe(int fds[2]); void checksubprocerr(int status, const char *description, int sigpipeok); void waitsubproc(pid_t pid, const char *description, int sigpipeok); -int do_fd_copy(int fd1, int fd2, int limit, char *desc); +int do_fd_copy(int fd1, int fd2, int limit, char *desc, ...); +int read_fd_into_buf(int fd, char *buf, int limit, char *desc, ...); extern volatile int onerr_abort; diff --git a/lib/mlib.c b/lib/mlib.c index 1a70dd5a..cf295137 100644 --- a/lib/mlib.c +++ b/lib/mlib.c @@ -30,6 +30,7 @@ #include #include +#include /* Incremented when we do some kind of generally necessary operation, so that * loops &c know to quit if we take an error exit. Decremented again afterwards. @@ -123,54 +124,82 @@ void waitsubproc(pid_t pid, const char *description, int sigpipeok) { checksubprocerr(status,description,sigpipeok); } -int do_fd_copy(int fd1, int fd2, int limit, char *desc) { - char *buf, *sbuf; - int count, bufsize = 32768; - char *er_msg_1 = _("failed to allocate buffer for copy (%s)"); - char *er_msg_2 = _("failed in copy on write (%s)"); - char *er_msg_3 = _("failed in copy on read (%s)"); - - count = strlen(er_msg_1) + strlen(desc) + 1; - sbuf = malloc(count); - if(sbuf == NULL) - ohshite(_("failed to allocate buffer for snprintf 1")); - snprintf(sbuf, count, er_msg_1, desc); - sbuf[count-1] = 0; - - if((limit != -1) && (limit < bufsize)) - bufsize = limit; - buf = malloc(bufsize); - if(buf == NULL) - ohshite(sbuf); - free(sbuf); - - while((count = read(fd1, buf, bufsize)) > 0) { - if(write(fd2, buf, count) < count) { - count = strlen(er_msg_2) + strlen(desc) + 1; - sbuf = malloc(count); - if(sbuf == NULL) - ohshite(_("failed in copy on write")); - snprintf(sbuf, count, er_msg_2, desc); - sbuf[count-1] = 0; - ohshite(sbuf); - } - if(limit != -1) { - limit -= count; - if(limit < bufsize) - bufsize = limit; - } - } - free(sbuf); +typedef void (*do_fd_write_t)(char *, int, char *, void *data); +typedef struct do_fd_copy_data { + int fd; +} do_fd_copy_data_t; +typedef struct do_fd_buf_data { + char *buf; +} do_fd_buf_data_t; + +int do_fd_write_fd(char* buf, int length, void *proc_data, char *desc) { + do_fd_copy_data_t *data = (do_fd_copy_data_t *)proc_data; + if(write(data->fd, buf, length) < length) + ohshite(_("failed in do_fd_write_fd (%s)"), dsc); +} + +int do_fd_copy(int fd1, int fd2, int limit, char *desc, ...) { + do_fd_copy_data_t data = { fd2 }; + va_list al; + struct varbuf v; + + varbufinit(&v); + + va_start(al,desc); + varbufvprintf(&v, desc, al); + va_end(al); + + do_fd_read(fd1, limit, do_fd_write_fd, &data, v.buf); + varbuffree(&v); +} + +int do_fd_write_buf(char *buf, int length, void *proc_data, char *desc) { + do_fd_buf_data_t *data = (do_fd_buf_data_t *)proc_data; + memcpy(data->buf, buf, length); + data->buf += length; +} + +int read_fd_into_buf(int fd, char *buf, int limit, char *desc, ...) { + do_fd_buf_data_t data = { buf }; + va_list al; + struct varbuf v; + + varbufinit(&v); + + va_start(al,desc); + varbufvprintf(&v, desc, al); + va_end(al); + + do_fd_read(fd, limit, do_fd_write_buf, &data, v.buf); + varbuffree(&v); +} + +int do_fd_read(int fd1, int limit, do_fd_write_t write_proc, void *proc_data, char *desc) { + char *buf; + int count, bufsize= 32768, bytesread= 0; + + if((limit != -1) && (limit < bufsize)) bufsize= limit; + buf= malloc(bufsize); + if(buf== NULL) ohshite(_("failed to allocate buffer in do_fd_read (%s)"), desc); + + while(1) { + count= read(fd1, buf, bufsize); if (count<0) { - count = strlen(er_msg_3) + strlen(desc) + 1; - sbuf = malloc(count); - if(sbuf == NULL) - ohshite(_("failed in copy on read")); - snprintf(sbuf, count, er_msg_3, desc); - sbuf[count-1] = 0; - ohshite(sbuf); + if (errno==EINTR) continue; + break; } + if (count==0) + break; + + bytesread+= count; + write_proc(buf, count, proc_data, desc); + if(limit!=-1) { + limit-= count; + if(limit= v->size-ou-1); } +void varbufvprintf(struct varbuf *v, char *fmt, va_list va) { + int ou, r; + va_list al; + + ou= v->used; + v->used+= strlen(fmt); + + do { + varbufextend(v); + al= va; + r= vsnprintf(v->buf+ou,v->size-ou,fmt,al); + if (r < 0) r= (v->size-ou+1) * 2; + v->used= ou+r; + } while (r >= v->size-ou-1); +} + void varbufaddstr(struct varbuf *v, const char *s) { int l, ou; l= strlen(s); diff --git a/main/filesdb.c b/main/filesdb.c index 80e8174d..e479eb8a 100644 --- a/main/filesdb.c +++ b/main/filesdb.c @@ -71,7 +71,7 @@ void ensure_packagefiles_available(struct pkginfo *pkg) { int search, findlast, putat; struct stat stat_buf; char *loaded_list, *loaded_list_end, *thisline, *nextline, *ptr; - ssize_t bytes, readden; + ssize_t bytes; if (pkg->clientdata && pkg->clientdata->fileslistvalid) return; ensure_package_clientdata(pkg); @@ -146,20 +146,9 @@ void ensure_packagefiles_available(struct pkginfo *pkg) { ohshite("unable to stat files list file for package `%.250s'",pkg->name); loaded_list = nfmalloc(stat_buf.st_size); loaded_list_end = loaded_list + stat_buf.st_size; - /* stdio is an extra copy, hence we use read() */ - readden = 0; /* write->written, read->readden */ - while (readden < stat_buf.st_size) { - bytes = read(fileno(file), - loaded_list + readden, stat_buf.st_size - readden); - if (bytes < 0) { - if (errno == EINTR) continue; - ohshite("unable to read files list for package `%.250s'",pkg->name); - } - if (!bytes) - ohshit("unexpected end of file in files list for package `%.250s'",pkg->name); - readden += bytes; - } - + + read_fd_into_buf(fileno(file), loaded_list, stat_buf.st_size, _("files list for package `%.250s'"), pkg->name); + lendp= &pkg->clientdata->files; thisline = loaded_list; while (thisline < loaded_list_end) { @@ -325,7 +314,7 @@ void ensure_statoverrides(void) { struct stat stab1, stab2; FILE *file; char *loaded_list, *loaded_list_end, *thisline, *nextline, *ptr; - ssize_t bytes, readden; + ssize_t bytes; struct filestatoverride *fso; struct filenamenode *fnn; @@ -356,18 +345,8 @@ void ensure_statoverrides(void) { loaded_list = nfmalloc(stab2.st_size); loaded_list_end = loaded_list + stab2.st_size; - readden=0; - while (readden\n" "Language-Team: LANGUAGE \n" @@ -155,41 +155,41 @@ msgstr "" msgid "unable to install updated status of `%.250s'" msgstr "" -#: lib/dump.c:249 +#: lib/dump.c:250 #, c-format msgid "failed to open `%s' for writing %s information" msgstr "" -#: lib/dump.c:252 lib/parse.c:97 +#: lib/dump.c:253 lib/parse.c:97 msgid "unable to set buffering on status file" msgstr "" -#: lib/dump.c:263 +#: lib/dump.c:264 #, c-format msgid "failed to write %s record about `%.50s' to `%.250s'" msgstr "" -#: lib/dump.c:270 +#: lib/dump.c:271 #, c-format msgid "failed to flush %s information to `%.250s'" msgstr "" -#: lib/dump.c:272 +#: lib/dump.c:273 #, c-format msgid "failed to fsync %s information to `%.250s'" msgstr "" -#: lib/dump.c:274 +#: lib/dump.c:275 #, c-format msgid "failed to close `%.250s' after writing %s information" msgstr "" -#: lib/dump.c:278 +#: lib/dump.c:279 #, c-format msgid "failed to link `%.250s' to `%.250s' for backup of %s info" msgstr "" -#: lib/dump.c:281 +#: lib/dump.c:282 #, c-format msgid "failed to install `%.250s' as `%.250s' containing %s info" msgstr "" @@ -399,84 +399,76 @@ msgstr "" msgid "unable to lock dpkg status database" msgstr "" -#: lib/mlib.c:47 +#: lib/mlib.c:48 #, c-format msgid "malloc failed (%ld bytes)" msgstr "" -#: lib/mlib.c:60 +#: lib/mlib.c:61 #, c-format msgid "realloc failed (%ld bytes)" msgstr "" -#: lib/mlib.c:67 +#: lib/mlib.c:68 #, c-format msgid "%s (subprocess): %s\n" msgstr "" -#: lib/mlib.c:80 +#: lib/mlib.c:81 msgid "fork failed" msgstr "" -#: lib/mlib.c:93 +#: lib/mlib.c:94 #, c-format msgid "failed to dup for std%s" msgstr "" -#: lib/mlib.c:94 +#: lib/mlib.c:95 #, c-format msgid "failed to dup for fd %d" msgstr "" -#: lib/mlib.c:100 +#: lib/mlib.c:101 msgid "failed to create pipe" msgstr "" -#: lib/mlib.c:107 +#: lib/mlib.c:108 #, c-format msgid "subprocess %s returned error exit status %d" msgstr "" -#: lib/mlib.c:110 +#: lib/mlib.c:111 #, c-format msgid "subprocess %s killed by signal (%s)%s" msgstr "" -#: lib/mlib.c:113 +#: lib/mlib.c:114 #, c-format msgid "subprocess %s failed with wait status code %d" msgstr "" -#: lib/mlib.c:122 main/help.c:364 +#: lib/mlib.c:123 main/help.c:367 #, c-format msgid "wait for %s failed" msgstr "" -#: lib/mlib.c:129 +#: lib/mlib.c:137 #, c-format -msgid "failed to allocate buffer for copy (%s)" +msgid "failed in do_fd_write_fd (%s)" msgstr "" -#: lib/mlib.c:130 -#, c-format -msgid "failed in copy on write (%s)" +#: lib/mlib.c:142 +msgid "failed in do_fd_write_fd" msgstr "" -#: lib/mlib.c:131 +#: lib/mlib.c:195 #, c-format -msgid "failed in copy on read (%s)" -msgstr "" - -#: lib/mlib.c:136 -msgid "failed to allocate buffer for snprintf 1" -msgstr "" - -#: lib/mlib.c:148 lib/mlib.c:160 -msgid "failed to allocate buffer for snprintf 2" +msgid "failed to allocate buffer in do_fd_read (%s)" msgstr "" -#: lib/mlib.c:165 -msgid "failed in copy on read (control)" +#: lib/mlib.c:215 +#, c-format +msgid "failed in do_fd_read on read (%s)" msgstr "" #: lib/myopt.c:38 @@ -484,57 +476,57 @@ msgstr "" msgid "failed to open configuration file `%.255s' for reading" msgstr "" -#: lib/myopt.c:67 +#: lib/myopt.c:70 #, c-format msgid "configuration error: unknown option %s" msgstr "" -#: lib/myopt.c:70 +#: lib/myopt.c:73 #, c-format msgid "configuration error: %s needs a value" msgstr "" -#: lib/myopt.c:74 +#: lib/myopt.c:77 #, c-format msgid "configuration error: %s does not take a value" msgstr "" -#: lib/myopt.c:79 +#: lib/myopt.c:82 #, c-format msgid "read error in configuration file `%.255s'" msgstr "" -#: lib/myopt.c:80 +#: lib/myopt.c:83 #, c-format msgid "error closing configuration file `%.255s'" msgstr "" -#: lib/myopt.c:103 +#: lib/myopt.c:106 #, c-format msgid "unknown option --%s" msgstr "" -#: lib/myopt.c:107 +#: lib/myopt.c:110 #, c-format msgid "--%s option takes a value" msgstr "" -#: lib/myopt.c:112 +#: lib/myopt.c:115 #, c-format msgid "--%s option does not take a value" msgstr "" -#: lib/myopt.c:119 +#: lib/myopt.c:122 #, c-format msgid "unknown option -%c" msgstr "" -#: lib/myopt.c:124 +#: lib/myopt.c:127 #, c-format msgid "-%c option takes a value" msgstr "" -#: lib/myopt.c:132 +#: lib/myopt.c:135 #, c-format msgid "-%c option does not take a value" msgstr "" @@ -544,79 +536,79 @@ msgstr "" msgid "failed to open package info file `%.255s' for reading" msgstr "" -#: lib/parse.c:124 +#: lib/parse.c:123 #, c-format msgid "EOF after field name `%.50s'" msgstr "" -#: lib/parse.c:127 +#: lib/parse.c:126 #, c-format msgid "newline in field name `%.50s'" msgstr "" -#: lib/parse.c:130 +#: lib/parse.c:129 #, c-format msgid "MSDOS EOF (^Z) in field name `%.50s'" msgstr "" -#: lib/parse.c:133 +#: lib/parse.c:132 #, c-format msgid "field name `%.50s' must be followed by colon" msgstr "" -#: lib/parse.c:141 +#: lib/parse.c:140 #, c-format msgid "EOF before value of field `%.50s' (missing final newline)" msgstr "" -#: lib/parse.c:145 +#: lib/parse.c:144 #, c-format msgid "MSDOS EOF char in value of field `%.50s' (missing newline?)" msgstr "" -#: lib/parse.c:156 +#: lib/parse.c:155 #, c-format msgid "EOF during value of field `%.50s' (missing final newline)" msgstr "" -#: lib/parse.c:173 +#: lib/parse.c:172 #, c-format msgid "duplicate value for `%s' field" msgstr "" -#: lib/parse.c:178 +#: lib/parse.c:177 #, c-format msgid "user-defined field name `%s' too short" msgstr "" -#: lib/parse.c:183 +#: lib/parse.c:182 #, c-format msgid "duplicate value for user-defined field `%.50s'" msgstr "" -#: lib/parse.c:196 +#: lib/parse.c:195 msgid "several package info entries found, only one allowed" msgstr "" -#: lib/parse.c:224 +#: lib/parse.c:223 msgid "Configured-Version for package with inappropriate Status" msgstr "" -#: lib/parse.c:238 +#: lib/parse.c:237 msgid "Package which in state not-installed has conffiles, forgetting them" msgstr "" -#: lib/parse.c:286 +#: lib/parse.c:285 #, c-format msgid "failed to read from `%.255s'" msgstr "" -#: lib/parse.c:288 +#: lib/parse.c:287 #, c-format msgid "failed to close after read: `%.255s'" msgstr "" -#: lib/parse.c:289 +#: lib/parse.c:288 #, c-format msgid "no package information in `%.255s'" msgstr "" @@ -695,7 +687,7 @@ msgstr "" msgid "cannot open GPL file " msgstr "" -#: lib/varbuf.c:77 +#: lib/varbuf.c:93 msgid "failed to realloc for variable buffer" msgstr "" @@ -1733,134 +1725,144 @@ msgid "" "assuming package has no files currently installed.\n" msgstr "" -#: main/filesdb.c:174 +#: main/filesdb.c:150 +#, c-format +msgid "files list for package `%.250s'" +msgstr "" + +#: main/filesdb.c:163 #, c-format msgid "files list file for package `%.250s' contains empty filename" msgstr "" -#: main/filesdb.c:185 +#: main/filesdb.c:174 #, c-format msgid "error closing files list file for package `%.250s'" msgstr "" -#: main/filesdb.c:187 +#: main/filesdb.c:176 #, c-format msgid "files list file for package `%.250s' is truncated" msgstr "" -#: main/filesdb.c:218 +#: main/filesdb.c:207 msgid "(Reading database ... " msgstr "" -#: main/filesdb.c:218 +#: main/filesdb.c:207 msgid "(Scanning database ... " msgstr "" -#: main/filesdb.c:226 +#: main/filesdb.c:215 #, c-format msgid "%d files and directories currently installed.)\n" msgstr "" -#: main/filesdb.c:257 +#: main/filesdb.c:246 #, c-format msgid "unable to create updated files list file for package %s" msgstr "" -#: main/filesdb.c:267 +#: main/filesdb.c:256 #, c-format msgid "failed to write to updated files list file for package %s" msgstr "" -#: main/filesdb.c:269 +#: main/filesdb.c:258 #, c-format msgid "failed to flush updated files list file for package %s" msgstr "" -#: main/filesdb.c:271 +#: main/filesdb.c:260 #, c-format msgid "failed to sync updated files list file for package %s" msgstr "" -#: main/filesdb.c:274 +#: main/filesdb.c:263 #, c-format msgid "failed to close updated files list file for package %s" msgstr "" -#: main/filesdb.c:276 +#: main/filesdb.c:265 #, c-format msgid "failed to install updated files list file for package %s" msgstr "" -#: main/filesdb.c:341 +#: main/filesdb.c:330 msgid "failed to open statoverride file" msgstr "" -#: main/filesdb.c:345 +#: main/filesdb.c:334 msgid "failed to fstat statoverride file" msgstr "" -#: main/filesdb.c:348 +#: main/filesdb.c:337 msgid "failed to fstat previous statoverride file" msgstr "" -#: main/filesdb.c:383 +#: main/filesdb.c:349 +#, c-format +msgid "statoverride file `%.250s'" +msgstr "" + +#: main/filesdb.c:362 msgid "statoverride file contains empty line" msgstr "" -#: main/filesdb.c:468 +#: main/filesdb.c:447 msgid "failed to open diversions file" msgstr "" -#: main/filesdb.c:472 +#: main/filesdb.c:451 msgid "failed to fstat previous diversions file" msgstr "" -#: main/filesdb.c:474 +#: main/filesdb.c:453 msgid "failed to fstat diversions file" msgstr "" -#: main/filesdb.c:496 +#: main/filesdb.c:475 msgid "fgets gave an empty string from diversions [i]" msgstr "" -#: main/filesdb.c:497 +#: main/filesdb.c:476 msgid "diversions file has too-long line or EOF [i]" msgstr "" -#: main/filesdb.c:503 +#: main/filesdb.c:482 msgid "read error in diversions [ii]" msgstr "" -#: main/filesdb.c:504 +#: main/filesdb.c:483 msgid "unexpected EOF in diversions [ii]" msgstr "" -#: main/filesdb.c:507 +#: main/filesdb.c:486 msgid "fgets gave an empty string from diversions [ii]" msgstr "" -#: main/filesdb.c:508 main/filesdb.c:519 +#: main/filesdb.c:487 main/filesdb.c:498 msgid "diversions file has too-long line or EOF [ii]" msgstr "" -#: main/filesdb.c:514 +#: main/filesdb.c:493 msgid "read error in diversions [iii]" msgstr "" -#: main/filesdb.c:515 +#: main/filesdb.c:494 msgid "unexpected EOF in diversions [iii]" msgstr "" -#: main/filesdb.c:518 +#: main/filesdb.c:497 msgid "fgets gave an empty string from diversions [iii]" msgstr "" -#: main/filesdb.c:526 +#: main/filesdb.c:505 #, c-format msgid "conflicting diversions involving `%.250s' or `%.250s'" msgstr "" -#: main/filesdb.c:535 +#: main/filesdb.c:514 msgid "read error in diversions [i]" msgstr "" @@ -1888,116 +1890,116 @@ msgstr "" msgid "not installed but configs remain" msgstr "" -#: main/help.c:84 +#: main/help.c:87 msgid "dpkg - warning: PATH is not set.\n" msgstr "" -#: main/help.c:99 +#: main/help.c:102 #, c-format msgid "dpkg: `%s' not found on PATH.\n" msgstr "" -#: main/help.c:106 +#: main/help.c:109 #, c-format msgid "" "%d expected program(s) not found on PATH.\n" "NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin." msgstr "" -#: main/help.c:176 +#: main/help.c:179 #, c-format msgid "failed to chroot to `%.250s'" msgstr "" -#: main/help.c:223 +#: main/help.c:226 #, c-format msgid "error un-catching signal %s: %s\n" msgstr "" -#: main/help.c:241 +#: main/help.c:244 #, c-format msgid "unable to ignore signal %s before running script" msgstr "" -#: main/help.c:250 +#: main/help.c:253 #, c-format msgid "unable to set execute permissions on `%.250s'" msgstr "" -#: main/help.c:274 +#: main/help.c:277 #, c-format msgid "unable to stat installed %s script `%.250s'" msgstr "" -#: main/help.c:281 main/help.c:360 main/help.c:400 +#: main/help.c:284 main/help.c:363 main/help.c:403 #, c-format msgid "unable to execute %s" msgstr "" -#: main/help.c:311 +#: main/help.c:314 #, c-format msgid "unable to stat new %s script `%.250s'" msgstr "" -#: main/help.c:318 +#: main/help.c:321 #, c-format msgid "unable to execute new %s" msgstr "" -#: main/help.c:344 +#: main/help.c:347 #, c-format msgid "old %s script" msgstr "" -#: main/help.c:352 +#: main/help.c:355 #, c-format msgid "dpkg: warning - unable to stat %s `%.250s': %s\n" msgstr "" -#: main/help.c:368 +#: main/help.c:371 #, c-format msgid "dpkg: warning - %s returned error exit status %d\n" msgstr "" -#: main/help.c:371 +#: main/help.c:374 #, c-format msgid "dpkg: warning - %s killed by signal (%s)%s\n" msgstr "" -#: main/help.c:374 +#: main/help.c:377 #, c-format msgid "%s failed with unknown wait status code %d" msgstr "" -#: main/help.c:378 +#: main/help.c:381 msgid "dpkg - trying script from the new package instead ...\n" msgstr "" -#: main/help.c:385 +#: main/help.c:388 #, c-format msgid "new %s script" msgstr "" -#: main/help.c:389 +#: main/help.c:392 msgid "there is no script in the new version of the package - giving up" msgstr "" -#: main/help.c:391 +#: main/help.c:394 #, c-format msgid "unable to stat %s `%.250s'" msgstr "" -#: main/help.c:405 +#: main/help.c:408 msgid "dpkg: ... it looks like that went OK.\n" msgstr "" #. Huh ? -#: main/help.c:500 +#: main/help.c:503 #, c-format msgid "failed to rmdir/unlink `%.255s'" msgstr "" -#: dpkg-deb/info.c:52 main/help.c:504 +#: dpkg-deb/info.c:52 main/help.c:507 msgid "failed to exec rm for cleanup" msgstr "" @@ -2839,8 +2841,8 @@ msgstr "" msgid "failed to rewind tmpfile (data)" msgstr "" -#: dpkg-deb/build.c:461 -msgid "failed to exec cat (data)" +#: dpkg-deb/build.c:459 +msgid "cat (data)" msgstr "" #: dpkg-deb/extract.c:48 @@ -2993,59 +2995,51 @@ msgid "failed to syscall lseek to files archive portion" msgstr "" #: dpkg-deb/extract.c:248 -msgid "failed to fdopen p1 in copy" -msgstr "" - -#: dpkg-deb/extract.c:250 -msgid "member data" -msgstr "" - -#: dpkg-deb/extract.c:251 msgid "failed to write to pipe in copy" msgstr "" -#: dpkg-deb/extract.c:254 +#: dpkg-deb/extract.c:249 msgid "failed to close pipe in copy" msgstr "" -#: dpkg-deb/extract.c:267 +#: dpkg-deb/extract.c:262 msgid "failed to exec gzip -dc" msgstr "" -#: dpkg-deb/extract.c:275 +#: dpkg-deb/extract.c:270 msgid "failed to create directory" msgstr "" -#: dpkg-deb/extract.c:276 +#: dpkg-deb/extract.c:271 msgid "failed to chdir to directory after creating it" msgstr "" -#: dpkg-deb/extract.c:278 +#: dpkg-deb/extract.c:273 msgid "failed to chdir to directory" msgstr "" -#: dpkg-deb/extract.c:292 +#: dpkg-deb/extract.c:287 msgid "failed to exec tar" msgstr "" -#: dpkg-deb/extract.c:315 dpkg-deb/extract.c:330 dpkg-deb/info.c:66 +#: dpkg-deb/extract.c:310 dpkg-deb/extract.c:325 dpkg-deb/info.c:66 #, c-format msgid "--%s needs a .deb filename argument" msgstr "" -#: dpkg-deb/extract.c:318 +#: dpkg-deb/extract.c:313 #, c-format msgid "" "--%s needs a target directory.\n" "Perhaps you should be using dpkg --install ?" msgstr "" -#: dpkg-deb/extract.c:321 +#: dpkg-deb/extract.c:316 #, c-format msgid "--%s takes at most two arguments (.deb and directory)" msgstr "" -#: dpkg-deb/extract.c:332 +#: dpkg-deb/extract.c:327 #, c-format msgid "--%s takes only one argument (.deb filename)" msgstr "" -- 2.39.5