Hello community,
here is the log from the commit of package liborigin for openSUSE:Factory checked in at 2019-05-02 19:20:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/liborigin (Old)
and /work/SRC/openSUSE:Factory/.liborigin.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "liborigin"
Thu May 2 19:20:53 2019 rev:5 rq:699958 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/liborigin/liborigin.changes 2018-03-09 10:42:26.391659710 +0100
+++ /work/SRC/openSUSE:Factory/.liborigin.new.5148/liborigin.changes 2019-05-02 19:21:19.085781480 +0200
@@ -1,0 +2,27 @@
+Tue Apr 23 09:30:45 UTC 2019 - Atri Bhattacharya
+
+- Update to version 3.0.0:
+ * No news file or changelog from upstream.
+- Drop liborigin2-nostatic.patch: instead specify build targets
+ for make individually, omitting the static lib.
+- Add liborigin-link-opj2dat-against-sharedlib.patch: compile
+ opj2dat against the shared lib instead of the static lib; patch
+ taken from upstream bug report
+ (https://sourceforge.net/p/liborigin/bugs/24/).
+- Add liborigin-remove-exit-calls.patch: Remove exit calls from
+ library; patch taken from upstream git (commit #a8b25b48).
+- Update shared lib package name in keeping with upstream so
+ versioning bump.
+- Use %%cmake_build for building and pass individual targets for
+ make: origin, opj2dat, and doc.
+- Building doc now requires doxygen.
+- Drop boost-devel BuildRequires: no longer needed.
+- Update sed command to fix location of documentation in keeping
+ with changes to upstream CMakelists.txt file.
+- Use %%autosetup to setup build dir.
+- Package pkgconfig file; introduce BuildRequires: pkgconfig to
+ auto-generate appropriate pkgconfig-based Provides.
+- Drop sed script for libdir, no longer needed.
+- Minor cleanups using spec-cleaner.
+
+-------------------------------------------------------------------
Old:
----
liborigin-2.0.0.tar.gz
liborigin2-nostatic.patch
New:
----
liborigin-3.0.0.tar.gz
liborigin-link-opj2dat-against-sharedlib.patch
liborigin-remove-exit-calls.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ liborigin.spec ++++++
--- /var/tmp/diff_new_pack.GmaWk6/_old 2019-05-02 19:21:20.813785127 +0200
+++ /var/tmp/diff_new_pack.GmaWk6/_new 2019-05-02 19:21:20.817785135 +0200
@@ -1,7 +1,7 @@
#
# spec file for package liborigin
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,20 +16,23 @@
#
+%define shlib %{name}3
Name: liborigin
-Version: 2.0.0
+Version: 3.0.0
Release: 0
Summary: A library for reading OriginLab OPJ project files
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
-Url: http://sourceforge.net/projects/liborigin/
+URL: http://sourceforge.net/projects/liborigin/
Source: http://downloads.sourceforge.net/liborigin/%{name}-%{version}.tar.gz
-# PATCH-FIX-OPENSUSE liborigin2-nostatic.patch -- disable static library
-Patch1: liborigin2-nostatic.patch
-BuildRequires: boost-devel
+# PATCH-FIX-UPSTREAM liborigin-link-opj2dat-against-sharedlib.patch badshah400@gmail.com -- Link opj2dat against the shared library so we avoid generating and installing the static lib (https://sourceforge.net/p/liborigin/bugs/24)
+Patch1: liborigin-link-opj2dat-against-sharedlib.patch
+# PATCH-FIX-UPSTREAM liborigin-remove-exit-calls.patch badshah400@gmail.com -- Remove exit calls from library; patch taken from upstream commit
+Patch2: liborigin-remove-exit-calls.patch
BuildRequires: cmake
+BuildRequires: doxygen
BuildRequires: gcc-c++
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: pkgconfig
%description
A library for reading OriginLab OPJ project files.
@@ -37,11 +40,11 @@
* reads any worksheets with all columns
* supports 4.1, 5.0, 6.0, 6.1, 7.0, 7.5 projects
-%package -n %{name}2
+%package -n %{shlib}
Summary: A library for reading OriginLab OPJ project files
Group: System/Libraries
-%description -n %{name}2
+%description -n %{shlib}
A library for reading OriginLab OPJ project files.
Features:
* reads any worksheets with all columns
@@ -50,7 +53,7 @@
%package devel
Summary: Libraries and header files for liborigin
Group: Development/Libraries/C and C++
-Requires: %{name}2 = %{version}
+Requires: %{shlib} = %{version}
Recommends: %{name}-doc
%description devel
@@ -78,42 +81,33 @@
* supports 4.1, 5.0, 6.0, 6.1, 7.0, 7.5 projects
%prep
-%setup -q -n %{name}
-%patch1 -p1
-
-# fix hardcoded library path
-sed -i "s|DESTINATION lib)|DESTINATION %{_lib})|" CMakeLists.txt
+%autosetup -p1
# fix documentation directory
-sed -i "s|DESTINATION share/doc/liborigin)|DESTINATION %{_docdir}/%{name})|" CMakeLists.txt
+sed -i "s|DESTINATION share/doc/liborigin|DESTINATION %{_docdir}/%{name}|" CMakeLists.txt
%build
%cmake
-
-make %{?_smp_mflags}
+%cmake_build origin opj2dat doc
%install
%cmake_install
-%post -n %{name}2 -p /sbin/ldconfig
-
-%postun -n %{name}2 -p /sbin/ldconfig
+%post -n %{shlib} -p /sbin/ldconfig
+%postun -n %{shlib} -p /sbin/ldconfig
-%files -n %{name}2
-%defattr(-,root,root)
+%files -n %{shlib}
%{_libdir}/%{name}.so.*
%files devel
-%defattr(-,root,root)
%{_libdir}/%{name}.so
%{_includedir}/%{name}/
+%{_libdir}/pkgconfig/*.pc
%files doc
-%defattr(-,root,root)
%{_docdir}/%{name}/
%files tools
-%defattr(-,root,root)
%{_bindir}/opj2dat
%changelog
++++++ liborigin-2.0.0.tar.gz -> liborigin-3.0.0.tar.gz ++++++
++++ 14703 lines of diff (skipped)
++++++ liborigin-link-opj2dat-against-sharedlib.patch ++++++
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 17c613b..18b7aee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -78,8 +78,12 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liborigin.pc DESTINATION lib${LIB_SUFF
# command line util
add_executable(opj2dat opj2dat.cpp)
-target_link_libraries (opj2dat origin-static)
+target_link_libraries (opj2dat origin)
+add_executable(opj2dat-static opj2dat.cpp)
+target_link_libraries (opj2dat-static origin-static)
+
+install(PROGRAMS opj2dat-static RENAME opj2dat DESTINATION bin OPTIONAL)
install(TARGETS opj2dat DESTINATION bin OPTIONAL)
# documentation
++++++ liborigin-remove-exit-calls.patch ++++++
--- a/OriginFile.cpp
+++ b/OriginFile.cpp
@@ -33,14 +33,15 @@
#include <string>
OriginFile::OriginFile(const string& fileName)
-: fileVersion(0)
+: fileVersion(0), ioError(0)
{
ifstream file(fileName.c_str(), ios_base::binary);
if (!file.is_open())
{
- cerr << "Could not open " << fileName.c_str() << "!" << endl;
- exit(EXIT_FAILURE);
+ cerr << endl << "liborigin: " << strerror(errno) << ": " << fileName.c_str() << endl;
+ ioError = errno;
+ return;
}
#ifdef GENERATE_CODE_FOR_LOG
@@ -48,8 +49,9 @@
logfile = fopen("./opjfile.log", "w");
if (logfile == nullptr)
{
- cerr << "Could not open opjfile.log !" << endl;
- exit(EXIT_FAILURE);
+ cerr << endl << "liborigin: " << strerror(errno) << ": opjfile.log" << endl;
+ ioError = errno;
+ return;
}
#endif // GENERATE_CODE_FOR_LOG
@@ -152,10 +154,13 @@
fclose(logfile);
#endif // GENERATE_CODE_FOR_LOG
parser.reset(createOriginAnyParser(fileName));
+ ioError=0;
}
bool OriginFile::parse()
{
+ if (ioError != 0)
+ return false;
parser->buildVersion = buildVersion;
parser->fileVersion = fileVersion;
return parser->parse();
--- a/OriginFile.h
+++ b/OriginFile.h
@@ -70,7 +70,7 @@
string resultsLogString() const; //!< get Results Log
private:
- unsigned int fileVersion, buildVersion;
+ unsigned int fileVersion, buildVersion, ioError;
unique_ptr<OriginParser> parser;
};
--- a/opj2dat.cpp
+++ b/opj2dat.cpp
@@ -54,6 +54,8 @@
OriginFile opj(inputfile);
int status = opj.parse();
cout << "Parsing status = " << status << endl;
+ if (! status)
+ return -1;
cout << "OPJ PROJECT \"" << inputfile.c_str() << "\" VERSION = " << opj.version() << endl;
cout << "number of datasets = " << opj.datasetCount() << endl;