[prev in list] [next in list] [prev in thread] [next in thread]
List: rpm-cvs
Subject: [CVS] RPM: rpm-5_4: rpm/ CHANGES rpm/build/ names.c pack.c
From: "Jeff Johnson" <jbj () rpm5 ! org>
Date: 2017-04-11 17:04:52
Message-ID: 20170411170452.4ADA655025 () rpm5 ! org
[Download RAW message or body]
RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
Module: rpm Date: 11-Apr-2017 19:04:52
Branch: rpm-5_4 Handle: 2017041117045101
Modified files: (Branch: rpm-5_4)
rpm CHANGES
rpm/build names.c pack.c
Log:
- build: add usecs to RPMTAG_BUILDTIME/RPMTAG_COOKIE.
Summary:
Revision Changes Path
1.3501.2.530+1 -0 rpm/CHANGES
1.40.6.2 +25 -3 rpm/build/names.c
2.324.2.20 +4 -3 rpm/build/pack.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.3501.2.529 -r1.3501.2.530 CHANGES
--- rpm/CHANGES 11 Apr 2017 17:02:08 -0000 1.3501.2.529
+++ rpm/CHANGES 11 Apr 2017 17:04:51 -0000 1.3501.2.530
@@ -1,4 +1,5 @@
5.4.17 -> 5.4.18:
+ - jbj: build: add usecs to RPMTAG_BUILDTIME/RPMTAG_COOKIE.
- jbj: header: minor optimization for headerGet().
- jbj: header: fix: accomodate rpm.org unsorted signature header bug.
- jbj: rpmio: pass glibc-peculier 'x' and 'e' to stdio fopen(3).
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/names.c
============================================================================
$ cvs diff -u -r1.40.6.1 -r1.40.6.2 names.c
--- rpm/build/names.c 26 Jul 2013 08:19:37 -0000 1.40.6.1
+++ rpm/build/names.c 11 Apr 2017 17:04:52 -0000 1.40.6.2
@@ -196,10 +196,32 @@
rpmuint32_t * getBuildTime(void)
{
- static rpmuint32_t buildTime[1];
+ static rpmuint32_t buildTime[2];
+ struct timespec ts = { 0, 0 };
+ struct timeval tv = { 0, 0 };
- if (buildTime[0] == 0)
- buildTime[0] = (rpmuint32_t) time(NULL);
+ if (buildTime[0] != 0)
+ goto exit;
+
+ errno = 0;
+
+ if (!clock_gettime(CLOCK_REALTIME, &ts)) {
+ tv.tv_sec = ts.tv_sec;
+ tv.tv_usec = ts.tv_nsec/1000;
+ } else
+ if (!gettimeofday(&tv, NULL)) {
+ ts.tv_sec = tv.tv_sec;
+ ts.tv_nsec = tv.tv_usec * 1000;
+ } else {
+ ts.tv_sec = tv.tv_sec = time(NULL);
+ ts.tv_nsec = tv.tv_usec = 0;
+ }
+
+ /* XXX avoid "legacy incompatbility" for now.*/
+ buildTime[0] = (rpm_time_t) tv.tv_sec;
+ buildTime[1] = (rpm_time_t) tv.tv_usec;
+
+exit:
return buildTime;
}
@@ .
patch -p0 <<'@@ .'
Index: rpm/build/pack.c
============================================================================
$ cvs diff -u -r2.324.2.19 -r2.324.2.20 pack.c
--- rpm/build/pack.c 20 Apr 2016 12:05:38 -0000 2.324.2.19
+++ rpm/build/pack.c 11 Apr 2017 17:04:52 -0000 2.324.2.20
@@ -761,8 +761,9 @@
/* Create and add the cookie */
if (cookie) {
- sprintf(buf, "%s %u", buildHost(), (unsigned) (*getBuildTime()));
- *cookie = xstrdup(buf); /* XXX memory leak */
+ rpmuint32_t * bt = getBuildTime();
+ sprintf(buf, "%s %u.%06u", buildHost(), (unsigned)bt[0], (unsigned)bt[1]);
+ *cookie = xstrdup(buf); /* XXX memory leak? */
he->tag = RPMTAG_COOKIE;
he->t = RPM_STRING_TYPE;
he->p.str = *cookie;
@@ -1138,7 +1139,7 @@
he->tag = RPMTAG_BUILDTIME;
he->t = RPM_UINT32_TYPE;
he->p.ui32p = getBuildTime();
- he->c = 1;
+ he->c = 2;
xx = headerPut(h, he, 0);
return 0;
@@ .
______________________________________________________________________
RPM Package Manager http://rpm5.org
CVS Sources Repository rpm-cvs@rpm5.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic