aboutsummaryrefslogtreecommitdiffstats
path: root/dumpdistribconf
Commit message (Collapse)AuthorAgeFilesLines
* Use modules in the new namespace MDV::Rafael Garcia-Suarez2005-11-151-3/+3
|
* Use meaningful return values for DistribConf::load()Rafael Garcia-Suarez2005-09-301-1/+1
|
* Don't give two meanings to -hRafael Garcia-Suarez2005-09-301-5/+5
|
* Use Pod::UsageRafael Garcia-Suarez2005-09-291-12/+43
|
* Use Distribconf::Build, or else it will go boomRafael Garcia-Suarez2005-09-291-19/+15
|
* - s/mandrake/mandriva/Olivier Thauvin2005-09-061-1/+1
|
* - initials release for managing mandrakelinux distro treeOlivier Thauvin2005-02-201-0/+48
opt">: f; } int_32 FD_size(FD_t fd) { struct stat sb; fstat(fdFileno(fd), &sb); return sb.st_size; } int main(int argc, char **argv) { int i; FD_t fout; if (argc < 2) { fprintf(stderr, "usage: rpm2header <rpms>\n"); exit(1); } fout = fdDup(1 /*stdout*/); for (i = 1; i < argc; i++) { FD_t fd; Header h; int_32 size; const char *name = basename(argv[i]); #ifdef RPM_42 rpmts ts; /* rpmVSFlags vsflags, ovsflags; */ #else int isSource; #endif fprintf(stderr, "%s\n", argv[i]); if (!(fd = fdOpen(argv[i], O_RDONLY, 0666))) { perror("open"); exit(1); } size = FD_size(fd); #ifdef RPM_42 ts = rpmtsCreate(); rpmtsSetVSFlags(ts, _RPMVSF_NOSIGNATURES); if (rpmReadPackageFile(ts, fd, argv[1], &h) == 0) { #else if (rpmReadPackageHeader(fd, &h, &isSource, NULL, NULL) == 0) { #endif headerRemoveEntry(h, RPMTAG_POSTIN); headerRemoveEntry(h, RPMTAG_POSTUN); headerRemoveEntry(h, RPMTAG_PREIN); headerRemoveEntry(h, RPMTAG_PREUN); headerRemoveEntry(h, RPMTAG_FILEUSERNAME); headerRemoveEntry(h, RPMTAG_FILEGROUPNAME); headerRemoveEntry(h, RPMTAG_FILEVERIFYFLAGS); headerRemoveEntry(h, RPMTAG_FILERDEVS); headerRemoveEntry(h, RPMTAG_FILEMTIMES); headerRemoveEntry(h, RPMTAG_FILEDEVICES); headerRemoveEntry(h, RPMTAG_FILEINODES); headerRemoveEntry(h, RPMTAG_TRIGGERSCRIPTS); headerRemoveEntry(h, RPMTAG_TRIGGERVERSION); headerRemoveEntry(h, RPMTAG_TRIGGERFLAGS); headerRemoveEntry(h, RPMTAG_TRIGGERNAME); headerRemoveEntry(h, RPMTAG_CHANGELOGTIME); headerRemoveEntry(h, RPMTAG_CHANGELOGNAME); headerRemoveEntry(h, RPMTAG_CHANGELOGTEXT); headerRemoveEntry(h, RPMTAG_ICON); headerRemoveEntry(h, RPMTAG_GIF); headerRemoveEntry(h, RPMTAG_VENDOR); headerRemoveEntry(h, RPMTAG_EXCLUDE); headerRemoveEntry(h, RPMTAG_EXCLUSIVE); headerRemoveEntry(h, RPMTAG_DISTRIBUTION); headerRemoveEntry(h, RPMTAG_VERIFYSCRIPT); /* removing that break updates. headerRemoveEntry(h, RPMTAG_OLDFILENAMES); headerRemoveEntry(h, RPMTAG_BASENAMES); headerRemoveEntry(h, RPMTAG_DIRINDEXES); headerRemoveEntry(h, RPMTAG_DIRNAMES); */ headerAddEntry(h, FILENAME_TAG, RPM_STRING_TYPE, name, 1); headerAddEntry(h, FILESIZE_TAG, RPM_INT32_TYPE, &size, 1); headerWrite(fout, h, HEADER_MAGIC_YES); headerFree(h); } fdClose(fd); } return 0; }