SHA256
1
0
forked from pool/cmis-client

- Add 68.patch: fix build against Boost 1.86.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/cmis-client?expand=0&rev=48
This commit is contained in:
Dirk Mueller 2024-09-12 10:29:28 +00:00 committed by Git OBS Bridge
commit 27d3caae45
6 changed files with 439 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

44
68.patch Normal file
View File

@ -0,0 +1,44 @@
From dfcb642a491f7ec2ae52e3e83d31bb6cdf3670c2 Mon Sep 17 00:00:00 2001
From: David Seifert <soap@gentoo.org>
Date: Sat, 31 Aug 2024 12:39:39 +0200
Subject: [PATCH] Fix boost 1.86 breakage
The fix does not break building against <1.86 since we're now accessing the
object representation of the return value.
Fixes #67
---
src/libcmis/xml-utils.cxx | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/libcmis/xml-utils.cxx b/src/libcmis/xml-utils.cxx
index e487d17..cdf088f 100644
--- a/src/libcmis/xml-utils.cxx
+++ b/src/libcmis/xml-utils.cxx
@@ -531,16 +531,22 @@ namespace libcmis
boost::uuids::detail::sha1 sha1;
sha1.process_bytes( str.c_str(), str.size() );
- unsigned int digest[5];
+ // on boost < 1.86.0, digest_type is typedef'd as unsigned int[5]
+ // on boost >= 1.86.0, digest_type is typedef'd as unsigned char[20]
+ boost::uuids::detail::sha1::digest_type digest;
sha1.get_digest( digest );
+ // by using a pointer to unsigned char, we can read the
+ // object representation of either typedef.
+ const unsigned char* ptr = reinterpret_cast<const unsigned char*>( digest );
+
stringstream out;
- // Setup writing mode. Every number must produce eight
+ // Setup writing mode. Every number must produce two
// hexadecimal digits, including possible leading 0s, or we get
// less than 40 digits as result.
out << hex << setfill('0') << right;
- for ( int i = 0; i < 5; ++i )
- out << setw(8) << digest[i];
+ for ( int i = 0; i < sizeof( digest ); ++ptr, ++i )
+ out << setw(2) << static_cast<int>( *ptr );
return out.str();
}

225
cmis-client.changes Normal file
View File

@ -0,0 +1,225 @@
-------------------------------------------------------------------
Wed Sep 4 14:53:28 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Add 68.patch: fix build against Boost 1.86.
-------------------------------------------------------------------
Tue Apr 2 12:28:21 UTC 2024 - pgajdos@suse.com
- version update to 0.6.2
* Merged outstanding LibreOffice, etc. modifications
* add a callback that can be used to configure libcurl
* fix up version-info
-------------------------------------------------------------------
Mon Jul 8 10:40:24 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 0.5.2:
* Fixed Google Drive login, broken by Google's new 2-page login sequence
* Added support for Google Drive two-factor authentication
* Fixed access to SharePoint root folder (tdf#101385)
* Limited the maximal number of redirections to 20 (rhbz#1410197)
* Switched library implementation to C++11 (the API remains C++98-compatible)
* Fixed build with boost >= 1.68.0 (#19)
* Fixed encoding of OAuth2 credentials
* Dropped cppcheck run from "make check". A new "make cppcheck" target was created for it
* Added proper API symbol exporting
* Speeded up building of tests a bit
* Fixed a few issues found by coverity and cppcheck
- Remove merged patches:
* boost_168.patch
* declare-automake-foreign.patch
-------------------------------------------------------------------
Fri Aug 17 07:17:25 UTC 2018 - adam.majer@suse.de
- use %license to install licenses
- spec file cleanup
- boost_168.patch: fix build with Boost 1.68 where the compatibility
header for Uuid's sha1 header was removed. (boo#1105173)
-------------------------------------------------------------------
Wed Feb 8 10:09:12 UTC 2017 - jengelh@inai.de
- Description updates
- Rename %soname to %sover to better reflect its use
-------------------------------------------------------------------
Wed Feb 1 10:30:26 UTC 2017 - adam.majer@suse.de
- use individual libboost-*-devel packages instead of boost-devel
-------------------------------------------------------------------
Sun May 8 10:18:47 UTC 2016 - tchvatal@suse.com
- Simplify autoreconf call and add patch to mark Makefile as foreign:
* declare-automake-foreign.patch
-------------------------------------------------------------------
Fri Mar 4 13:36:58 UTC 2016 - tchvatal@suse.com
- Version update to 0.5.1:
* Few small bugfixes, see NEWS file for details
- Remove upstreamed patches
* 0001-fix-boost-configuration-with-gcc-5.patch
* 0002-avoid-use-after-delete.patch
* 0005-Remove-invalid-comments-from-test-JSON-file.patch
-------------------------------------------------------------------
Fri Nov 20 13:33:48 UTC 2015 - normand@linux.vnet.ibm.com
- for ppc64le bypass boo#955832: disable stop on make check error
-------------------------------------------------------------------
Tue Nov 17 08:24:04 UTC 2015 - idonmez@suse.com
- Add 0005-Remove-invalid-comments-from-test-JSON-file.patch to fix
test-onedrive failure with boost 1.59
(http://sourceforge.net/p/libcmis/tickets/13/)
-------------------------------------------------------------------
Wed May 6 17:10:00 UTC 2015 - fstrba@suse.com
- Added patches:
* 0001-fix-boost-configuration-with-gcc-5.patch
- Upstream fix for boost detection with gcc5
* 0002-avoid-use-after-delete.patch
- Upstream fix for test-ws failure
- Removed patch:
* fix-boost-with-gcc5.patch
- Superseded by the two previous patches
-------------------------------------------------------------------
Wed May 6 15:05:04 UTC 2015 - coolo@suse.com
- fix-boost-with-gcc5.patch: upsream patch to support gcc5
-------------------------------------------------------------------
Wed May 6 14:56:37 UTC 2015 - coolo@suse.com
- use upstream source url
-------------------------------------------------------------------
Sat Dec 27 16:31:25 UTC 2014 - p.drouand@gmail.com
- Update to version 0.5.0
+ Completely removed the dependency on InMemory server for unit tests
+ Minimized the number of HTTP requests sent by
SessionFactory::createSession
+ Added Session::getBaseTypes()
- Remove merged patches;
+ 433fad3-Fix-int-bool-confusion-on-big-endian-architectures.patch
+ 0001-Remove-C-11-only-std-to_string.patch
- Bump soname to 0_5-5
- Bump incname to 0.5
-------------------------------------------------------------------
Wed Jul 2 12:31:44 UTC 2014 - fstrba@suse.com
- 0001-Remove-C-11-only-std-to_string.patch
Fix some C++11-isms.
-------------------------------------------------------------------
Tue Mar 4 13:46:50 UTC 2014 - cbosdonnat@suse.com
- 433fad3-Fix-int-bool-confusion-on-big-endian-architectures.patch
Fix problem with big endian architectures. bnc#866716
-------------------------------------------------------------------
Mon Dec 30 10:58:01 UTC 2013 - tchvatal@suse.com
- Whitespace cleanup here&there.
-------------------------------------------------------------------
Tue Nov 12 04:58:21 UTC 2013 - jengelh@inai.de
- Set RPM groups of shlib packages to what we normally use
- Make a note in the description about what "CMIS" is
- Require boost-1.42 (first one to have the mandatory uuid.hpp)
-------------------------------------------------------------------
Wed Aug 7 15:25:18 UTC 2013 - cbosdonnat@suse.com
- Update to version 0.4.1
+ 0.4.0
+ Support for Google Drive protocol as a binding
+ Support for Alfresco in the cloud
+ Added OAuth2 authentication support
+ Added API to configure HTTP proxy
+ Handle invalid SSL certificate problems
+ Added API for renditions
+ Moved the CMIS Atom binding unit tests to use libcurl mockup
+ Added repository capabilities support (still missing
capabilityCreatablePropertyTypes and capabilityNewTypeSettableAttributes)
+ 0.4.1
+ Don't install the libcmis-mockup library: only for testing purpose
-------------------------------------------------------------------
Mon Jun 10 23:09:00 UTC 2013 - crrodriguez@opensuse.org
- Build with large file support in 32 bit archs, no good
will come mixing LFS-aware executables and non-LFS libraries.
-------------------------------------------------------------------
Thu Jan 31 15:35:40 UTC 2013 - tchvatal@suse.com
- Version bup to 0.3.1
* 0.3.1
* Added support for proxy configuration
* Fixed man page generation
* Misc code cleanup / fixes
-------------------------------------------------------------------
Fri Jan 25 12:36:49 UTC 2013 - tchvatal@suse.com
- Fix libcmis-c-devel dependency over itself.
-------------------------------------------------------------------
Thu Sep 13 12:38:54 UTC 2012 - cbosdonnat@suse.com
- Update to version 0.3.0
+ 0.2.2
+ Fixed soname for the library
+ Allow building against libcurl 7.13.1
+ 0.2.3
+ Fixed SharePoint support
+ Conditional build of man page
+ 0.3.0
+ Added Document::checkOut(), Document::cancelCheckout() and Document::checkIn()
+ Added Object::move( ) -- Grau Data
+ Fixes for xcmis and cloudoku.com -- Grau Data
+ Added Document::getAllVersions( )
+ WebService binding implementation
+ Session factory automatically detects which binding to use
+ C wrapper API
+ Unit tests are now split between quick ones and the ones needing a CMIS server
-------------------------------------------------------------------
Mon Jun 4 11:37:10 UTC 2012 - cbosdonnat@suse.com
- Update to version 0.2.1
+ 0.2.0
+ Handle all the authentication methods that can be handled by
libcurl like Basic, NTLM...
+ Decode base64 encoded content sent by SharePoint
+ Set the content of a document
+ Query nodes by path
+ Get the allowable actions for a node
+ Object properties can be updated
+ Query object types
+ Creation of folders and documents
+ Deletion of folders and documents
+ 0.2.1
+ Fixed documentation distribution
-------------------------------------------------------------------
Tue May 29 14:46:46 UTC 2012 - cbosdonnat@suse.com
- Fixed licenses
-------------------------------------------------------------------
Tue Oct 4 10:39:03 UTC 2011 - cbosdonnat@suse.com
- Created initial package with libcmis 0.1.0

143
cmis-client.spec Normal file
View File

@ -0,0 +1,143 @@
#
# spec file for package cmis-client
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sover 0_6-6
%define incname 0.6
%define _name libcmis
Name: cmis-client
Version: 0.6.2
Release: 0
Summary: Sample CMIS client
License: GPL-2.0-or-later OR MPL-1.1 OR LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: https://github.com/tdf/libcmis
Source0: https://github.com/tdf/%{_name}/releases/download/v%{version}/%{_name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM -- Fux build against boost 1.86
Patch0: https://patch-diff.githubusercontent.com/raw/tdf/libcmis/pull/68.patch
BuildRequires: docbook2X
BuildRequires: gcc-c++
BuildRequires: intltool
BuildRequires: libcppunit-devel
BuildRequires: libtool
BuildRequires: libxslt
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libxml-2.0)
Requires: %{_name}-%{sover} = %{version}
%if 0%{?suse_version} > 1325
BuildRequires: libboost_date_time-devel
BuildRequires: libboost_program_options-devel
%else
BuildRequires: boost-devel >= 1.36
%endif
%description
Sample client to access CMIS-enabled repositories using libcmis.
%package -n %{_name}-%{sover}
Summary: Library for accessing CMIS-enabled servers
Group: System/Libraries
%description -n %{_name}-%{sover}
libcmis is a C++ client library for the CMIS (Content Management
Interoperability Services) interface. This library allows C++
applications to connect to any CMIS-enabled repositories.
%package -n %{_name}-devel
Summary: Development files for libcmis
Group: Development/Libraries/C and C++
Requires: %{_name}-%{sover} = %{version}
%description -n %{_name}-devel
Development files for libcmis. libcmis is a C++ client library for
the CMIS interface.
%package -n %{_name}-c-%{sover}
Summary: C wrapper for libcmis, a library for accessing CMIS-enabled servers
Group: System/Libraries
%description -n %{_name}-c-%{sover}
libcmis-c is a C client library for the CMIS (Content Management
Interoperability Services) interface. This allows C applications to
connect to any CMIS-enabled repositories. It is only a wrapper for
its C++ sister library libcmis.
%package -n %{_name}-c-devel
Summary: Development files for libcmis-c
Group: Development/Libraries/C and C++
Requires: %{_name}-c-%{sover} = %{version}
%description -n %{_name}-c-devel
Development files for libcmis-c. libcmis-c is a C client library for
the CMIS interface.
%prep
%autosetup -p1 -n %{_name}-%{version}
%build
autoreconf -fvi
export CFLAGS="%{optflags} -D_GNU_SOURCE $(getconf LFS_CFLAGS)"
export CXXFLAGS="%{optflags} $(getconf LFS_CFLAGS)"
%configure \
--disable-silent-rules \
--disable-static \
--disable-werror
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%check
# bypass bug 955832
%ifarch ppc64le
make -k check %{?_smp_mflags} || echo "ignore check error"
%else
make check %{?_smp_mflags}
%endif
%post -n %{_name}-%{sover} -p /sbin/ldconfig
%post -n %{_name}-c-%{sover} -p /sbin/ldconfig
%postun -n %{_name}-%{sover} -p /sbin/ldconfig
%postun -n %{_name}-c-%{sover} -p /sbin/ldconfig
%files
%{_bindir}/cmis-client
%{_mandir}/man1/cmis-client.1%{?ext_man}
%files -n %{_name}-%{sover}
%doc AUTHORS NEWS
%license COPYING.LGPL COPYING.MPL COPYING.GPL
%{_libdir}/%{_name}-%{incname}.so.*
%files -n %{_name}-devel
%{_includedir}/%{_name}-%{incname}
%{_libdir}/pkgconfig/%{_name}-%{incname}.pc
%{_libdir}/%{_name}-%{incname}.so
%files -n %{_name}-c-%{sover}
%doc AUTHORS NEWS
%license COPYING.LGPL COPYING.MPL COPYING.GPL
%{_libdir}/%{_name}-c-%{incname}.so.*
%files -n %{_name}-c-devel
%{_includedir}/%{_name}-c-%{incname}
%{_libdir}/pkgconfig/%{_name}-c-%{incname}.pc
%{_libdir}/%{_name}-c-%{incname}.so
%changelog

3
libcmis-0.6.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f89d871f14de3180fa5a122ab1209fc397f3abeea182db936ca1d81970be1ff0
size 787697