diff --git a/libarchive-openssl.patch b/libarchive-openssl.patch new file mode 100644 index 0000000..9277cd6 --- /dev/null +++ b/libarchive-openssl.patch @@ -0,0 +1,60 @@ +--- libarchive/archive_crypto.c.orig ++++ libarchive/archive_crypto.c +@@ -207,6 +207,7 @@ __archive_nettle_md5final(archive_md5_ct + static int + __archive_openssl_md5init(archive_md5_ctx *ctx) + { ++ OPENSSL_config(NULL); + EVP_DigestInit(ctx, EVP_md5()); + return (ARCHIVE_OK); + } +@@ -359,6 +360,7 @@ __archive_nettle_ripemd160final(archive_ + static int + __archive_openssl_ripemd160init(archive_rmd160_ctx *ctx) + { ++ OPENSSL_config(NULL); + EVP_DigestInit(ctx, EVP_ripemd160()); + return (ARCHIVE_OK); + } +@@ -509,6 +511,7 @@ __archive_nettle_sha1final(archive_sha1_ + static int + __archive_openssl_sha1init(archive_sha1_ctx *ctx) + { ++ OPENSSL_config(NULL); + EVP_DigestInit(ctx, EVP_sha1()); + return (ARCHIVE_OK); + } +@@ -733,6 +736,7 @@ __archive_nettle_sha256final(archive_sha + static int + __archive_openssl_sha256init(archive_sha256_ctx *ctx) + { ++ OPENSSL_config(NULL); + EVP_DigestInit(ctx, EVP_sha256()); + return (ARCHIVE_OK); + } +@@ -928,6 +932,7 @@ __archive_nettle_sha384final(archive_sha + static int + __archive_openssl_sha384init(archive_sha384_ctx *ctx) + { ++ OPENSSL_config(NULL); + EVP_DigestInit(ctx, EVP_sha384()); + return (ARCHIVE_OK); + } +@@ -1147,6 +1152,7 @@ __archive_nettle_sha512final(archive_sha + static int + __archive_openssl_sha512init(archive_sha512_ctx *ctx) + { ++ OPENSSL_config(NULL); + EVP_DigestInit(ctx, EVP_sha512()); + return (ARCHIVE_OK); + } +--- libarchive/archive_crypto_private.h.orig ++++ libarchive/archive_crypto_private.h +@@ -135,6 +135,7 @@ + defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) + #define ARCHIVE_CRYPTO_OPENSSL 1 + #include ++#include + #endif + + /* Windows crypto headers */ diff --git a/libarchive.changes b/libarchive.changes index 5e01398..40dd84a 100644 --- a/libarchive.changes +++ b/libarchive.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Aug 20 05:34:09 UTC 2013 - crrodriguez@opensuse.org + +- remove artificial dependencies on libacl-devel, libbz2-devel, + zlib-devel from libarchive-devel. + +------------------------------------------------------------------- +Mon Aug 19 21:14:38 UTC 2013 - crrodriguez@opensuse.org + +- libarchive-openssl.patch: Call OPENSSL_config where needed, + otherwise on systems configured to use openSSL engines such + as via-padlock wont benefit from hardware acceleration. + ------------------------------------------------------------------- Fri Aug 16 20:07:27 UTC 2013 - andreas.stieger@gmx.de diff --git a/libarchive.spec b/libarchive.spec index c339102..0e6244d 100644 --- a/libarchive.spec +++ b/libarchive.spec @@ -38,6 +38,7 @@ BuildRequires: libxml2-devel BuildRequires: pkg-config BuildRequires: xz-devel BuildRequires: zlib-devel +Patch0: libarchive-openssl.patch %description Libarchive is a programming library that can create and read several @@ -116,9 +117,7 @@ methods, or new ways of reading/writing archives. %package -n libarchive-devel Requires: %{libname} = %{version} -Requires: libacl-devel -Requires: libbz2-devel -Requires: zlib-devel +Requires: glibc-devel Summary: Development files for libarchive Group: Development/Libraries/C and C++ @@ -135,10 +134,10 @@ This package contains the development files. %prep %setup -q - +%patch0 %build %global optflags %{optflags} -D_REENTRANT -pipe -%configure --disable-static --enable-bsdcpio +%configure --disable-silent-rules --disable-static --enable-bsdcpio make %{?_smp_mflags} %check @@ -148,6 +147,7 @@ make check %makeinstall find %{buildroot} -name '*.la' -type f -delete -print rm "%{buildroot}%{_mandir}/man5/"{tar,cpio,mtree}.5* +sed -i -e '/Libs.private/d' %{buildroot}%{_libdir}/pkgconfig/libarchive.pc %post -n %{libname} -p /sbin/ldconfig