Hello community,
here is the log from the commit of package scpm for openSUSE:Factory checked in at 2014-05-02 14:03:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scpm (Old)
and /work/SRC/openSUSE:Factory/.scpm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scpm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/scpm/scpm.changes 2012-09-13 00:06:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.scpm.new/scpm.changes 2014-05-02 14:03:13.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Apr 17 03:30:37 UTC 2014 - crrodriguez@opensuse.org
+
+- Use -fvisiblity-inlines-hidden
+- scpm-md5.patch: This is one of the remaining two packages
+ that still require abandonware library "mhash", replace
+ its usage with cryptopp so we can drop the package in question.
+
+-------------------------------------------------------------------
New:
----
scpm-md5.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scpm.spec ++++++
--- /var/tmp/diff_new_pack.6fGbKJ/_old 2014-05-02 14:03:14.000000000 +0200
+++ /var/tmp/diff_new_pack.6fGbKJ/_new 2014-05-02 14:03:14.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package scpm
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,8 +23,8 @@
BuildRequires: graphviz-gnome
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
-BuildRequires: mhash-devel
BuildRequires: xz
+BuildRequires: pkgconfig(cryptopp)
%if 0%{suse_version} > 1220
BuildRequires: makeinfo
%endif
@@ -44,6 +44,7 @@
Patch7: scpm-no_using_in_header.patch
Patch8: scpm-constification.patch
Patch9: scpm-doc_config.patch
+Patch10: scpm-md5.patch
Requires: diffutils
Requires: textutils
Requires(post): awk
@@ -88,9 +89,9 @@
%patch7
%patch8
%patch9
-
+%patch10 -p1
%build
-export CXXFLAGS="%{optflags}"
+export CXXFLAGS="%{optflags} -fvisibility-inlines-hidden"
echo -e "#!/bin/bash\n$(which %__cxx) \"\$@\"" >g++
chmod 755 g++
export PATH=`pwd`:$PATH
++++++ scpm-md5.patch ++++++
--- scpm-1.1.7.orig/src/main/modlib.cc
+++ scpm-1.1.7/src/main/modlib.cc
@@ -21,79 +21,44 @@
#include <cstdlib>
#include <cstdio>
#include <string>
-#include
#include
#include <iostream>
#include
#include
#include
+#define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1
+#include
+#include
+#include
+#include
+
using namespace std;
+using namespace CryptoPP::Weak1;
+using namespace CryptoPP;
#define module_name "modlib"
string Modlib::GetMD5sum( string filename )
{
- int c;
- int fd;
- MHASH td;
- unsigned char buffer[4096];
- unsigned char *hash;
- static char hash_string[33];
- string hash_s;
-
- td = mhash_init(MHASH_MD5);
-
- if (td == MHASH_FAILED) return("__unknown");
-
- if ( (fd=open( filename.c_str(), O_RDONLY )) == -1 ) {
- return("__unknown");
- }
-
- while ( (c=read(fd, &buffer, 4096)) >0) {
- mhash(td, &buffer, c);
- }
-
- hash = (unsigned char *) mhash_end(td);
-
- for ( unsigned int i = 0; i < mhash_get_block_size(MHASH_MD5); i++) {
- sprintf(&hash_string[i*2], "%.2x", hash[i]);
- }
-
- close(fd);
- hash_s = hash_string;
+ MD5 hash;
+ byte buffer[2 * MD5::DIGESTSIZE];
+
+ FileSource f(filename.c_str(), true,
+ new HashFilter(hash,
+ new HexEncoder(new ArraySink(buffer,2 * MD5::DIGESTSIZE), false)));
- return hash_s;
+ return string((const char*)buffer,2 * MD5::DIGESTSIZE);
}
string Modlib::GetMD5sum( istream &input )
{
- int c;
- MHASH td;
- unsigned char buffer[4096];
- unsigned char *hash;
- static char hash_string[33];
- string hash_s;
-
- td = mhash_init(MHASH_MD5);
-
- if (td == MHASH_FAILED) return("__unknown");
-
- while ( input.get( (char*)buffer, 4096, '\0' ) ) {
- c = input.gcount();
- mhash(td, &buffer, c);
- }
-
- hash = (unsigned char *) mhash_end(td);
-
- for ( unsigned int i = 0; i < mhash_get_block_size(MHASH_MD5); i++) {
- sprintf(&hash_string[i*2], "%.2x", hash[i]);
- }
-
+ MD5 hash;
+ byte buffer[2 * MD5::DIGESTSIZE];
+ FileSource f(input, true, new HashFilter(hash, new HexEncoder(new ArraySink(buffer,2 * MD5::DIGESTSIZE), false)));
+ return string((const char*)buffer,2 * MD5::DIGESTSIZE);
- hash_s = hash_string;
- return hash_s;
}
int Modlib::CallHandler( string resource_type, string resource_name,
--- scpm-1.1.7.orig/src/libscpm/Makefile
+++ scpm-1.1.7/src/libscpm/Makefile
@@ -8,7 +8,7 @@ libscpm-schemes.so: libscpm-schemes.c
gcc -g -o libscpm-schemes.so -I../../include -shared libscpm-schemes.c
libscpm.so.$(LIBVERSION): ../main ../modules ../scdb
- g++ -shared -fPIC -o libscpm.so.$(LIBVERSION) -Xlinker --whole-archive ../main/libmain.a ../modules/libmodules.a ../scdb/libscdb.a -Xlinker -lmhash -Xlinker -call_shared -Xlinker --no-whole-archive -Wl,-soname,libscpm.so.$(APIVERSION)
+ g++ $(CXXFLAGS) -shared -fPIC -o libscpm.so.$(LIBVERSION) -Xlinker --whole-archive ../main/libmain.a ../modules/libmodules.a ../scdb/libscdb.a -Xlinker -lcryptopp -Xlinker -call_shared -Xlinker --no-whole-archive -Wl,-soname,libscpm.so.$(APIVERSION)
ln -sf libscpm.so.$(LIBVERSION) libscpm.so
clean:
rm -f libscpm.so.$(LIBVERSION) libscpm.o libscpm++.so libscpm-schemes.so libscpm.so
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org