RPM uses unix seconds-since-the-epoch for various event timestamps (e.g. 
RPMTAG_BUILDTIME/RPMTAG_INSTALLTIME) stored as a RPM_INT32_TYPE scalar in a 
Header.

Because scalar integers in RPM are (essentially) stored as an array with a 
single element, the tags used to store event time stamps can be extended to 2 
elements without creating "legacy incompatibilities".

The 2nd element can then store either tv_usecs (as in BSD gettimeofday(2) 
struct timeval) or tv_nsecs (as in struct timespec).

Both usecs or nsecs could be used in RPM tags with some means (e.g. setting the 
0x8000000 bit for tv_nsecs, or doing what glibc stat(2) is doing to move from 
struct timeval -> struct timespec).

I'll send along a patch for RPM in the next few days to start saving high 
precision timestamps in headers.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/197
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to