update to 1.5.0

use openssl for cryptography instead of bundled custom AES implementation
This commit is contained in:
Remi Collet 2018-03-12 10:46:59 +01:00
parent a692e07742
commit 382f399895
3 changed files with 7 additions and 367 deletions

View File

@ -1,218 +0,0 @@
From 72440acea2369d3903ef73c62f02d62bd6dcde0a Mon Sep 17 00:00:00 2001
From: Dieter Baron <dillo@nih.at>
Date: Tue, 2 Jan 2018 15:15:48 +0100
Subject: [PATCH] Simplify generated zipconf.h by moving logic into
CMakeLists.txt.
---
CMakeLists.txt | 82 ++++++++++++++++++++++++++++++++++++++++++
cmake-zipconf.h.in | 103 ++++++-----------------------------------------------
2 files changed, 92 insertions(+), 93 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3366b25..dfa22d5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -169,6 +169,88 @@ ENDIF(CMAKE_SYSTEM_NAME MATCHES BSD)
CONFIGURE_FILE(libzip.pc.in libzip.pc @ONLY)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libzip.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+# fixed size integral types
+
+IF(HAVE_STDINT_H_LIBZIP)
+ SET(LIBZIP_TYPES_INCLUDE "#include <stdint.h>")
+ELSEIF(HAVE_INTTYPES_H_LIBZIP)
+ SET(LIBZIP_TYPES_INCLUDE "#include <inttypes.h>")
+ELSEIF(HAVE_SYS_TYPES_H_LIBZIP)
+ SET(LIBZIP_TYPES_INCLUDE "#include <sys/types.h>")
+ENDIF()
+
+IF(HAVE_INT8_T_LIBZIP)
+ SET(ZIP_INT8_T int8_t)
+ELSEIF(HAVE___INT8_LIBZIP)
+ SET(ZIP_INT8_T __int8)
+ELSE()
+ SET(ZIP_INT8_T "signed char")
+ENDIF()
+
+IF(HAVE_UINT8_T_LIBZIP)
+ SET(ZIP_UINT8_T uint8_t)
+ELSEIF(HAVE___INT8_LIBZIP)
+ SET(ZIP_UINT8_T "unsigned __int8")
+ELSE()
+ SET(ZIP_UINT8_T "unsigned char")
+ENDIF()
+
+IF(HAVE_INT16_T_LIBZIP)
+ SET(ZIP_INT16_T int16_t)
+ELSEIF(HAVE___INT16_LIBZIP)
+ SET(INT16_T_LIBZIP __int16)
+ELSEIF(SHORT_LIBZIP EQUAL 2)
+ SET(INT16_T_LIBZIP short)
+ENDIF()
+
+IF(HAVE_UINT16_T_LIBZIP)
+ SET(ZIP_UINT16_T uint16_t)
+ELSEIF(HAVE___INT16_LIBZIP)
+ SET(UINT16_T_LIBZIP "unsigned __int16")
+ELSEIF(SHORT_LIBZIP EQUAL 2)
+ SET(UINT16_T_LIBZIP "unsigned short")
+ENDIF()
+
+IF(HAVE_INT32_T_LIBZIP)
+ SET(ZIP_INT32_T int32_t)
+ELSEIF(HAVE___INT32_LIBZIP)
+ SET(ZIP_INT32_T __int32)
+ELSEIF(INT_LIBZIP EQUAL 4)
+ SET(ZIP_INT32_T int)
+ELSEIF(LONG_LIBZIP EQUAL 4)
+ SET(ZIP_INT32_T long)
+ENDIF()
+
+IF(HAVE_UINT32_T_LIBZIP)
+SET(ZIP_UINT32_T uint32_t)
+ELSEIF(HAVE___INT32_LIBZIP)
+SET(ZIP_UINT32_T "unsigned __int32")
+ELSEIF(INT_LIBZIP EQUAL 4)
+SET(ZIP_UINT32_T "unsigned int")
+ELSEIF(LONG_LIBZIP EQUAL 4)
+SET(ZIP_UINT32_T "unsigned long")
+ENDIF()
+
+IF(HAVE_INT64_T_LIBZIP)
+ SET(ZIP_INT64_T int64_t)
+ELSEIF(HAVE___INT64_LIBZIP)
+ SET(ZIP_INT64_T __int64)
+ELSEIF(LONG_LIBZIP EQUAL 8)
+ SET(ZIP_INT64_T long)
+ELSEIF(LONG_LONG_LIBZIP EQUAL 8)
+ SET(ZIP_INT64_T "long long")
+ENDIF()
+
+IF(HAVE_UINT64_T_LIBZIP)
+ SET(ZIP_UINT64_T uint64_t)
+ELSEIF(HAVE___INT64_LIBZIP)
+ SET(ZIP_UINT64_T "unsigned __int64")
+ELSEIF(LONG_LIBZIP EQUAL 8)
+ SET(ZIP_UINT64_T "unsigned long")
+ELSEIF(LONG_LONG_LIBZIP EQUAL 8)
+ SET(ZIP_UINT64_T "unsigned long long")
+ENDIF()
+
# write out config file
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake-zipconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/zipconf.h)
diff --git a/cmake-zipconf.h.in b/cmake-zipconf.h.in
index f0e24e8..6ff4fe3 100644
--- a/cmake-zipconf.h.in
+++ b/cmake-zipconf.h.in
@@ -15,99 +15,16 @@
#cmakedefine ZIP_STATIC
-#cmakedefine HAVE_INTTYPES_H_LIBZIP
-#cmakedefine HAVE_STDINT_H_LIBZIP
-#cmakedefine HAVE_SYS_TYPES_H_LIBZIP
-#cmakedefine HAVE___INT8_LIBZIP
-#cmakedefine HAVE_INT8_T_LIBZIP
-#cmakedefine HAVE_UINT8_T_LIBZIP
-#cmakedefine HAVE___INT16_LIBZIP
-#cmakedefine HAVE_INT16_T_LIBZIP
-#cmakedefine HAVE_UINT16_T_LIBZIP
-#cmakedefine HAVE___INT32_LIBZIP
-#cmakedefine HAVE_INT32_T_LIBZIP
-#cmakedefine HAVE_UINT32_T_LIBZIP
-#cmakedefine HAVE___INT64_LIBZIP
-#cmakedefine HAVE_INT64_T_LIBZIP
-#cmakedefine HAVE_UINT64_T_LIBZIP
-#cmakedefine HAVE_SSIZE_T_LIBZIP
-#cmakedefine SHORT_LIBZIP ${SHORT_LIBZIP}
-#cmakedefine INT_LIBZIP ${INT_LIBZIP}
-#cmakedefine LONG_LIBZIP ${LONG_LIBZIP}
-#cmakedefine LONG_LONG_LIBZIP ${LONG_LONG_LIBZIP}
-
-#if defined(HAVE_STDINT_H_LIBZIP)
-#include <stdint.h>
-#elif defined(HAVE_INTTYPES_H_LIBZIP)
-#include <inttypes.h>
-#elif defined(HAVE_SYS_TYPES_H_LIBZIP)
-#include <sys/types.h>
-#endif
-
-#if defined(HAVE_INT8_T_LIBZIP)
-typedef int8_t zip_int8_t;
-#elif defined(HAVE___INT8_LIBZIP)
-typedef __int8 zip_int8_t;
-#else
-typedef signed char zip_int8_t;
-#endif
-#if defined(HAVE_UINT8_T_LIBZIP)
-typedef uint8_t zip_uint8_t;
-#elif defined(HAVE___INT8_LIBZIP)
-typedef unsigned __int8 zip_uint8_t;
-#else
-typedef unsigned char zip_uint8_t;
-#endif
-#if defined(HAVE_INT16_T_LIBZIP)
-typedef int16_t zip_int16_t;
-#elif defined(HAVE___INT16_LIBZIP)
-typedef __int16 zip_int16_t;
-#elif defined(SHORT_LIBZIP) && SHORT_LIBZIP == 2
-typedef signed short zip_int16_t;
-#endif
-#if defined(HAVE_UINT16_T_LIBZIP)
-typedef uint16_t zip_uint16_t;
-#elif defined(HAVE___INT16_LIBZIP)
-typedef unsigned __int16 zip_uint16_t;
-#elif defined(SHORT_LIBZIP) && SHORT_LIBZIP == 2
-typedef unsigned short zip_uint16_t;
-#endif
-#if defined(HAVE_INT32_T_LIBZIP)
-typedef int32_t zip_int32_t;
-#elif defined(HAVE___INT32_LIBZIP)
-typedef __int32 zip_int32_t;
-#elif defined(INT_LIBZIP) && INT_LIBZIP == 4
-typedef signed int zip_int32_t;
-#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 4
-typedef signed long zip_int32_t;
-#endif
-#if defined(HAVE_UINT32_T_LIBZIP)
-typedef uint32_t zip_uint32_t;
-#elif defined(HAVE___INT32_LIBZIP)
-typedef unsigned __int32 zip_uint32_t;
-#elif defined(INT_LIBZIP) && INT_LIBZIP == 4
-typedef unsigned int zip_uint32_t;
-#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 4
-typedef unsigned long zip_uint32_t;
-#endif
-#if defined(HAVE_INT64_T_LIBZIP)
-typedef int64_t zip_int64_t;
-#elif defined(HAVE___INT64_LIBZIP)
-typedef __int64 zip_int64_t;
-#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 8
-typedef signed long zip_int64_t;
-#elif defined(LONG_LONG_LIBZIP) && LONG_LONG_LIBZIP == 8
-typedef signed long long zip_int64_t;
-#endif
-#if defined(HAVE_UINT64_T_LIBZIP)
-typedef uint64_t zip_uint64_t;
-#elif defined(HAVE___INT64_LIBZIP)
-typedef unsigned __int64 zip_uint64_t;
-#elif defined(LONG_LIBZIP) && LONG_LONG_LIBZIP == 8
-typedef unsigned long zip_uint64_t;
-#elif defined(LONG_LONG_LIBZIP) && LONG_LONG_LIBZIP == 8
-typedef unsigned long long zip_uint64_t;
-#endif
+${LIBZIP_TYPES_INCLUDE}
+
+typedef ${ZIP_INT8_T} zip_int8_t;
+typedef ${ZIP_UINT8_T} zip_uint8_t;
+typedef ${ZIP_INT16_T} zip_int16_t;
+typedef ${ZIP_UINT16_T} zip_uint16_t;
+typedef ${ZIP_INT32_T} zip_int32_t;
+typedef ${ZIP_UINT32_T} zip_uint32_t;
+typedef ${ZIP_INT64_T} zip_int64_t;
+typedef ${ZIP_UINT64_T} zip_uint64_t;
#define ZIP_INT8_MIN (-ZIP_INT8_MAX-1)
#define ZIP_INT8_MAX 0x7f

View File

@ -1,140 +0,0 @@
From 42a3c4a40b9925b8ef0fb8f38b200fdc9f6fe5a4 Mon Sep 17 00:00:00 2001
From: Thomas Klausner <tk@giga.or.at>
Date: Fri, 29 Dec 2017 22:29:37 +0100
Subject: [PATCH] Use GNUInstallDirs variables to allow installation
customization.
---
CMakeLists.txt | 13 ++++++-------
lib/CMakeLists.txt | 8 ++++----
src/CMakeLists.txt | 6 +++---
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 69cdb8b..b61f5ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,5 @@
# TODO:
-# 1. Problems generating html pages.
-# 2. create usable libtool .la file
+# create usable libtool .la file
CMAKE_MINIMUM_REQUIRED(VERSION 3.0.2)
@@ -141,7 +140,7 @@ endif(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES Window
ADD_DEFINITIONS("-DHAVE_CONFIG_H")
# rpath handling: use rpath in installed binaries
-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# Testing
@@ -157,8 +156,8 @@ ADD_SUBDIRECTORY(examples)
# pkgconfig file
SET(prefix ${CMAKE_INSTALL_PREFIX})
SET(exec_prefix \${prefix})
-SET(libdir \${exec_prefix}/lib)
-SET(includedir \${prefix}/include)
+SET(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR})
+SET(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR})
IF(BZIP2_FOUND)
SET(LIBS "${LIBS} -lbz2")
ENDIF()
@@ -167,7 +166,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES BSD)
SET(PKG_CONFIG_RPATH "-Wl,-R\${libdir}")
ENDIF(CMAKE_SYSTEM_NAME MATCHES BSD)
CONFIGURE_FILE(libzip.pc.in libzip.pc @ONLY)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libzip.pc DESTINATION lib/pkgconfig)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libzip.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
# write out config file
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
@@ -188,4 +187,4 @@ FILE(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/runtest
# installation
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zipconf.h DESTINATION include)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zipconf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 855ccf5..ecbb45e 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -1,6 +1,6 @@
INCLUDE(CheckFunctionExists)
-INSTALL(FILES zip.h DESTINATION include)
+INSTALL(FILES zip.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
# from http://www.cmake.org/Wiki/CMakeMacroLibtoolFile
MACRO(GET_TARGET_PROPERTY_WITH_DEFAULT _variable _target _property _default_value)
@@ -203,7 +203,7 @@ ADD_LIBRARY(zip ${LIBZIP_SOURCES} ${LIBZIP_EXTRA_FILES} ${LIBZIP_OPSYS_FILES})
SET_TARGET_PROPERTIES(zip PROPERTIES VERSION 5.0 SOVERSION 5)
TARGET_LINK_LIBRARIES(zip ${ZLIB_LIBRARY} ${OPTIONAL_LIBRARY})
INSTALL(TARGETS zip
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib)
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
#CREATE_LIBTOOL_FILE(zip lib)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2a3f4d2..ccc8f7e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -8,12 +8,12 @@ ENDIF(NOT HAVE_GETOPT)
ADD_EXECUTABLE(zipcmp zipcmp.c ${SRC_EXTRA_FILES})
TARGET_LINK_LIBRARIES(zipcmp zip)
-INSTALL(TARGETS zipcmp RUNTIME DESTINATION bin)
+INSTALL(TARGETS zipcmp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
ADD_EXECUTABLE(zipmerge zipmerge.c ${SRC_EXTRA_FILES})
TARGET_LINK_LIBRARIES(zipmerge zip)
-INSTALL(TARGETS zipmerge RUNTIME DESTINATION bin)
+INSTALL(TARGETS zipmerge RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
ADD_EXECUTABLE(ziptool ziptool.c ${SRC_EXTRA_FILES})
TARGET_LINK_LIBRARIES(ziptool zip)
-INSTALL(TARGETS ziptool RUNTIME DESTINATION bin)
+INSTALL(TARGETS ziptool RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
From 3a7497b791289e316aa794b7f2f1a95dd26ced26 Mon Sep 17 00:00:00 2001
From: Thomas Klausner <tk@giga.or.at>
Date: Fri, 29 Dec 2017 22:35:53 +0100
Subject: [PATCH] Set bindir in pkgconfig file and use it.
---
CMakeLists.txt | 1 +
libzip.pc.in | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b61f5ea..3366b25 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -156,6 +156,7 @@ ADD_SUBDIRECTORY(examples)
# pkgconfig file
SET(prefix ${CMAKE_INSTALL_PREFIX})
SET(exec_prefix \${prefix})
+SET(bindir \${exec_prefix}/${CMAKE_INSTALL_BINDIR})
SET(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR})
SET(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR})
IF(BZIP2_FOUND)
diff --git a/libzip.pc.in b/libzip.pc.in
index 53abc47..7be7f3e 100644
--- a/libzip.pc.in
+++ b/libzip.pc.in
@@ -1,9 +1,10 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
+bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
-zipcmp=@prefix@/bin/zipcmp
+zipcmp=@bindir@/zipcmp
Name: libzip
Description: library for handling zip archives

View File

@ -1,27 +1,21 @@
%global with_tests 0%{!?_without_tests:1}
Name: libzip
Version: 1.4.0
Release: 5%{?dist}
Version: 1.5.0
Release: 1%{?dist}
Summary: C library for reading, creating, and modifying zip archives
License: BSD
URL: https://libzip.org/
Source0: https://libzip.org/download/libzip-%{version}.tar.xz
# allow path customization (lib64)
Patch0: libzip-upstream.patch
# drop RPATH from installed binaries
Patch1: libzip-rpath.patch
# fix multi-lib issue
Patch2: libzip-multilib.patch
# specific AES crypto for WinZip compatibility
Provides: bundled(gladman-fcrypt)
BuildRequires: gcc
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
BuildRequires: openssl-devel
BuildRequires: cmake >= 3.0.2
# Needed to run the test suite
# find regress/ -type f | /usr/lib/rpm/perl.req
@ -116,6 +110,10 @@ make check
%changelog
* Mon Mar 12 2018 Remi Collet <remi@remirepo.net> - 1.5.0-1
- update to 1.5.0
- use openssl for cryptography instead of bundled custom AES implementation
* Tue Feb 20 2018 Remi Collet <remi@remirepo.net> - 1.4.0-5
- missing BR on C compiler
- use ldconfig_scriptlets