- fix: short aliases broken (#49213).
- python: "seal" immutable region for legacy headers in rhnUnload() .
- python: add poptmodule.so bindings.
+ - fix: %dev(...) needs to map rdev and mtime from metadata.
4.0 -> 4.0.[12]
- add doxygen and lclint annotations most everywhere.
(fi->fuids ? fi->fuids[i] : fi->uid); /* XXX chmod u-s */
gid_t finalGid =
(fi->fgids ? fi->fgids[i] : fi->gid); /* XXX chmod g-s */
+ dev_t finalRdev =
+ (fi->frdevs ? fi->frdevs[i] : 0);
+ int_32 finalMtime =
+ (fi->fmtimes ? fi->fmtimes[i] : 0);
if (fsm->mapFlags & CPIO_MAP_MODE)
st->st_mode = (st->st_mode & S_IFMT) | (finalMode & ~S_IFMT);
if ((S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode))
&& st->st_nlink == 0)
st->st_nlink = 1;
+ st->st_rdev = finalRdev;
+ st->st_mtime = finalMtime;
}
if (fsm->mapFlags & CPIO_MAP_UID)
st->st_uid = finalUid;
rc = hge(fi->h, RPMTAG_FILELINKTOS, NULL, (void **) &fi->flinks, NULL);
rc = hge(fi->h, RPMTAG_FILELANGS, NULL, (void **) &fi->flangs, NULL);
rc = hge(fi->h, RPMTAG_FILEMTIMES, NULL, (void **) &fi->fmtimes, NULL);
+ rc = hge(fi->h, RPMTAG_FILERDEVS, NULL, (void **) &fi->frdevs, NULL);
/* 0 makes for noops */
fi->replacedSizes = xcalloc(fi->fc, sizeof(*fi->replacedSizes));
/*@owned@*/ const char ** flinks; /*!< File link(s) (from header) */
/* XXX setuid/setgid bits are turned off if fuser/fgroup doesn't map. */
uint_16 * fmodes; /*!< File mode(s) (from header) */
+ uint_16 * frdevs; /*!< File rdev(s) (from header) */
/*@only@*/ /*@null@*/ char * fstates; /*!< File state(s) (from header) */
/*@owned@*/ const char ** fuser; /*!< File owner(s) */
/*@owned@*/ const char ** fgroup; /*!< File group(s) */