Accepting request 582229 from server:mail

- Implement shared library packaging guideline.
- forward req nnnnnn by elvigia

OBS-URL: https://build.opensuse.org/request/show/582229
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libesmtp?expand=0&rev=20
This commit is contained in:
Dominique Leuenberger 2018-03-08 09:41:25 +00:00 committed by Git OBS Bridge
commit cb7ed94e55
3 changed files with 124 additions and 27 deletions

77
libesmtp-openssl11.patch Normal file
View File

@ -0,0 +1,77 @@
Index: libesmtp-1.0.6/ntlm/ntlmdes.c
===================================================================
--- libesmtp-1.0.6.orig/ntlm/ntlmdes.c
+++ libesmtp-1.0.6/ntlm/ntlmdes.c
@@ -26,9 +26,21 @@
#include <ctype.h>
#include <openssl/des.h>
#include <openssl/md4.h>
+#include <openssl/opensslv.h>
#include "ntlm.h"
+/* OpenSSL 1.1 compat shim */
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+# define des_cblock DES_cblock
+# define const_des_cblock const_DES_cblock
+# define des_key_schedule DES_key_schedule
+# define des_set_odd_parity(k) DES_set_odd_parity((k))
+# define des_set_key(k,ks) DES_set_key((k),&(ks))
+# define des_ecb_encrypt(i,o,k,e) DES_ecb_encrypt((i),(o),&(k),(e))
+
+#endif
+
static void
lm_deshash (void *result, const_des_cblock *iv, const void *secret)
{
Index: libesmtp-1.0.6/configure.ac
===================================================================
--- libesmtp-1.0.6.orig/configure.ac
+++ libesmtp-1.0.6/configure.ac
@@ -303,17 +303,8 @@ if test x$with_openssl != xno ; then
)
fi
if test x$with_openssl != xno ; then
- AC_CHECK_LIB(ssl, SSL_library_init, [
- with_openssl=yes
- LIBS="-lssl -lcrypto $LIBS"
- ], [
- if test x"$with_openssl" = xyes ; then
- AC_MSG_ERROR([cannot find the ssl library])
- else
- with_openssl=no
- fi],
- -lcrypto
- )
+PKG_CHECK_MODULES([SSL], [libssl])
+PKG_CHECK_MODULES([CRYPTO], [libcrypto])
fi
dnl #########################################################################
Index: libesmtp-1.0.6/ntlm/Makefile.am
===================================================================
--- libesmtp-1.0.6.orig/ntlm/Makefile.am
+++ libesmtp-1.0.6/ntlm/Makefile.am
@@ -8,4 +8,5 @@ AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
lib_LTLIBRARIES = sasl-ntlm.la
sasl_ntlm_la_SOURCES = client-ntlm.c ntlmdes.c ntlmstruct.c ntlm.h
-sasl_ntlm_la_LDFLAGS = -module -avoid-version @NTLM_LIBS@
+sasl_ntlm_la_LDFLAGS = -no-undefined -module -shared -avoid-version -export-dynamic
+sasl_ntlm_la_LIBADD = $(CRYPTO_LIBS)
Index: libesmtp-1.0.6/Makefile.am
===================================================================
--- libesmtp-1.0.6.orig/Makefile.am
+++ libesmtp-1.0.6/Makefile.am
@@ -18,9 +18,9 @@ libesmtp_la_SOURCES = auth-client.c base
libesmtp-private.h message-source.h protocol-states.h \
protocol.h rfc2822date.h siobuf.h tokens.h \
getaddrinfo.h gethostbyname.h missing.h
-libesmtp_la_LIBADD = @LTLIBOBJS@
+libesmtp_la_LIBADD = @LTLIBOBJS@ $(CRYPTO_LIBS) $(SSL_LIBS)
-libesmtp_la_LDFLAGS = -export-dynamic \
+libesmtp_la_LDFLAGS = -export-dynamic -Wl,--no-undefined \
-version-info $(LIBESMTP_VERSION)
include_HEADERS = libesmtp.h auth-client.h auth-plugin.h

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Sat Mar 3 16:32:02 UTC 2018 - jengelh@inai.de
- Drop ineffective --with-pic. Drop %__-type macro indirections.
Drop redundant %clean section.
- Implement shared library packaging guideline.
-------------------------------------------------------------------
Fri Feb 16 20:12:12 UTC 2018 - crrodriguez@opensuse.org
- SSL support was silently lost on openSSL 1.1 update.
libesmtp-openssl11.patch makes things work again.
-------------------------------------------------------------------
Fri Sep 30 14:58:41 UTC 2016 - crrodriguez@opensuse.org

View File

@ -17,6 +17,7 @@
Name: libesmtp
%define lname libesmtp6
Version: 1.0.6
Release: 0
Summary: A Library for Posting Electronic Mail
@ -30,59 +31,65 @@ Patch0: libesmtp-removedecls.diff
Patch1: libesmtp-1.0.4-bloat.patch
# PATCH-FIX-UPSTREAM libesmtp-tlsv12.patch crrodriguez@opensuse.org -- All TLS clients must support and use the highest TLS version available
Patch2: libesmtp-tlsv12.patch
Patch3: libesmtp-openssl11.patch
BuildRequires: openssl-devel
BuildRequires: libtool
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
libESMTP is a library to manage posting (or submission of) electronic
mail using SMTP to a preconfigured Mail Transport Agent (MTA) such as
Exim. It may be used as part of a Mail User Agent (MUA) or another
program that must be able to post electronic mail but where mail
functionality is not that program's primary purpose.
mail using SMTP to a preconfigured Mail Transport Agent (MTA). It may
be used as part of a Mail User Agent (MUA) or another program that
must be able to post electronic mail but where mail functionality is
not that program's primary purpose.
%package -n %lname
Summary: A Library for Posting Electronic Mail
Group: System/Libraries
%description -n %lname
libESMTP is a library to manage posting (or submission of) electronic
mail using SMTP to a preconfigured Mail Transport Agent (MTA). It may
be used as part of a Mail User Agent (MUA) or another program that
must be able to post electronic mail but where mail functionality is
not that program's primary purpose.
%package devel
Summary: A Library for Posting Electronic Mail
Group: Development/Libraries/C and C++
Requires: libesmtp = %{version}
Requires: %lname = %version
%description devel
libESMTP is a library to manage posting (or submission of) electronic
mail using SMTP to a preconfigured Mail Transport Agent (MTA) such as
Exim. It may be used as part of a Mail User Agent (MUA) or another
program that must be able to post electronic mail but where mail
functionality is not that program's primary purpose.
mail using SMTP to a preconfigured Mail Transport Agent (MTA).
This subpackage contains the API definition files.
%prep
%setup -q
%patch0
%patch1
%patch2 -p1
%patch3 -p1
%build
%configure --disable-static --with-pic \
--enable-ntlm \
--enable-etrn \
--disable-isoc
%{__make} %{?_smp_mflags}
autoreconf -fiv
%configure --with-openssl=yes --disable-static --enable-ntlm --enable-etrn \
--disable-isoc --with-auth-plugin-dir="%_libdir/%lname-plugins"
make %{?_smp_mflags}
%install
%makeinstall
#uses dlsym not ltdl ..useless files
rm -rf %{buildroot}%{_libdir}/esmtp-plugins/*a
rm -rf %{buildroot}%{_libdir}/*a
%make_install
# library uses dlsym not ltdl
find "%buildroot" -type f -name "*.la" -delete
%clean
rm -rf %{buildroot}
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%files -n %lname
%defattr(-,root,root)
%doc README AUTHORS ChangeLog COPYING
%dir %{_libdir}/esmtp-plugins
%{_libdir}/esmtp-plugins/*so*
%_libdir/%lname-plugins/
%{_libdir}/libesmtp.*so.*
%files devel