aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/libwebsockets/Makefile6
-rw-r--r--libs/libwebsockets/patches/001-CMakeLists-build-reproducible-by-default.patch78
-rw-r--r--net/mosquitto/Makefile4
-rw-r--r--net/mosquitto/patches/100-remove-build-timestamps.patch50
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
+