Hello community,

here is the log from the commit of package libcryptopp for openSUSE:Factory 
checked in at 2017-03-10 20:47:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcryptopp (Old)
 and      /work/SRC/openSUSE:Factory/.libcryptopp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libcryptopp"

Fri Mar 10 20:47:44 2017 rev:28 rq:477070 version:5.6.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/libcryptopp/libcryptopp.changes  2017-02-26 
17:03:45.493939918 +0100
+++ /work/SRC/openSUSE:Factory/.libcryptopp.new/libcryptopp.changes     
2017-03-10 20:47:49.827634068 +0100
@@ -1,0 +2,11 @@
+Fri Mar  3 05:58:37 UTC 2017 - [email protected]
+
+- Added patch field to soname due to library not following proper
+  API/ABI versioning to fix boo#1027192.
+- Removed crypto.pc and generate it in the spec file to ensure
+  proper version and directories.
+- Changed libcryptopp-shared.patch.
+- Renamed library package and obsoleted old name.
+- added precheckin_baselibs.sh and updated baselibs.conf
+
+-------------------------------------------------------------------

Old:
----
  cryptopp.pc

New:
----
  precheckin_baselibs.sh

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libcryptopp.spec ++++++
--- /var/tmp/diff_new_pack.dNh3pr/_old  2017-03-10 20:47:51.563388043 +0100
+++ /var/tmp/diff_new_pack.dNh3pr/_new  2017-03-10 20:47:51.567387476 +0100
@@ -19,22 +19,23 @@
 %define major 5
 %define minor 6
 %define patch 5
+%define pkg_version %{major}%{minor}%{patch}
 
 Name:           libcryptopp
-# When updating, remember to update cryptopp.pc and baselibs.conf as well.
+# WARNING: Execute "sh precheckin_baselibs.sh" to update baselibs.conf
+# WARNING: uses source zip file name to create lib name.
 Version:        %{major}.%{minor}.%{patch}
 Release:        0
-%define pkg_version %{major}%{minor}%{patch}
 # There is no upstream interface version information.
-# Therefore we need unique basenames:
-%define soname %{major}_%{minor}
+# Therefore we need unique basenames (see boo#1027192):
+%define sover %{major}_%{minor}_%{patch}
 Summary:        Cryptographic library for C++
 License:        BSL-1.0
 Group:          Development/Libraries/C and C++
 Url:            http://www.cryptopp.com
-Source:         http://www.cryptopp.com/cryptopp%{pkg_version}.zip
-Source1:        baselibs.conf
-Source2:        cryptopp.pc
+Source:         http://www.cryptopp.com/cryptopp%{major}%{minor}%{patch}.zip
+Source1:        precheckin_baselibs.sh
+Source2:        baselibs.conf
 # PATCH-FEATURE-OPENSUSE libcryptopp-shared.patch -- improve shared library 
creation
 Patch1:         libcryptopp-shared.patch
 # PATCH-BUILDFIX-OPENSUSE 0001-disable_os_rng_test.patch [email protected] 
-- disable OS Random Number Generator test
@@ -46,12 +47,16 @@
 
 %description
 The Crypto++ library is a C++ class library of cryptographic schemes.
+Also contains:
+pseudo random number generators (PRNG): ANSI X9.17 appendix C,
+RandomPool, RDRAND, RDSEED, NIST Hash DRBG.
 
-%package -n %{name}%{soname}
+%package -n %{name}%{sover}
 Summary:        Cryptographic Library for C++
 Group:          System/Libraries
+Obsoletes:      %{name}%{major}_%{minor} = %{version}
 
-%description -n %{name}%{soname}
+%description -n %{name}%{sover}
 The Crypto++ library provides authenticated encryption, stream and
 block ciphers, block cipher operation modes, message authentication
 codes, hash functions, PKI crypto, key agreement schemes and elliptic
@@ -60,42 +65,69 @@
 %package -n %{name}-devel
 Summary:        Development files for libcryptopp, a cryptographic library for 
C++
 Group:          Development/Libraries/C and C++
-Requires:       %{name}%{soname} = %{version}
+Requires:       %{name}%{sover} = %{version}
 Obsoletes:      %{name}-devel-static
 
 %description -n %{name}-devel
-The Crypto++ library is a C++ class library of cryptographic schemes.
+The Crypto++ library provides authenticated encryption, stream and
+block ciphers, block cipher operation modes, message authentication
+codes, hash functions, PKI crypto, key agreement schemes and elliptic
+curve crypto. This package is used for crypto++ development.
+
 
 %prep
 %setup -q -c "%{name}-%{version}"
-%patch1 -p1
+%patch1 -p0
 %patch4 -p1
+echo %{major}.%{minor}.%{patch}
+echo %{pkg_version}
 #mv config.recommend config.h
 
 %build
 make %{?_smp_mflags} \
-    CXXFLAGS="-DNDEBUG %{optflags} -fPIC -pthread -fopenmp" \
+    CXXFLAGS="-DNDEBUG %{optflags} -fpic -fPIC -pthread -fopenmp" \
+    DESTDIR="" \
+    PREFIX="%{_prefix}" \
+    LIB="%{_lib}" \
     CXX="g++" \
-    all
+    LIBSUFFIX="-%{version}" \
+    LDFLAGS="-pthread" \
+    all static
 
 %install
 make \
     DESTDIR=%{buildroot} \
     PREFIX="%{_prefix}" \
-    LIBDIR="%{_libdir}" \
+    LIB="%{_lib}" \
     LIBSUFFIX="-%{version}" \
     install
 rm -rf "%{buildroot}%{_bindir}" %{buildroot}%{_datadir}/cryptopp
+rm -rf "%{buildroot}%{_bindir}"
+rm %{buildroot}%{_libdir}/*.a
+# Install .pc file with correct version field.
 mkdir %{buildroot}%{_libdir}/pkgconfig/
-cp %{SOURCE2} %{buildroot}%{_libdir}/pkgconfig/
+echo "prefix=%{_prefix}" >%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "exec_prefix=\${prefix}" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "lib=%{_lib}" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "libdir=\${exec_prefix}/\${lib}" 
>>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "includedir=\${prefix}/include" 
>>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "Name: libcrypto++" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "Description: General purpose cryptographic shared library" 
>>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "URL: http://www.cryptopp.com"; 
>>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "Version: %{version}" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "Requires:" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "Libs: -lcryptopp" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "Cflags:" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
+echo "" >>%{buildroot}%{_libdir}/pkgconfig/cryptopp.pc
 
 %check
 LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test
 
-%post   -n %{name}%{soname} -p /sbin/ldconfig
-%postun -n %{name}%{soname} -p /sbin/ldconfig
+%post   -n %{name}%{sover} -p /sbin/ldconfig
+%postun -n %{name}%{sover} -p /sbin/ldconfig
 
-%files -n %{name}%{soname}
+%files -n %{name}%{sover}
 %defattr(-,root,root)
 %{_libdir}/libcryptopp.so.%{major}.*
 

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.dNh3pr/_old  2017-03-10 20:47:51.607381808 +0100
+++ /var/tmp/diff_new_pack.dNh3pr/_new  2017-03-10 20:47:51.611381241 +0100
@@ -1 +1,2 @@
-libcryptopp5_6
+libcryptopp5_6_5
+


++++++ libcryptopp-shared.patch ++++++
--- /var/tmp/diff_new_pack.dNh3pr/_old  2017-03-10 20:47:51.631378407 +0100
+++ /var/tmp/diff_new_pack.dNh3pr/_new  2017-03-10 20:47:51.631378407 +0100
@@ -1,7 +1,25 @@
-Index: libcryptopp-5.6.5/GNUmakefile
+Index: GNUmakefile
 ===================================================================
---- libcryptopp-5.6.5.orig/GNUmakefile
-+++ libcryptopp-5.6.5/GNUmakefile
+--- GNUmakefile.orig   2016-10-11 01:49:54.000000000 +0200
++++ GNUmakefile        2017-03-03 06:40:32.760437872 +0200
+@@ -74,7 +74,7 @@ ifeq ($(DATADIR),)
+ DATADIR := $(PREFIX)/share
+ endif
+ ifeq ($(LIBDIR),)
+-LIBDIR := $(PREFIX)/lib
++LIBDIR := $(PREFIX)/$(LIB)
+ endif
+ ifeq ($(BINDIR),)
+ BINDIR := $(PREFIX)/bin
+@@ -405,7 +405,7 @@ ifeq ($(HAS_SOLIB_VERSION),1)
+ SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)
+ # Different patchlevels are compatible, minor versions are not
+ SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR)
+-SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
++SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_VERSION_SUFFIX)
+ endif # HAS_SOLIB_VERSION
+ 
+ ###########################################################
 @@ -640,8 +640,8 @@ endif
  libcryptopp.dylib: $(LIBOBJS)
        $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" 
-current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" 
-compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" -headerpad_max_install_names 
$(LDFLAGS) $(LIBOBJS)

++++++ precheckin_baselibs.sh ++++++
#!/bin/bash
rm baselibs.conf
echo "libcryptopp$(ls -1 *zip |cut -b 9)_$(ls -1 *zip |cut -b 10)_$(ls -1 *zip 
|cut -b 11)" > baselibs.conf
echo "" >> baselibs.conf

Reply via email to