rpm/tarrecordsize.diff

18 lines
623 B
Diff

--- ./build.c.orig 2010-04-07 14:56:36.000000000 +0000
+++ ./build.c 2010-04-07 14:58:52.000000000 +0000
@@ -126,7 +126,13 @@ static char * getTarSpec(const char *arg
if (!(fp = popen(cmd, "r"))) {
rpmlog(RPMLOG_ERR, _("Failed to open tar pipe: %m\n"));
} else {
- char *fok = fgets(tarbuf, sizeof(tarbuf) - 1, fp);
+ char *fok;
+ for (;;) {
+ fok = fgets(tarbuf, sizeof(tarbuf) - 1, fp);
+ /* tar sometimes prints "tar: Record size = 16" messages */
+ if (!fok || strncmp(fok, "tar: ", 5) != 0)
+ break;
+ }
pclose(fp);
gotspec = (fok != NULL) && isSpecFile(tmpSpecFile);
}