better cpio error message if package contains missing hard links.

CVS patchset: 3058
CVS date: 1999/05/11 20:05:43
This commit is contained in:
jbj 1999-05-11 20:05:43 +00:00
parent c276bd3827
commit ac640010ef
4 changed files with 23 additions and 17 deletions

View File

@ -15,6 +15,7 @@
- add rpm prefix to MD5 routines to avoid name conflict on solaris.
- fix: resurrect -Vp, -Vf and -Vg functionality.
- colesce query and verify modes.
- better cpio error message if package contains missing hard links.
2.94 -> 2.95
- fix: last update transaction set segfault bug in installer.

View File

@ -583,7 +583,6 @@ int cpioInstallArchive(CFD_t *cfd, struct cpioFileMapping * mappings,
to create those anyway */
if (S_ISREG(ch.mode) && ch.nlink > 1) {
li = links;
for (li = links; li; li = li->next) {
if (li->inode == ch.inode && li->dev == ch.dev) break;
}
@ -636,7 +635,7 @@ int cpioInstallArchive(CFD_t *cfd, struct cpioFileMapping * mappings,
/* this mimicks cpio but probably isnt' right */
rc = expandFifo(cfd, &ch);
} else {
rc = CPIOERR_INTERNAL;
rc = CPIOERR_UNKNOWN_FILETYPE;
}
}
@ -677,7 +676,7 @@ int cpioInstallArchive(CFD_t *cfd, struct cpioFileMapping * mappings,
while (li && !rc) {
if (li->linksLeft) {
if (li->createdPath == -1)
rc = CPIOERR_INTERNAL;
rc = CPIOERR_MISSING_HARDLINK;
else
rc = createLinks(li, failedFile);
}
@ -1019,9 +1018,10 @@ const char * cpioStrerror(int rc)
case CPIOERR_READ_FAILED: s = "read"; break;
case CPIOERR_COPY_FAILED: s = "copy"; break;
case CPIOERR_INTERNAL: s = _("Internal error"); break;
case CPIOERR_HDR_SIZE: s = _("Header size too big"); break;
case CPIOERR_UNKNOWN_FILETYPE: s = _("Unknown file type"); break;
case CPIOERR_MISSING_HARDLINK: s = _("Missing hard link"); break;
case CPIOERR_INTERNAL: s = _("Internal error"); break;
}
l = sizeof(msg) - strlen(msg) - 1;

View File

@ -28,9 +28,10 @@
#define CPIOERR_READLINK_FAILED (17 | CPIOERR_CHECK_ERRNO)
#define CPIOERR_READ_FAILED (18 | CPIOERR_CHECK_ERRNO)
#define CPIOERR_COPY_FAILED (19 | CPIOERR_CHECK_ERRNO)
#define CPIOERR_INTERNAL (20 )
#define CPIOERR_HDR_SIZE (21 )
#define CPIOERR_UNKNOWN_FILETYPE (22 )
#define CPIOERR_HDR_SIZE (20 )
#define CPIOERR_UNKNOWN_FILETYPE (21 )
#define CPIOERR_MISSING_HARDLINK (22 )
#define CPIOERR_INTERNAL (23 )
/* Don't think this behaves just like standard cpio. It's pretty close, but

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 1999-05-11 12:17-0400\n"
"POT-Creation-Date: 1999-05-11 15:50-0400\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"
@ -2230,31 +2230,35 @@ msgstr ""
msgid "getNextHeader: %s\n"
msgstr ""
#: ../lib/cpio.c:1000
#: ../lib/cpio.c:999
#, c-format
msgid "(error 0x%x)"
msgstr ""
#: ../lib/cpio.c:1003
#: ../lib/cpio.c:1002
msgid "Bad magic"
msgstr ""
#: ../lib/cpio.c:1004
#: ../lib/cpio.c:1003
msgid "Bad/unreadable header"
msgstr ""
#: ../lib/cpio.c:1022
msgid "Internal error"
msgstr ""
#: ../lib/cpio.c:1023
#: ../lib/cpio.c:1021
msgid "Header size too big"
msgstr ""
#: ../lib/cpio.c:1024
#: ../lib/cpio.c:1022
msgid "Unknown file type"
msgstr ""
#: ../lib/cpio.c:1023
msgid "Missing hard link"
msgstr ""
#: ../lib/cpio.c:1024
msgid "Internal error"
msgstr ""
#: ../lib/cpio.c:1033
msgid " failed - "
msgstr ""