Browse Source

apache: fix reproducible builds

Remove build timestamp [0] and correct sorting [1].
Thanks to debian for the patch.

[0] https://reproducible-builds.org/docs/timestamps/
[1] https://reproducible-builds.org/docs/stable-inputs/

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
lilik-openwrt-22.03
Alexander Couzens 7 years ago
parent
commit
f06b980bef
2 changed files with 45 additions and 1 deletions
  1. +1
    -1
      net/apache/Makefile
  2. +44
    -0
      net/apache/patches/010-reproducible-builds.patch

+ 1
- 1
net/apache/Makefile View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=apache
PKG_VERSION:=2.4.28
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE_NAME:=httpd
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
PKG_LICENSE:=Apache License


+ 44
- 0
net/apache/patches/010-reproducible-builds.patch View File

@ -0,0 +1,44 @@
Description: Make builds reproducible
Don't use __DATE__ __TIME__. Use changelog date instead.
Sort exported symbols.
Author: Jean-Michel Vourgère <nirgal@debian.org>
Forwarded: no
Last-Update: 2015-08-11
Index: apache2/server/buildmark.c
===================================================================
--- apache2.orig/server/buildmark.c
+++ apache2/server/buildmark.c
@@ -17,11 +17,7 @@
#include "ap_config.h"
#include "httpd.h"
-#if defined(__DATE__) && defined(__TIME__)
-static const char server_built[] = __DATE__ " " __TIME__;
-#else
-static const char server_built[] = "unknown";
-#endif
+static const char server_built[] = "";
AP_DECLARE(const char *) ap_get_server_built()
{
Index: apache2/server/Makefile.in
===================================================================
--- apache2.orig/server/Makefile.in
+++ apache2/server/Makefile.in
@@ -1,3 +1,4 @@
+export LC_ALL = C
CLEAN_TARGETS = gen_test_char test_char.h \
ApacheCoreOS2.def httpd.exp export_files \
@@ -80,8 +81,8 @@ httpd.exp: exports.c export_vars.h
@echo "#! ." > $@
@echo "* This file was AUTOGENERATED at build time." >> $@
@echo "* Please do not edit by hand." >> $@
- $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | grep -v apr_ | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
- $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep -v apr_ | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@
+ $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | grep -v apr_ | sed -e 's/^.*[)]\(.*\);$$/\1/' | sort >> $@
+ $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep -v apr_ | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' | sort >> $@
# developer stuff

Loading…
Cancel
Save