rpm->map = razor_file_get_contents(filename, &rpm->size);
if (!rpm->map) {
- fprintf(stderr, "couldn't get contents of %s (%m)\n", filename);
+ fprintf(stderr, "couldn't get contents of %s (%s)\n", filename,
+ strerror(errno));
return NULL;
}
installer->stream.avail_out = length;
err = inflate(&installer->stream, Z_SYNC_FLUSH);
if (err != Z_OK && err != Z_STREAM_END) {
- fprintf(stderr, "inflate error: %d (%m)\n", err);
+ fprintf(stderr, "inflate error: %d (%s)\n", err,
+ strerror(errno));
return -1;
}
err = inflate(&installer->stream, Z_SYNC_FLUSH);
if (err != Z_OK && err != Z_STREAM_END) {
- fprintf(stderr, "inflate error: %d (%m)\n", err);
+ fprintf(stderr, "inflate error: %d (%s)\n", err,
+ strerror(errno));
return -1;
}
}
}
if (close(fd) < 0) {
- fprintf(stderr, "failed to close %s: %m\n", buffer);
+ fprintf(stderr, "failed to close %s: %s\n", buffer,
+ strerror(errno));
return -1;
}
return 0;
}
installer->buffer[installer->length] = '\0';
if (symlink((const char *) installer->buffer, buffer)) {
- fprintf(stderr, "failed to create symlink, %m\n");
+ perror("failed to create symlink");
return -1;
}
return 0;
}
pid = fork();
if (pid < 0) {
- fprintf(stderr, "failed to fork, %m\n");
+ perror("failed to fork");
} else if (pid == 0) {
if (dup2(fd[0], STDIN_FILENO) < 0) {
- fprintf(stderr, "failed redirect stdin, %m\n");
+ perror("failed redirect stdin");
exit(-1);
}
if (close(fd[0]) < 0 || close(fd[1]) < 0) {
- fprintf(stderr, "failed to close pipe, %m\n");
+ perror("failed to close pipe");
exit(-1);
}
if (chroot(installer->root) < 0) {
- fprintf(stderr, "failed to chroot to %s, %m\n",
- installer->root);
+ fprintf(stderr, "failed to chroot to %s: %s\n",
+ installer->root, strerror(errno));
exit(-1);
}
printf("executing program %s in chroot %s\n",
program, installer->root);
if (execl(program, program, NULL)) {
- fprintf(stderr, "failed to exec %s, %m\n", program);
+ fprintf(stderr, "failed to exec %s: %s\n", program,
+ strerror(errno));
exit(-1);
}
} else {
if (script && razor_write(fd[1], script, strlen(script)) < 0) {
- fprintf(stderr, "failed to pipe script, %m\n");
+ perror("failed to pipe script");
return -1;
}
if (close(fd[0]) || close(fd[1])) {
- fprintf(stderr, "failed to close pipe, %m\n");
+ perror("failed to close pipe");
return -1;
}
if (wait(&status) < 0) {
- fprintf(stderr, "wait for child failed, %m");
+ perror("wait for child failed");
return -1;
}
if (status)
#else
fp = popen(program, "w");
if (fwrite(script, strlen(script), 1, fp) != 1) {
- fprintf(stderr, "failed to pipe script, %m\n");
+ perror("failed to pipe script");
return -1;
}
pclose(fp);