void-packages/srcpkgs/cbang/patches/0001-config-openssl-correct-version-check.patch
Đoàn Trần Công Danh 736ce9ffd8 cbang: cross compiling
2020-05-18 00:32:13 +02:00

52 lines
1.7 KiB
Diff

From 9e22c0114d010a35128aa67b0dc38cc23f4d873f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Sun, 17 May 2020 21:53:46 +0700
Subject: [PATCH 1/5] config/openssl: correct version check
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Current code requires all conditions meet to pass the check, thus,
return false negative for:
- 1.0.2 vs 1.1.0
- 1.1.0 vs 2.0.0
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
config/openssl/__init__.py | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git config/openssl/__init__.py config/openssl/__init__.py
index 421271cd..e0d3884a 100644
--- config/openssl/__init__.py
+++ config/openssl/__init__.py
@@ -6,15 +6,18 @@ def check_version(context, version):
context.Message("Checking for openssl version >= %s..." % version)
version = version.split('.')
- src = '#include <openssl/opensslv.h>\nint main() {\nreturn ('
- src += version[0] + '<= (OPENSSL_VERSION_NUMBER >> 28)'
+ src = '''
+ #include <openssl/opensslv.h>
+ int main() {
+ return (OPENSSL_VERSION_NUMBER >= '''
+ src += '(' + version[0] + ' >> 28)'
if 1 < len(version):
- src += ' && ' + version[1] + \
- '<= ((OPENSSL_VERSION_NUMBER >> 20) & 0xf)'
+ src += ' + (' + version[1] + ' >> 20)'
if 2 < len(version):
- src += ' && ' + version[2] + \
- '<= ((OPENSSL_VERSION_NUMBER >> 12) & 0xf)'
- src += ') ? 0 : 1;}\n'
+ src += ' + (' + version[2] + ' >> 12)'
+ src += ''') ? 0 : 1;
+ }
+ '''
ret = context.TryRun(src, '.cpp')[0]
--
2.26.2.672.g232c24e857