diff options
-rw-r--r-- | libs/libwebsockets/Makefile | 6 | ||||
-rw-r--r-- | libs/libwebsockets/patches/001-CMakeLists-build-reproducible-by-default.patch | 78 | ||||
-rw-r--r-- | net/mosquitto/Makefile | 4 | ||||
-rw-r--r-- | net/mosquitto/patches/100-remove-build-timestamps.patch | 50 |
4 files changed, 133 insertions, 5 deletions
diff --git a/libs/libwebsockets/Makefile b/libs/libwebsockets/Makefile index be1945d6f..fcafa90df 100644 --- a/libs/libwebsockets/Makefile +++ b/libs/libwebsockets/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libwebsockets -PKG_VERSION:=2.4.0 -PKG_RELEASE:=1 +PKG_VERSION:=2.4.1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_URL:=https://codeload.github.com/warmcat/libwebsockets/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=0dc355c1f9a660b98667cc616fa4c4fe08dacdaeff2d5cc9f74e49e9d4af2d95 +PKG_HASH:=29414be4f79f6abc0e6aadccd09a4da0f0c431e3b5691f496acd081ae6a8240c PKG_SOURCE_VERSION:=v$(PKG_VERSION) diff --git a/libs/libwebsockets/patches/001-CMakeLists-build-reproducible-by-default.patch b/libs/libwebsockets/patches/001-CMakeLists-build-reproducible-by-default.patch new file mode 100644 index 000000000..c36a81dc3 --- /dev/null +++ b/libs/libwebsockets/patches/001-CMakeLists-build-reproducible-by-default.patch @@ -0,0 +1,78 @@ +From d7b6c04aaf416344332e73f49fe457013e3ccf36 Mon Sep 17 00:00:00 2001 +From: Alexander Couzens <lynxis@fe80.eu> +Date: Sun, 10 Dec 2017 00:54:06 +0100 +Subject: [PATCH] CMakeLists: build reproducible by default +Merged-upstream: yes + +Using the build user and build hostname as part of the git hash breaks +reproducible builds. Make this part optional, but build reproducible by +default. +--- + CMakeLists.txt | 47 +++++++++++++++++++++++++++-------------------- + 1 file changed, 27 insertions(+), 20 deletions(-) + +Index: libwebsockets-2.4.0/CMakeLists.txt +=================================================================== +--- libwebsockets-2.4.0.orig/CMakeLists.txt ++++ libwebsockets-2.4.0/CMakeLists.txt +@@ -39,26 +39,32 @@ message(STATUS "CMAKE_TOOLCHAIN_FILE='${ + find_package(Git) + if(GIT_EXECUTABLE) + execute_process( +- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" +- COMMAND "${GIT_EXECUTABLE}" describe +- OUTPUT_VARIABLE GIT_HASH +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ) +- execute_process( +- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" +- COMMAND "whoami" +- OUTPUT_VARIABLE GIT_USER +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ) +- execute_process( +- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" +- COMMAND "hostname" +- OUTPUT_VARIABLE GIT_HOST +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ) +- string(REGEX REPLACE "([^\\])[\\]([^\\])" "\\1\\\\\\\\\\2" GIT_USER ${GIT_USER}) +- set(LWS_BUILD_HASH ${GIT_USER}@${GIT_HOST}-${GIT_HASH}) +- message("Git commit hash: ${LWS_BUILD_HASH}") ++ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ++ COMMAND "${GIT_EXECUTABLE}" describe ++ OUTPUT_VARIABLE GIT_HASH ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ ) ++ set(LWS_BUILD_HASH ${GIT_HASH}) ++ ++ # appen the build user and hostname ++ if(NOT LWS_REPRODUCIBLE) ++ execute_process( ++ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ++ COMMAND "whoami" ++ OUTPUT_VARIABLE GIT_USER ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ ) ++ execute_process( ++ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ++ COMMAND "hostname" ++ OUTPUT_VARIABLE GIT_HOST ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ ) ++ string(REGEX REPLACE "([^\\])[\\]([^\\])" "\\1\\\\\\\\\\2" GIT_USER ${GIT_USER}) ++ set(LWS_BUILD_HASH ${GIT_USER}@${GIT_HOST}-${GIT_HASH}) ++ endif() ++ ++ message("Git commit hash: ${LWS_BUILD_HASH}") + endif() + + set(LWS_WITH_BUNDLED_ZLIB_DEFAULT OFF) +@@ -121,6 +127,7 @@ option(LWS_AVOID_SIGPIPE_IGN "Android 7+ + option(LWS_WITH_STATS "Keep statistics of lws internal operations" OFF) + option(LWS_WITH_SOCKS5 "Allow use of SOCKS5 proxy on client connections" OFF) + option(LWS_WITH_PEER_LIMITS "Track peers and restrict resources a single peer can allocate" OFF) ++option(LWS_REPRODUCIBLE "Build libwebsockets reproducible. It removes the build user and hostname from the build" ON) + + macro(confirm_command CMD NOCMD) + find_program (HAVE_CMD_${CMD} ${CMD} ) diff --git a/net/mosquitto/Makefile b/net/mosquitto/Makefile index 3756d7e0d..189ac5a14 100644 --- a/net/mosquitto/Makefile +++ b/net/mosquitto/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mosquitto PKG_VERSION:=1.4.14 -PKG_RELEASE:=1 +PKG_RELEASE:=3 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE.txt @@ -144,7 +144,7 @@ endef define Package/libmosquittopp SECTION:=libs CATEGORY:=Libraries - DEPENDS:=+libmosquitto-ssl +libstdcpp + DEPENDS:=libmosquitto +libstdcpp TITLE:= mosquitto - client c++ library endef diff --git a/net/mosquitto/patches/100-remove-build-timestamps.patch b/net/mosquitto/patches/100-remove-build-timestamps.patch new file mode 100644 index 000000000..c5a923f45 --- /dev/null +++ b/net/mosquitto/patches/100-remove-build-timestamps.patch @@ -0,0 +1,50 @@ +From ebfccff8735ca0f8b6c9e8d06f2d3efe916affaf Mon Sep 17 00:00:00 2001 +From: Alexander Couzens <lynxis@fe80.eu> +Date: Sun, 10 Dec 2017 01:23:29 +0100 +Subject: [PATCH] fix reproducible builds by removing build timestamp + +Build timestamps prevents reproducible builds. [0] + +[0] https://reproducible-builds.org/docs/timestamps/ + +Signed-off-by: Alexander Couzens <lynxis@fe80.eu> +--- + src/conf.c | 2 +- + src/mosquitto.c | 4 +--- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/conf.c b/src/conf.c +index a3e233de..e8162031 100644 +--- a/src/conf.c ++++ b/src/conf.c +@@ -309,7 +309,7 @@ void mqtt3_config_cleanup(struct mqtt3_config *config) + + static void print_usage(void) + { +- printf("mosquitto version %s (build date %s)\n\n", VERSION, TIMESTAMP); ++ printf("mosquitto version %s\n\n", VERSION); + printf("mosquitto is an MQTT v3.1.1/v3.1 broker.\n\n"); + printf("Usage: mosquitto [-c config_file] [-d] [-h] [-p port]\n\n"); + printf(" -c : specify the broker config file.\n"); +diff --git a/src/mosquitto.c b/src/mosquitto.c +index b28150ce..dcf3a72a 100644 +--- a/src/mosquitto.c ++++ b/src/mosquitto.c +@@ -291,7 +291,7 @@ int main(int argc, char *argv[]) + rc = 1; + return rc; + } +- _mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "mosquitto version %s (build date %s) starting", VERSION, TIMESTAMP); ++ _mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "mosquitto version %s starting", VERSION); + if(config.config_file){ + _mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "Config loaded from %s.", config.config_file); + }else{ +@@ -308,8 +308,6 @@ int main(int argc, char *argv[]) + /* Set static $SYS messages */ + snprintf(buf, 1024, "mosquitto version %s", VERSION); + mqtt3_db_messages_easy_queue(&int_db, NULL, "$SYS/broker/version", 2, strlen(buf), buf, 1); +- snprintf(buf, 1024, "%s", TIMESTAMP); +- mqtt3_db_messages_easy_queue(&int_db, NULL, "$SYS/broker/timestamp", 2, strlen(buf), buf, 1); + } + #endif + |