00001
00002
00003 #include "system.h"
00004
00005 #include "header.h"
00006 #include "rpmlead.h"
00007 #include "signature.h"
00008 #include "debug.h"
00009
00010 int main(int argc, char **argv)
00011 {
00012 FD_t fdi, fdo;
00013 struct rpmlead lead;
00014 Header hd;
00015 int rc;
00016
00017 setprogname(argv[0]);
00018 if (argc == 1) {
00019 fdi = Fopen("-", "r.ufdio");
00020 } else {
00021 fdi = Fopen(argv[1], "r.ufdio");
00022 }
00023
00024 if (fdi == NULL || Ferror(fdi)) {
00025 perror("input");
00026 exit(EXIT_FAILURE);
00027 }
00028
00029 readLead(fdi, &lead);
00030 rpmReadSignature(fdi, NULL, lead.signature_type);
00031 hd = headerRead(fdi, (lead.major >= 3) ?
00032 HEADER_MAGIC_YES : HEADER_MAGIC_NO);
00033 fdo = Fopen("-", "w.ufdio");
00034 rc = headerWrite(fdo, hd, HEADER_MAGIC_YES);
00035
00036 return rc;
00037 }