Make build of nscd reproducible
This commit is contained in:
parent
e2343bce79
commit
95f1260cfd
70
glibc-nscd-reproducible.patch
Normal file
70
glibc-nscd-reproducible.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
commit 1e9522c61c7a544d59db32cb7fbbd42e6793d848
|
||||||
|
Author: Florian Weimer <fweimer@redhat.com>
|
||||||
|
Date: Thu Oct 5 18:14:27 2017 +0200
|
||||||
|
|
||||||
|
nscd: Eliminate compilation time dependency in the build output
|
||||||
|
|
||||||
|
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/nscd/nscd_stat.c b/nscd/nscd_stat.c
|
||||||
|
index feb1c98ac31edcb8..b1bc81bd6d7d7fd1 100644
|
||||||
|
--- a/nscd/nscd_stat.c
|
||||||
|
+++ b/nscd/nscd_stat.c
|
||||||
|
@@ -35,9 +35,23 @@
|
||||||
|
# include <selinux/avc.h>
|
||||||
|
#endif /* HAVE_SELINUX */
|
||||||
|
|
||||||
|
+/* We use this to make sure the receiver is the same. The lower 16
|
||||||
|
+ bits are reserved for flags indicating compilation variants. This
|
||||||
|
+ version needs to be updated if the definition of struct statdata
|
||||||
|
+ changes. */
|
||||||
|
+#define STATDATA_VERSION 0x01020000U
|
||||||
|
|
||||||
|
-/* We use this to make sure the receiver is the same. */
|
||||||
|
-static const char compilation[21] = __DATE__ " " __TIME__;
|
||||||
|
+#ifdef HAVE_SELINUX
|
||||||
|
+# define STATDATA_VERSION_SELINUX_FLAG 0x0001U
|
||||||
|
+#else
|
||||||
|
+# define STATDATA_VERSION_SELINUX_FLAG 0x0000U
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+/* All flags affecting the struct statdata layout. */
|
||||||
|
+#define STATDATA_VERSION_FLAGS STATDATA_VERSION_SELINUX_FLAG
|
||||||
|
+
|
||||||
|
+/* The full version number for struct statdata. */
|
||||||
|
+#define STATDATA_VERSION_FULL (STATDATA_VERSION | STATDATA_VERSION_FLAGS)
|
||||||
|
|
||||||
|
/* Statistic data for one database. */
|
||||||
|
struct dbstat
|
||||||
|
@@ -68,10 +82,11 @@ struct dbstat
|
||||||
|
uintmax_t addfailed;
|
||||||
|
};
|
||||||
|
|
||||||
|
-/* Record for transmitting statistics. */
|
||||||
|
+/* Record for transmitting statistics. If this definition changes,
|
||||||
|
+ update STATDATA_VERSION above. */
|
||||||
|
struct statdata
|
||||||
|
{
|
||||||
|
- char version[sizeof (compilation)];
|
||||||
|
+ unsigned int version; /* Must be STATDATA_VERSION_FULL. */
|
||||||
|
int debug_level;
|
||||||
|
time_t runtime;
|
||||||
|
unsigned long int client_queued;
|
||||||
|
@@ -96,7 +111,7 @@ send_stats (int fd, struct database_dyn dbs[lastdb])
|
||||||
|
|
||||||
|
memset (&data, 0, sizeof (data));
|
||||||
|
|
||||||
|
- memcpy (data.version, compilation, sizeof (compilation));
|
||||||
|
+ data.version = STATDATA_VERSION_FULL;
|
||||||
|
data.debug_level = debug_level;
|
||||||
|
data.runtime = time (NULL) - start_time;
|
||||||
|
data.client_queued = client_queued;
|
||||||
|
@@ -196,7 +211,7 @@ receive_print_stats (void)
|
||||||
|
|
||||||
|
/* Read as much data as we expect. */
|
||||||
|
if (TEMP_FAILURE_RETRY (read (fd, &data, sizeof (data))) != sizeof (data)
|
||||||
|
- || (memcmp (data.version, compilation, sizeof (compilation)) != 0
|
||||||
|
+ || (data.version != STATDATA_VERSION_FULL
|
||||||
|
/* Yes, this is an assignment! */
|
||||||
|
&& (errno = EINVAL)))
|
||||||
|
{
|
@ -286,6 +286,8 @@ Patch2110: glibc-rh1351108-update-to-unicode-9.0.0.patch
|
|||||||
# sln implemented by ldconfig, to conserve disk space.
|
# sln implemented by ldconfig, to conserve disk space.
|
||||||
Patch2112: glibc-rh1315476-2.patch
|
Patch2112: glibc-rh1315476-2.patch
|
||||||
|
|
||||||
|
Patch61: glibc-nscd-reproducible.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# End of glibc patches.
|
# End of glibc patches.
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@ -879,6 +881,7 @@ microbenchmark tests on the system.
|
|||||||
%patch2037 -p1
|
%patch2037 -p1
|
||||||
%patch2110 -p1
|
%patch2110 -p1
|
||||||
%patch2112 -p1
|
%patch2112 -p1
|
||||||
|
%patch61 -p1
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# %%prep - Additional prep required...
|
# %%prep - Additional prep required...
|
||||||
|
Loading…
Reference in New Issue
Block a user