Fossil SCM
Fix the mkversion.c program to also respond to the SOURCE_DATE_EPOCH environment variable.
Commit
7d61b68208ba162fa9f679abf0eedbed8bb7fffd6c67b4d1a629fa642d97b307
Parent
7bb8ecc92b20221…
1 file changed
+6
-1
+6
-1
| --- src/mkversion.c | ||
| +++ src/mkversion.c | ||
| @@ -111,11 +111,16 @@ | ||
| 111 | 111 | if( n + 50 < sizeof(b) ){ |
| 112 | 112 | #ifdef FOSSIL_BUILD_EPOCH |
| 113 | 113 | #define str(s) #s |
| 114 | 114 | sprintf(b+n, "%d", (int)strtoll(str(FOSSIL_BUILD_EPOCH), 0, 10)); |
| 115 | 115 | #else |
| 116 | - sprintf(b+n, "%d", (int)time(0)); | |
| 116 | + const char *zEpoch = getenv("SOURCE_DATE_EPOCH"); | |
| 117 | + if( zEpoch && isdigit(zEpoch[0]) ){ | |
| 118 | + sprintf(b+n, "%d", (int)strtoll(zEpoch, 0, 10)); | |
| 119 | + }else{ | |
| 120 | + sprintf(b+n, "%d", (int)time(0)); | |
| 121 | + } | |
| 117 | 122 | #endif |
| 118 | 123 | hash(b,33,vx); |
| 119 | 124 | printf("#define FOSSIL_BUILD_HASH \"%s\"\n", vx); |
| 120 | 125 | } |
| 121 | 126 | m = open_for_reading(argv[2]); |
| 122 | 127 |
| --- src/mkversion.c | |
| +++ src/mkversion.c | |
| @@ -111,11 +111,16 @@ | |
| 111 | if( n + 50 < sizeof(b) ){ |
| 112 | #ifdef FOSSIL_BUILD_EPOCH |
| 113 | #define str(s) #s |
| 114 | sprintf(b+n, "%d", (int)strtoll(str(FOSSIL_BUILD_EPOCH), 0, 10)); |
| 115 | #else |
| 116 | sprintf(b+n, "%d", (int)time(0)); |
| 117 | #endif |
| 118 | hash(b,33,vx); |
| 119 | printf("#define FOSSIL_BUILD_HASH \"%s\"\n", vx); |
| 120 | } |
| 121 | m = open_for_reading(argv[2]); |
| 122 |
| --- src/mkversion.c | |
| +++ src/mkversion.c | |
| @@ -111,11 +111,16 @@ | |
| 111 | if( n + 50 < sizeof(b) ){ |
| 112 | #ifdef FOSSIL_BUILD_EPOCH |
| 113 | #define str(s) #s |
| 114 | sprintf(b+n, "%d", (int)strtoll(str(FOSSIL_BUILD_EPOCH), 0, 10)); |
| 115 | #else |
| 116 | const char *zEpoch = getenv("SOURCE_DATE_EPOCH"); |
| 117 | if( zEpoch && isdigit(zEpoch[0]) ){ |
| 118 | sprintf(b+n, "%d", (int)strtoll(zEpoch, 0, 10)); |
| 119 | }else{ |
| 120 | sprintf(b+n, "%d", (int)time(0)); |
| 121 | } |
| 122 | #endif |
| 123 | hash(b,33,vx); |
| 124 | printf("#define FOSSIL_BUILD_HASH \"%s\"\n", vx); |
| 125 | } |
| 126 | m = open_for_reading(argv[2]); |
| 127 |