6da885f
%?mingw_package_header
6da885f
4b2bec5
# For the curious:
4b2bec5
# 0.9.5a soversion = 0
4b2bec5
# 0.9.6  soversion = 1
4b2bec5
# 0.9.6a soversion = 2
4b2bec5
# 0.9.6c soversion = 3
4b2bec5
# 0.9.7a soversion = 4
4b2bec5
# 0.9.7ef soversion = 5
4b2bec5
# 0.9.8ab soversion = 6
4b2bec5
# 0.9.8g soversion = 7
1deb370
# 0.9.8jk + EAP-FAST soversion = 8
1deb370
# 1.0.0 soversion = 10
1deb370
%global soversion 10
1deb370
4b2bec5
# Enable the tests.
4b2bec5
# These only work some of the time, but fail randomly at other times
4b2bec5
# (although I have had them complete a few times, so I don't think
4b2bec5
# there is any actual problem with the binaries).
1deb370
%global run_tests 0
4b2bec5
4b2bec5
# Number of threads to spawn when testing some threading fixes.
1deb370
%global thread_test_threads %{?threads:%{threads}}%{!?threads:1}
4b2bec5
9838a46
Name:           mingw-openssl
Marc-André Lureau 9edef96
Version:        1.0.1i
Marc-André Lureau 9edef96
Release:        1%{?dist}
4b2bec5
Summary:        MinGW port of the OpenSSL toolkit
4b2bec5
4b2bec5
License:        OpenSSL
4b2bec5
Group:          Development/Libraries
4b2bec5
URL:            http://www.openssl.org/
4b2bec5
b629b66
# We have to remove certain patented algorithms from the openssl source
b629b66
# tarball with the hobble-openssl script which is included below.
b629b66
# The original openssl upstream tarball cannot be shipped in the .src.rpm.
b629b66
Source:         openssl-%{version}-hobbled.tar.xz
4b2bec5
4b2bec5
Source1:        hobble-openssl
4b2bec5
Source2:        Makefile.certificate
4b2bec5
Source6:        make-dummy-cert
ec2806a
Source7:        renew-dummy-cert
4b2bec5
Source8:        openssl-thread-test.c
4b2bec5
Source9:        opensslconf-new.h
4b2bec5
Source10:       opensslconf-new-warning.h
b629b66
Source11:       README.FIPS
b629b66
Source12:       ec_curve.c
b629b66
Source13:       ectest.c
4b2bec5
4b2bec5
# Build changes
Marc-André Lureau 9edef96
Patch1:         openssl-1.0.1e-rpmbuild.patch
ff3f6f3
Patch2:         openssl-1.0.1e-defaults.patch
205ba00
Patch4:         openssl-1.0.0-beta5-enginesdir.patch
4b2bec5
Patch5:         openssl-0.9.8a-no-rpath.patch
4b2bec5
Patch6:         openssl-0.9.8b-test-use-localhost.patch
205ba00
Patch7:         openssl-1.0.0-timezone.patch
7ab115b
Patch8:         openssl-1.0.1c-perlfind.patch
7ab115b
Patch9:         openssl-1.0.1c-aliasing.patch
Marc-André Lureau 9edef96
# This patch must be applied first
Marc-André Lureau 9edef96
Patch10:        openssl-1.0.1i-ppc-asm-update.patch
4b2bec5
# Bug fixes
ec2806a
Patch23:        openssl-1.0.1c-default-paths.patch
ec2806a
Patch24:        openssl-1.0.1e-issuer-hash.patch
4b2bec5
# Functionality changes
543260c
Patch33:        openssl-1.0.0-beta4-ca-dir.patch
4b2bec5
Patch34:        openssl-0.9.6-x509.patch
4b2bec5
Patch35:        openssl-0.9.8j-version-add-engines.patch
Marc-André Lureau 9edef96
Patch39:        openssl-1.0.1h-ipv6-apps.patch
Marc-André Lureau 9edef96
Patch40:        openssl-1.0.1g-fips.patch
ec2806a
Patch45:        openssl-1.0.1e-env-zlib.patch
205ba00
Patch47:        openssl-1.0.0-beta5-readme-warning.patch
Marc-André Lureau 9edef96
Patch49:        openssl-1.0.1i-algo-doc.patch
7ab115b
Patch50:        openssl-1.0.1-beta2-dtls1-abi.patch
b629b66
Patch51:        openssl-1.0.1e-version.patch
Kalev Lember ca8adb3
Patch56:        openssl-1.0.0c-rsa-x931.patch
7ab115b
Patch58:        openssl-1.0.1-beta2-fips-md5-allow.patch
Kalev Lember ca8adb3
Patch60:        openssl-1.0.0d-apps-dgst.patch
7ab115b
Patch63:        openssl-1.0.0d-xmpp-starttls.patch
7ab115b
Patch65:        openssl-1.0.0e-chil-fixes.patch
7ab115b
Patch66:        openssl-1.0.1-pkgconfig-krb5.patch
ec2806a
Patch68:        openssl-1.0.1e-secure-getenv.patch
ec2806a
Patch69:        openssl-1.0.1c-dh-1024.patch
b629b66
Patch70:        openssl-1.0.1e-fips-ec.patch
Marc-André Lureau 9edef96
Patch71:        openssl-1.0.1i-manfix.patch
b629b66
Patch72:        openssl-1.0.1e-fips-ctor.patch
b629b66
Patch73:        openssl-1.0.1e-ecc-suiteb.patch
b629b66
Patch74:        openssl-1.0.1e-no-md5-verify.patch
b629b66
Patch75:        openssl-1.0.1e-compat-symbols.patch
Marc-André Lureau 9edef96
Patch76:        openssl-1.0.1i-new-fips-reqs.patch
b629b66
Patch77:        openssl-1.0.1e-weak-ciphers.patch
Marc-André Lureau 9edef96
Patch90:        openssl-1.0.1e-enc-fail.patch
Marc-André Lureau 9edef96
Patch92:        openssl-1.0.1h-system-cipherlist.patch
Marc-André Lureau 9edef96
Patch93:        openssl-1.0.1h-disable-sslv2v3.patch
4b2bec5
# Backported fixes including security fixes
7ab115b
Patch81:        openssl-1.0.1-beta2-padlock64.patch
Marc-André Lureau 9edef96
Patch84:        openssl-1.0.1i-trusted-first.patch
b629b66
Patch85:        openssl-1.0.1e-arm-use-elf-auxv-caps.patch
ff3f6f3
Patch89:        openssl-1.0.1e-ephemeral-key-size.patch
4b2bec5
4b2bec5
# MinGW-specific patches.
1bc0802
# Rename *eay32.dll to lib*.dll
1bc0802
Patch101:       mingw32-openssl-1.0.0-beta3-libversion.patch
1bc0802
# Fix engines/ install target after lib rename
Kalev Lember ca8adb3
Patch102:       mingw32-openssl-1.0.0d-sfx.patch
6da885f
# Some .c file contains in #include <dlfcn.h> while it
6da885f
# doesn't really use anything from that header
6da885f
Patch103:       mingw-openssl-drop-unneeded-reference-to-dlfcn-h.patch
6da885f
# Mingw-w64 compatibility patch
6da885f
Patch104:       openssl_mingw64_install_fix.patch
ec2806a
# Prevent a build failure which occurs because we don't have FIPS enabled
7ab115b
Patch105:       mingw-openssl-fix-fips-build-failure.patch
ec2806a
# The function secure_getenv is a GNU extension which isn't available on Windows
ec2806a
Patch106:       openssl-mingw64-dont-use-secure-getenv.patch
4b2bec5
4b2bec5
BuildArch:      noarch
4b2bec5
6da885f
BuildRequires:  mingw32-filesystem >= 95
4b2bec5
BuildRequires:  mingw32-gcc
4b2bec5
BuildRequires:  mingw32-binutils
4b2bec5
BuildRequires:  mingw32-zlib
6da885f
6da885f
BuildRequires:  mingw64-filesystem >= 95
6da885f
BuildRequires:  mingw64-gcc
6da885f
BuildRequires:  mingw64-binutils
6da885f
BuildRequires:  mingw64-zlib
4b2bec5
4b2bec5
BuildRequires:  mktemp
4b2bec5
BuildRequires:  perl
4b2bec5
BuildRequires:  sed
4b2bec5
BuildRequires:  /usr/bin/cmp
4b2bec5
BuildRequires:  /usr/bin/rename
4b2bec5
4b2bec5
# XXX Not really sure about this one.  The build script uses
4b2bec5
# /usr/bin/makedepend which comes from imake.
4b2bec5
BuildRequires:  imake
4b2bec5
4b2bec5
%if %{run_tests}
4b2bec5
# Required both to build, and to run the tests.
4b2bec5
# XXX This needs to be fixed - cross-compilation should not
4b2bec5
# require running executables.
4b2bec5
BuildRequires:  wine
4b2bec5
4b2bec5
# Required to run the tests.
4b2bec5
BuildRequires:  xorg-x11-server-Xvfb
4b2bec5
%endif
4b2bec5
9838a46
9838a46
%description
9838a46
The OpenSSL toolkit provides support for secure communications between
9838a46
machines. OpenSSL includes a certificate management tool and shared
9838a46
libraries which provide various cryptographic algorithms and
9838a46
protocols.
9838a46
9838a46
This package contains Windows (MinGW) libraries and development tools.
9838a46
9838a46
6da885f
# Win32
9838a46
%package -n mingw32-openssl
9838a46
Summary:        MinGW port of the OpenSSL toolkit
4b2bec5
#Requires:       ca-certificates >= 2008-5
4b2bec5
Requires:       pkgconfig
4b2bec5
9838a46
%description -n mingw32-openssl
4b2bec5
The OpenSSL toolkit provides support for secure communications between
4b2bec5
machines. OpenSSL includes a certificate management tool and shared
4b2bec5
libraries which provide various cryptographic algorithms and
4b2bec5
protocols.
4b2bec5
4b2bec5
This package contains Windows (MinGW) libraries and development tools.
4b2bec5
9838a46
%package -n mingw32-openssl-static
c2a1431
Summary:        Static version of the MinGW port of the OpenSSL toolkit
9838a46
Requires:       mingw32-openssl = %{version}-%{release}
c2a1431
9838a46
%description -n mingw32-openssl-static
c2a1431
Static version of the MinGW port of the OpenSSL toolkit.
c2a1431
6da885f
# Win64
6da885f
%package -n mingw64-openssl
6da885f
Summary:        MinGW port of the OpenSSL toolkit
6da885f
#Requires:       ca-certificates >= 2008-5
6da885f
Requires:       pkgconfig
6da885f
6da885f
%description -n mingw64-openssl
6da885f
The OpenSSL toolkit provides support for secure communications between
6da885f
machines. OpenSSL includes a certificate management tool and shared
6da885f
libraries which provide various cryptographic algorithms and
6da885f
protocols.
6da885f
6da885f
This package contains Windows (MinGW) libraries and development tools.
6da885f
6da885f
%package -n mingw64-openssl-static
6da885f
Summary:        Static version of the MinGW port of the OpenSSL toolkit
6da885f
Requires:       mingw64-openssl = %{version}-%{release}
6da885f
6da885f
%description -n mingw64-openssl-static
6da885f
Static version of the MinGW port of the OpenSSL toolkit.
6da885f
c2a1431
6da885f
%?mingw_debug_package
1deb370
1deb370
4b2bec5
%prep
205ba00
%setup -q -n openssl-%{version}
4b2bec5
7ab115b
# The hobble_openssl is called here redundantly, just to be sure.
7ab115b
# The tarball has already the sources removed.
4b2bec5
%{SOURCE1} > /dev/null
b629b66
b629b66
cp %{SOURCE12} %{SOURCE13} crypto/ec/
b629b66
Marc-André Lureau 9edef96
%patch10 -p1 -b .ppc-asm
7ab115b
%patch1 -p1 -b .rpmbuild
7ab115b
%patch2 -p1 -b .defaults
7ab115b
%patch4 -p1 -b .enginesdir %{?_rawbuild}
4b2bec5
%patch5 -p1 -b .no-rpath
4b2bec5
%patch6 -p1 -b .use-localhost
205ba00
%patch7 -p1 -b .timezone
ec2806a
%patch8 -p1 -b .perlfind %{?_rawbuild}
7ab115b
%patch9 -p1 -b .aliasing
b629b66
4b2bec5
%patch23 -p1 -b .default-paths
ec2806a
%patch24 -p1 -b .issuer-hash
4b2bec5
cbfc82b
%patch33 -p1 -b .ca-dir
4b2bec5
%patch34 -p1 -b .x509
4b2bec5
%patch35 -p1 -b .version-add-engines
Kalev Lember ca8adb3
#patch39 -p1 -b .ipv6-apps
1deb370
%patch40 -p1 -b .fips
ec2806a
%patch45 -p1 -b .env-zlib
4b2bec5
%patch47 -p1 -b .warning
1deb370
%patch49 -p1 -b .algo-doc
543260c
%patch50 -p1 -b .dtls1-abi
7ab115b
#patch51 -p1 -b .version
7ab115b
#patch56 -p1 -b .x931
Kalev Lember ca8adb3
%patch58 -p1 -b .md5-allow
Kalev Lember ca8adb3
%patch60 -p1 -b .dgst
7ab115b
#patch63 -p1 -b .starttls
7ab115b
%patch65 -p1 -b .chil
7ab115b
%patch66 -p1 -b .krb5
7ab115b
#patch68 -p1 -b .secure-getenv
ec2806a
%patch69 -p1 -b .dh1024
b629b66
#patch70 -p1 -b .fips-ec
Marc-André Lureau 9edef96
%patch71 -p1 -b .manfix
b629b66
#patch72 -p1 -b .fips-ctor
b629b66
%patch73 -p1 -b .suiteb
b629b66
#patch74 -p1 -b .no-md5-verify
b629b66
%patch75 -p1 -b .compat
b629b66
#patch76 -p1 -b .fips-reqs
b629b66
%patch77 -p1 -b .weak-ciphers
Marc-André Lureau 9edef96
%patch90 -p1 -b .enc-fail
Marc-André Lureau 9edef96
%patch92 -p1 -b .system
Marc-André Lureau 9edef96
%patch93 -p1 -b .v2v3
7ab115b
7ab115b
%patch81 -p1 -b .padlock64
b629b66
%patch84 -p1 -b .trusted-first
b629b66
%patch85 -p1 -b .armcap
Marc-André Lureau 9edef96
#patch89 -p1 -b .ephemeral
7ab115b
7ab115b
# MinGW specific patches
1bc0802
%patch101 -p1 -b .mingw-libversion
1bc0802
%patch102 -p1 -b .mingw-sfx
6da885f
%patch103 -p0 -b .dlfcn
6da885f
%patch104 -p0 -b .mingw64
7ab115b
%patch105 -p1 -b .fips_mingw
ec2806a
%patch106 -p1 -b .secure_getenv_mingw
ec2806a
ec2806a
sed -i 's/SHLIB_VERSION_NUMBER "1.0.0"/SHLIB_VERSION_NUMBER "%{version}"/' crypto/opensslv.h
ec2806a
4b2bec5
# Modify the various perl scripts to reference perl in the right location.
4b2bec5
perl util/perlpath.pl `dirname %{__perl}`
4b2bec5
4b2bec5
# Generate a table with the compile settings for my perusal.
4b2bec5
touch Makefile
4b2bec5
make TABLE PERL=%{__perl}
4b2bec5
6da885f
# Create two copies of the source folder as OpenSSL doesn't support out of source builds
6da885f
mkdir ../build_win32
6da885f
mv * ../build_win32
6da885f
mv ../build_win32 .
6da885f
mkdir build_win64
6da885f
cp -Rp build_win32/* build_win64
6da885f
6da885f
# Use mingw cflags instead of hardcoded ones
6da885f
sed -i -e '/^"mingw"/ s/-fomit-frame-pointer -O3 -march=i486 -Wall/%{mingw32_cflags}/' build_win32/Configure
6da885f
sed -i -e '/^"mingw"/ s/-fomit-frame-pointer -O3 -march=i486 -Wall/%{mingw64_cflags}/' build_win64/Configure
6da885f
6da885f
4b2bec5
%build
6da885f
###############################################################################
6da885f
# Win32
6da885f
###############################################################################
6da885f
pushd build_win32
6da885f
fb61d59
PERL=%{__perl} \
4b2bec5
./Configure \
98e7fe9
  --prefix=%{mingw32_prefix} \
98e7fe9
  --openssldir=%{mingw32_sysconfdir}/pki/tls \
4b2bec5
  zlib enable-camellia enable-seed enable-tlsext enable-rfc3779 \
b629b66
  enable-cms enable-md2 no-mdc2 no-rc5 no-ec2m no-gost no-srp \
b629b66
  no-fips no-hw \
b629b66
  --cross-compile-prefix=%{mingw32_target}- \
98e7fe9
  --enginesdir=%{mingw32_libdir}/openssl/engines \
543260c
  shared mingw
e550fc6
e550fc6
# Regenerate def files as we disabled some algorithms above
e550fc6
perl util/mkdef.pl crypto ssl update
e550fc6
1deb370
make depend
1deb370
make all build-shared
4b2bec5
4b2bec5
# Generate hashes for the included certs.
1deb370
make rehash build-shared
4b2bec5
6da885f
popd
6da885f
6da885f
###############################################################################
6da885f
# Win64
6da885f
###############################################################################
6da885f
pushd build_win64
6da885f
6da885f
PERL=%{__perl} \
6da885f
./Configure \
6da885f
  --prefix=%{mingw64_prefix} \
6da885f
  --openssldir=%{mingw64_sysconfdir}/pki/tls \
6da885f
  zlib enable-camellia enable-seed enable-tlsext enable-rfc3779 \
b629b66
  enable-cms enable-md2 no-mdc2 no-rc5 no-ec2m no-gost no-srp \
b629b66
  no-fips no-hw \
b629b66
  --cross-compile-prefix=%{mingw64_target}- \
6da885f
  --enginesdir=%{mingw64_libdir}/openssl/engines \
6da885f
  shared mingw64
6da885f
6da885f
# Regenerate def files as we disabled some algorithms above
6da885f
perl util/mkdef.pl crypto ssl update
6da885f
6da885f
make depend
6da885f
make all build-shared
6da885f
6da885f
# Generate hashes for the included certs.
6da885f
make rehash build-shared
6da885f
6da885f
popd
6da885f
cbfc82b
4b2bec5
%if %{run_tests}
cbfc82b
%check
4b2bec5
#----------------------------------------------------------------------
cbfc82b
# Run some tests.
cbfc82b
cbfc82b
# We must revert patch33 before tests otherwise they will fail
cbfc82b
patch -p1 -R < %{PATCH33}
4b2bec5
4b2bec5
# This is a bit of a hack, but the test scripts look for 'openssl'
4b2bec5
# by name.
6da885f
pushd build_win32/apps
4b2bec5
ln -s openssl.exe openssl
4b2bec5
popd
4b2bec5
4b2bec5
# This is useful for diagnosing Wine problems.
4b2bec5
WINEDEBUG=+loaddll
4b2bec5
export WINEDEBUG
4b2bec5
4b2bec5
# Make sure we can find the installed DLLs.
98e7fe9
WINEDLLPATH=%{mingw32_bindir}
4b2bec5
export WINEDLLPATH
4b2bec5
4b2bec5
# The tests run Wine and require an X server (but don't really use
4b2bec5
# it).  Therefore we create a virtual framebuffer for the duration of
4b2bec5
# the tests.
4b2bec5
# XXX There is no good way to choose a random, unused display.
4b2bec5
# XXX Setting depth to 24 bits avoids bug 458219.
4b2bec5
unset DISPLAY
4b2bec5
display=:21
4b2bec5
Xvfb $display -screen 0 1024x768x24 -ac -noreset & xpid=$!
4b2bec5
trap "kill -TERM $xpid ||:" EXIT
4b2bec5
sleep 3
4b2bec5
DISPLAY=$display
4b2bec5
export DISPLAY
4b2bec5
6da885f
make LDCMD=%{mingw32_cc} -C build_win32/test apps tests
4b2bec5
4b2bec5
# Disable this thread test, because we don't have pthread on Windows.
98e7fe9
%{mingw32_cc} -o openssl-thread-test \
6da885f
  -I./build_win32/include \
4b2bec5
  %-{_mingw32_cflags} \
4b2bec5
  %-{SOURCE8} \
6da885f
  -L./build_win32 \
4b2bec5
  -lssl -lcrypto \
4b2bec5
  -lpthread -lz -ldl
4b2bec5
4b2bec5
## `krb5-config --cflags`
4b2bec5
## `krb5-config --libs`
4b2bec5
#
4b2bec5
./openssl-thread-test --threads %{thread_test_threads}
4b2bec5
4b2bec5
#----------------------------------------------------------------------
4b2bec5
%endif
4b2bec5
4b2bec5
# Add generation of HMAC checksum of the final stripped library
b02efcd
##define __spec_install_post \
b02efcd
#    #{?__debug_package:#{__debug_install_post}} \
b02efcd
#    #{__arch_install_post} \
b02efcd
#    #{__os_install_post} \
b02efcd
#    fips/fips_standalone_sha1 $RPM_BUILD_ROOT/#{_lib}/libcrypto.so.#{version} >$RPM_BUILD_ROOT/#{_lib}/.libcrypto.so.#{version}.hmac \
b02efcd
#    ln -sf .libcrypto.so.#{version}.hmac $RPM_BUILD_ROOT/#{_lib}/.libcrypto.so.#{soversion}.hmac \
b02efcd
##{nil}
4b2bec5
4b2bec5
4b2bec5
%install
98e7fe9
mkdir -p $RPM_BUILD_ROOT%{mingw32_libdir}/openssl
98e7fe9
mkdir -p $RPM_BUILD_ROOT%{mingw32_bindir}
98e7fe9
mkdir -p $RPM_BUILD_ROOT%{mingw32_includedir}
98e7fe9
mkdir -p $RPM_BUILD_ROOT%{mingw32_mandir}
6da885f
6da885f
mkdir -p $RPM_BUILD_ROOT%{mingw64_libdir}/openssl
6da885f
mkdir -p $RPM_BUILD_ROOT%{mingw64_bindir}
6da885f
mkdir -p $RPM_BUILD_ROOT%{mingw64_includedir}
6da885f
mkdir -p $RPM_BUILD_ROOT%{mingw64_mandir}
6da885f
6da885f
%mingw_make_install INSTALL_PREFIX=$RPM_BUILD_ROOT build-shared
4b2bec5
1440e4d
# Install the file applink.c (#499934)
6da885f
install -m644 build_win32/ms/applink.c $RPM_BUILD_ROOT%{mingw32_includedir}/openssl/applink.c
6da885f
install -m644 build_win64/ms/applink.c $RPM_BUILD_ROOT%{mingw64_includedir}/openssl/applink.c
1440e4d
4b2bec5
# I have no idea why it installs the manpages in /etc, but
4b2bec5
# we remove them anyway.
98e7fe9
rm -r $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/man
6da885f
rm -r $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/man
4b2bec5
4b2bec5
# Set permissions on lib*.dll.a so that strip works.
98e7fe9
chmod 0755 $RPM_BUILD_ROOT%{mingw32_libdir}/libcrypto.dll.a
98e7fe9
chmod 0755 $RPM_BUILD_ROOT%{mingw32_libdir}/libssl.dll.a
6da885f
chmod 0755 $RPM_BUILD_ROOT%{mingw64_libdir}/libcrypto.dll.a
6da885f
chmod 0755 $RPM_BUILD_ROOT%{mingw64_libdir}/libssl.dll.a
4b2bec5
4b2bec5
# Install a makefile for generating keys and self-signed certs, and a script
4b2bec5
# for generating them on the fly.
98e7fe9
mkdir -p $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/certs
98e7fe9
install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/certs/Makefile
98e7fe9
install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/certs/make-dummy-cert
ec2806a
install -m755 %{SOURCE7} $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/certs/renew-dummy-cert
4b2bec5
6da885f
mkdir -p $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/certs
6da885f
install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/certs/Makefile
6da885f
install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/certs/make-dummy-cert
ec2806a
install -m755 %{SOURCE7} $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/certs/renew-dummy-cert
6da885f
4b2bec5
# Pick a CA script.
6da885f
pushd $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/misc
6da885f
mv CA.sh CA
6da885f
popd
6da885f
6da885f
pushd $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/misc
4b2bec5
mv CA.sh CA
4b2bec5
popd
4b2bec5
98e7fe9
mkdir -m700 $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/CA
98e7fe9
mkdir -m700 $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/CA/private
4b2bec5
6da885f
mkdir -m700 $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/CA
6da885f
mkdir -m700 $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/CA/private
6da885f
4b2bec5
6da885f
# Win32
9838a46
%files -n mingw32-openssl
6da885f
%doc build_win32/LICENSE
98e7fe9
%{mingw32_bindir}/openssl.exe
98e7fe9
%{mingw32_bindir}/c_rehash
98e7fe9
%{mingw32_bindir}/libcrypto-%{soversion}.dll
98e7fe9
%{mingw32_bindir}/libssl-%{soversion}.dll
98e7fe9
%{mingw32_libdir}/libcrypto.dll.a
98e7fe9
%{mingw32_libdir}/libssl.dll.a
98e7fe9
%{mingw32_libdir}/engines
98e7fe9
%{mingw32_libdir}/pkgconfig/*.pc
98e7fe9
%{mingw32_includedir}/openssl
98e7fe9
%config(noreplace) %{mingw32_sysconfdir}/pki
4b2bec5
9838a46
%files -n mingw32-openssl-static
98e7fe9
%{mingw32_libdir}/libcrypto.a
98e7fe9
%{mingw32_libdir}/libssl.a
c2a1431
6da885f
# Win64
6da885f
%files -n mingw64-openssl
6da885f
%doc build_win64/LICENSE
6da885f
%{mingw64_bindir}/openssl.exe
6da885f
%{mingw64_bindir}/c_rehash
6da885f
%{mingw64_bindir}/libcrypto-%{soversion}.dll
6da885f
%{mingw64_bindir}/libssl-%{soversion}.dll
6da885f
%{mingw64_libdir}/libcrypto.dll.a
6da885f
%{mingw64_libdir}/libssl.dll.a
6da885f
%{mingw64_libdir}/engines
6da885f
%{mingw64_libdir}/pkgconfig/*.pc
6da885f
%{mingw64_includedir}/openssl
6da885f
%config(noreplace) %{mingw64_sysconfdir}/pki
6da885f
6da885f
%files -n mingw64-openssl-static
6da885f
%{mingw64_libdir}/libcrypto.a
6da885f
%{mingw64_libdir}/libssl.a
6da885f
c2a1431
4b2bec5
%changelog
Marc-André Lureau 9edef96
* Thu Aug 21 2014 Marc-André Lureau <marcandre.lureau@redhat.com> - 1.0.1i-1
Marc-André Lureau 9edef96
- Synced with native openssl-1.0.1i-3.fc21
Marc-André Lureau 9edef96
- Fixes various flaws (RHBZ#1096234 and RHBZ#1127705)
Marc-André Lureau 9edef96
  CVE-2014-3505 CVE-2014-3506 CVE-2014-3507 CVE-2014-3511
Marc-André Lureau 9edef96
  CVE-2014-3510 CVE-2014-3508 CVE-2014-3509 CVE-2014-0221
Marc-André Lureau 9edef96
  CVE-2014-0198 CVE-2014-0224 CVE-2014-0195 CVE-2010-5298
Marc-André Lureau 9edef96
  CVE-2014-3470
Marc-André Lureau 9edef96
1f7c603
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1e-7
1f7c603
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
1f7c603
ff3f6f3
* Wed Apr  9 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.1e-6
ff3f6f3
- Synced patches with native openssl-1.0.1e-44.fc21
ff3f6f3
- Fixes CVE-2014-0160 (RHBZ #1085066)
ff3f6f3
b629b66
* Sat Jan 25 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.1e-5
b629b66
- Synced patches with native openssl-1.0.1e-38.fc21
b629b66
- Enable ECC support (RHBZ #1037919)
b629b66
- Fixes CVE-2013-6450 (RHBZ #1047844)
b629b66
- Fixes CVE-2013-4353 (RHBZ #1049062)
b629b66
- Fixes CVE-2013-6449 (RHBZ #1045444)
b629b66
cb23950
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1e-4
cb23950
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
cb23950
a3cd14a
* Wed Jul 10 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.1e-3
a3cd14a
- Rebuild to resolve InterlockedCompareExchange regression in mingw32 libraries
a3cd14a
3308de2
* Fri May 10 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.1e-2
3308de2
- Fix build of manual pages with current pod2man (#959439)
3308de2
ec2806a
* Sun Mar 24 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.1e-1
ec2806a
- Update to 1.0.1e (RHBZ #920868)
ec2806a
- Synced patches with native openssl-1.0.1e-4.fc19
ec2806a
2b64176
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1c-3
2b64176
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
2b64176
d919b36
* Fri Jan 11 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.1c-2
d919b36
- Fix FTBFS against latest pod2man
d919b36
7ab115b
* Fri Nov  9 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.1c-1
7ab115b
- Update to 1.0.1c
7ab115b
- Synced patches with native openssl-1.0.1c-7.fc19
7ab115b
f79545e
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0d-7
f79545e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
f79545e
6da885f
* Sat Mar 10 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.0d-6
6da885f
- Added win64 support
6da885f
fb61d59
* Wed Mar 07 2012 Kalev Lember <kalevlember@gmail.com> - 1.0.0d-5
fb61d59
- Pass the path to perl interpreter to Configure
fb61d59
9838a46
* Tue Mar 06 2012 Kalev Lember <kalevlember@gmail.com> - 1.0.0d-4
9838a46
- Renamed the source package to mingw-openssl (#800443)
d93b9b2
- Modernize the spec file
98e7fe9
- Use mingw macros without leading underscore
9838a46
cd4cb22
* Mon Feb 27 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.0d-3
cd4cb22
- Rebuild against the mingw-w64 toolchain
cd4cb22
c4d04a9
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0d-2
c4d04a9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
c4d04a9
Kalev Lember ca8adb3
* Sat Apr 23 2011 Kalev Lember <kalev@smartlink.ee> - 1.0.0d-1
Kalev Lember ca8adb3
- Update to 1.0.0d
Kalev Lember ca8adb3
- Synced patches with Fedora native openssl-1.0.0d-2
Kalev Lember ca8adb3
Kai Tietz f9c5c21
* Fri Mar 04 2011 Kai Tietz <ktietz@redhat.com>
Kai Tietz f9c5c21
- Fixes for CVE-2011-0014 openssl: OCSP stapling vulnerability
Kai Tietz f9c5c21
69fef3c
* Thu Mar  3 2011 Kai Tietz <ktietz@redhat.com> - 1.0.0a-3
69fef3c
- Bump and rebuild.
69fef3c
12211a1
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0a-2
12211a1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
12211a1
205ba00
* Sat Jun 19 2010 Kalev Lember <kalev@smartlink.ee> - 1.0.0a-1
205ba00
- Updated to openssl 1.0.0a
205ba00
- Synced patches with Fedora native openssl-1.0.0a-1
f943b6e
- Use sed to fix up cflags instead of unmaintainable patch
5eeb7ef
- Rebased mingw32 specific patches
637a5e7
- Disabled capieng to fix build
e550fc6
- Properly regenerate def files with mkdef.pl and drop linker-fix.patch
205ba00
45fb3a2
* Thu Nov 26 2009 Kalev Lember <kalev@smartlink.ee> - 1.0.0-0.6.beta4
45fb3a2
- Merged patches from native Fedora openssl (up to 1.0.0-0.16.beta4)
45fb3a2
- Dropped the patch to fix non-fips mingw build,
45fb3a2
  as it's now merged into fips patch from native openssl
45fb3a2
543260c
* Sun Nov 22 2009 Kalev Lember <kalev@smartlink.ee> - 1.0.0-0.5.beta4
543260c
- Updated to version 1.0.0 beta 4
543260c
- Merged patches from native Fedora openssl (up to 1.0.0-0.15.beta4)
543260c
- Added patch to fix build with fips disabled
543260c
43970f8
* Fri Sep 18 2009 Kalev Lember <kalev@smartlink.ee> - 1.0.0-0.4.beta3
43970f8
- Rebuilt to fix debuginfo
43970f8
9850465
* Sun Aug 30 2009 Kalev Lember <kalev@smartlink.ee> - 1.0.0-0.3.beta3
9850465
- Simplified the lib renaming patch
9850465
faece37
* Sun Aug 30 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.0-0.2.beta3
faece37
- Fixed invalid RPM Provides
Marc-André Lureau 9edef96
1deb370
* Fri Aug 28 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.0-0.1.beta3
1deb370
- Update to version 1.0.0 beta 3
1deb370
- Use %%global instead of %%define
1deb370
- Automatically generate debuginfo subpackage
1deb370
- Merged various changes from the native Fedora package (up to 1.0.0-0.5.beta3)
1deb370
- Don't use the %%{_mingw32_make} macro anymore as it's ugly and causes side-effects
1bc0802
- Added missing BuildRequires mingw32-dlfcn (Kalev Lember)
1bc0802
- Reworked patches to rename *eay32.dll to lib*.dll (Kalev Lember)
1bc0802
- Patch Configure script to use %%{_mingw32_cflags} (Kalev Lember)
1deb370
278c821
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.8j-7
278c821
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
278c821
1440e4d
* Sat May  9 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.8j-6
1440e4d
- Add the file include/openssl/applink.c to the package (BZ #499934)
1440e4d
c2a1431
* Tue Apr 14 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.8j-5
c2a1431
- Fixed %%defattr line
c2a1431
- Added -static subpackage
c2a1431
68f3093
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.8j-4
68f3093
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
68f3093
0c92a68
* Fri Feb 20 2009 Richard W.M. Jones <rjones@redhat.com> - 0.9.8j-3
0c92a68
- Rebuild for mingw32-gcc 4.4
0c92a68
4b2bec5
* Mon Feb  2 2009 Levente Farkas <lfarkas@lfarkas.org> - 0.9.8j-2
4b2bec5
- Various build fixes.
4b2bec5
4b2bec5
* Wed Jan 28 2009 Levente Farkas <lfarkas@lfarkas.org> - 0.9.8j-1
4b2bec5
- update to new upstream version.
4b2bec5
4b2bec5
* Mon Dec 29 2008 Levente Farkas <lfarkas@lfarkas.org> - 0.9.8g-2
4b2bec5
- minor cleanup.
4b2bec5
4b2bec5
* Tue Sep 30 2008 Richard W.M. Jones <rjones@redhat.com> - 0.9.8g-1
4b2bec5
- Initial RPM release.