SHA256
1
0
forked from pool/createrepo_c

Accepting request 671112 from home:Pharaoh_Atem:branches:system:packagemanager

- Update to 0.12.0
  + Add basic support for zchunk metadata
  + Add support for building wheels to upload to PyPI
  + Add support for RPMs with large files
  + Identify Requires(missingok) as Recommends correctly
  + Enable legacy tags by default
  + Fix missing packages in mergerepo_c with multiple VR of same name
  + Add mergerepo_c --repo-prefix-search and --repo-prefix-replace
  + Build against Python 3 by default for bindings
- Backport fixes from upstream
  * 0001-zck_end_chunk-returns-number-of-bytes-written-or-1-f.patch
  * 0002-Add-missing-sentinal.patch
  * 0003-Fix-misc-test.patch
- Drop snapshot source service and snapshot tarball
- Use license macro for license file
- Drop trailing whitespace
- Drop Python 2 subpackage
- Enable drpm support
- Enable zchunk for openSUSE Leap 15.1+ and Tumbleweed
- Adjust changes entries to use full author identities

OBS-URL: https://build.opensuse.org/request/show/671112
OBS-URL: https://build.opensuse.org/package/show/system:packagemanager/createrepo_c?expand=0&rev=27
This commit is contained in:
Frank Schreiner 2019-02-25 10:26:48 +00:00 committed by Git OBS Bridge
parent cab9aecee6
commit e375857c81
8 changed files with 196 additions and 109 deletions

View File

@ -0,0 +1,27 @@
From 19af36bcd4984359509deb95e2df83449ce471f6 Mon Sep 17 00:00:00 2001
From: Jonathan Dieter <jdieter@gmail.com>
Date: Sun, 6 Jan 2019 19:21:04 +0000
Subject: [PATCH 1/3] zck_end_chunk returns number of bytes written or -1 for
error
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
---
src/compression_wrapper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/compression_wrapper.c b/src/compression_wrapper.c
index 43f213c..e5b58d2 100644
--- a/src/compression_wrapper.c
+++ b/src/compression_wrapper.c
@@ -880,7 +880,7 @@ cr_close(CR_FILE *cr_file, GError **err)
zckCtx *zck = (zckCtx *) cr_file->FILE;
ret = CRE_OK;
if (cr_file->mode == CR_CW_MODE_WRITE) {
- if(!zck_end_chunk(zck)) {
+ if(zck_end_chunk(zck) < 0) {
ret = CRE_ZCK;
g_set_error(err, ERR_DOMAIN, CRE_ZCK,
"Unable to end final chunk: %s", zck_get_error(zck));
--
2.20.1

View File

@ -0,0 +1,26 @@
From 2eb66187dd8ab5840b4c82c18e817d04caa258ca Mon Sep 17 00:00:00 2001
From: Jonathan Dieter <jdieter@gmail.com>
Date: Tue, 15 Jan 2019 23:23:47 +0000
Subject: [PATCH 2/3] Add missing sentinal
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
---
src/misc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/misc.c b/src/misc.c
index ec8667b..288b0eb 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -1519,7 +1519,7 @@ cr_get_dict_file(const gchar *dir, const gchar *file)
assert(dict_file);
snprintf(dict_file, strlen(file) + 7, "%s.zdict", file);
- gchar *full_path = g_build_path("/", dir, dict_file);
+ gchar *full_path = g_build_path("/", dir, dict_file, NULL);
assert(full_path);
free(dict_file);
--
2.20.1

40
0003-Fix-misc-test.patch Normal file
View File

@ -0,0 +1,40 @@
From ccd8f0ec32b9ca82a727b35fcc8724ea6f6d3556 Mon Sep 17 00:00:00 2001
From: Jonathan Dieter <jdieter@gmail.com>
Date: Tue, 15 Jan 2019 23:23:58 +0000
Subject: [PATCH 3/3] Fix misc test
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
---
tests/test_misc.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/tests/test_misc.c b/tests/test_misc.c
index 9d528c7..06144a6 100644
--- a/tests/test_misc.c
+++ b/tests/test_misc.c
@@ -531,8 +531,8 @@ compressfile_test_text_file(Copyfiletest *copyfiletest,
GError *tmp_err = NULL;
g_assert(!g_file_test(copyfiletest->dst_file, G_FILE_TEST_EXISTS));
- ret = cr_compress_file(TEST_TEXT_FILE, copyfiletest->dst_file,
- CR_CW_GZ_COMPRESSION, &tmp_err);
+ ret = cr_compress_file(TEST_TEXT_FILE, &(copyfiletest->dst_file),
+ CR_CW_GZ_COMPRESSION, NULL, FALSE, &tmp_err);
g_assert(!tmp_err);
g_assert_cmpint(ret, ==, CRE_OK);
g_assert(g_file_test(copyfiletest->dst_file, G_FILE_TEST_IS_REGULAR));
@@ -556,8 +556,9 @@ compressfile_with_stat_test_text_file(Copyfiletest *copyfiletest,
g_assert(!tmp_err);
g_assert(!g_file_test(copyfiletest->dst_file, G_FILE_TEST_EXISTS));
- ret = cr_compress_file_with_stat(TEST_TEXT_FILE, copyfiletest->dst_file,
- CR_CW_GZ_COMPRESSION, stat, &tmp_err);
+ ret = cr_compress_file_with_stat(TEST_TEXT_FILE, &copyfiletest->dst_file,
+ CR_CW_GZ_COMPRESSION, stat, NULL, FALSE,
+ &tmp_err);
g_assert(!tmp_err);
g_assert_cmpint(ret, ==, CRE_OK);
g_assert(g_file_test(copyfiletest->dst_file, G_FILE_TEST_IS_REGULAR));
--
2.20.1

View File

@ -1,16 +0,0 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="url">git://github.com/rpm-software-management/createrepo_c.git</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="version">git-master</param>
<param name="versionformat">0.10.0.git%cd.%h</param>
<param name="revision">master</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>

View File

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

View File

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

View File

@ -1,10 +1,44 @@
-------------------------------------------------------------------
Thu Apr 5 15:50:28 UTC 2018 - adrian@suse.de
Mon Feb 4 12:09:27 UTC 2019 - Neal Gompa <ngompa13@gmail.com>
- Backport fixes from upstream
* 0001-zck_end_chunk-returns-number-of-bytes-written-or-1-f.patch
* 0002-Add-missing-sentinal.patch
* 0003-Fix-misc-test.patch
-------------------------------------------------------------------
Mon Feb 4 00:01:56 UTC 2019 - Neal Gompa <ngompa13@gmail.com>
- Update to 0.12.0
+ Add basic support for zchunk metadata
+ Add support for building wheels to upload to PyPI
- Drop Python 2 subpackage
- Enable drpm support
- Enable zchunk for openSUSE Leap 15.1+ and Tumbleweed
- Adjust changes entries to use full author identities
-------------------------------------------------------------------
Wed Aug 1 12:06:35 UTC 2018 - Neal Gompa <ngompa13@gmail.com>
- Update to 0.11.1
+ Add support for RPMs with large files
+ Identify Requires(missingok) as Recommends correctly
+ Enable legacy tags by default
+ Fix missing packages in mergerepo_c with multiple VR of same name
+ Add mergerepo_c --repo-prefix-search and --repo-prefix-replace
+ Build against Python 3 by default for bindings
- Drop snapshot source service and snapshot tarball
- Use license macro for license file
- Drop trailing whitespace
- Fix comment about drpm support
-------------------------------------------------------------------
Thu Apr 5 15:50:28 UTC 2018 - Adrian Schröter <adrian@suse.de>
- fix spelling of old weakdeps feature switch (bsc#1088328)
-------------------------------------------------------------------
Wed Feb 21 15:58:06 UTC 2018 - FSchreiner@suse.com
Wed Feb 21 15:58:06 UTC 2018 - Frank Schreiner <FSchreiner@suse.com>
- [bnc#1075670] changed to provide createrepo as update-alternative
because createrepo_c will replace createrepo because of switch to
@ -12,12 +46,12 @@ Wed Feb 21 15:58:06 UTC 2018 - FSchreiner@suse.com
- also provide createrepo-implementation
-------------------------------------------------------------------
Tue Feb 13 11:53:58 UTC 2018 - tchvatal@suse.com
Tue Feb 13 11:53:58 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
- Disable tests on SLE12 due to the python-nose requirements
-------------------------------------------------------------------
Mon Jan 22 11:58:46 UTC 2018 - tchvatal@suse.com
Mon Jan 22 11:58:46 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
- Switch to singlespec buidling of python bindings
- Make sure to use cmake macros to have it easier to gork what is
@ -26,17 +60,17 @@ Mon Jan 22 11:58:46 UTC 2018 - tchvatal@suse.com
- Fix embedding of date and time to documentation
-------------------------------------------------------------------
Sun Feb 19 12:57:21 UTC 2017 - ngompa13@gmail.com
Sun Feb 19 12:57:21 UTC 2017 - Neal Gompa <ngompa13@gmail.com>
- Enable Python bindings for openSUSE Leap.
-------------------------------------------------------------------
Sun Feb 19 02:27:30 UTC 2017 - ngompa13@gmail.com
Sun Feb 19 02:27:30 UTC 2017 - Neal Gompa <ngompa13@gmail.com>
- Enable Python bindings for openSUSE Tumbleweed.
-------------------------------------------------------------------
Wed Feb 8 17:42:57 UTC 2017 - ngompa13@gmail.com
Wed Feb 8 17:42:57 UTC 2017 - Neal Gompa <ngompa13@gmail.com>
- Updated upstream sources
- Removed patch 000-Ensure_that_provides-requires_versions_are_factored_into_dep_filtering.diff
@ -45,28 +79,28 @@ Wed Feb 8 17:42:57 UTC 2017 - ngompa13@gmail.com
- Fixed license tag and other misc cleanups
-------------------------------------------------------------------
Mon Oct 31 13:19:23 UTC 2016 - fschreiner@suse.com
Mon Oct 31 13:19:23 UTC 2016 - Frank Schreiner <FSchreiner@suse.com>
- updated upstream sources
- Added patch 000-Ensure_that_provides-requires_versions_are_factored_into_dep_filtering.diff
-------------------------------------------------------------------
Tue Jul 5 11:03:23 UTC 2016 - jengelh@inai.de
Tue Jul 5 11:03:23 UTC 2016 - Jan Engelhardt <jengelh@inai.de>
- Run fdupes to eliminate duplicate .js files
-------------------------------------------------------------------
Mon Feb 1 04:49:43 UTC 2016 - ngompa13@gmail.com
Mon Feb 1 04:49:43 UTC 2016 - Neal Gompa <ngompa13@gmail.com>
- Disable Python 3 bindings for SLE
-------------------------------------------------------------------
Mon Feb 1 04:40:40 UTC 2016 - ngompa13@gmail.com
Mon Feb 1 04:40:40 UTC 2016 - Neal Gompa <ngompa13@gmail.com>
- Update to 0.10.0, add Python 3 bindings
-------------------------------------------------------------------
Thu Oct 29 14:48:00 UTC 2015 - ngompa13@gmail.com
Thu Oct 29 14:48:00 UTC 2015 - Neal Gompa <ngompa13@gmail.com>
- Initial package based on Mageia package

View File

@ -2,7 +2,7 @@
# spec file for package createrepo_c
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2015-2017 Neal Gompa <ngompa13@gmail.com>.
# Copyright (c) 2019 Neal Gompa <ngompa13@gmail.com>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,42 +17,47 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
# Enable Python and tests selectively
%if 0%{?is_opensuse} || 0%{?suse_version} >= 1330
%bcond_without python3
%bcond_without tests
%else
%define skip_python3 1
%bcond_with tests
%bcond_with python3
%endif
# Enable enhanced DeltaRPM support
%bcond_without drpm
%if (0%{?is_opensuse} && 0%{?sle_version} >= 150100) || 0%{?suse_version} >= 1550
%bcond_without zchunk
%endif
%{!?make_build: %global make_build %{__make} %{?_smp_mflags}}
%define major 0
%define libname lib%{name}%{major}
%define devname lib%{name}-devel
%define version_unconverted 0.10.0.git20170131.04828e6
# prevent provides from nonstandard paths:
%global __provides_exclude ^(%{python_sitearch}/.*\\.so\\|%{python3_sitearch}/.*\\.so)$
# Enable Python bindings selectively
%bcond_without python2
# Enable enhanced DeltaRPM support
%bcond_with drpm
Name: createrepo_c
Version: 0.10.0.git20170131.04828e6
Version: 0.12.0
Release: 0
Summary: Creates a common metadata repository
License: GPL-2.0-or-later
Group: System/Packages
Url: https://github.com/rpm-software-management/createrepo_c
Source0: %{name}-%{version}.tar.gz
%if 0%{?is_opensuse} || 0%{?suse_version} >= 1330
BuildRequires: %{python_module devel}
%else
%if %{with python2}
BuildRequires: python-devel
%endif
URL: https://github.com/rpm-software-management/createrepo_c
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
# Backports from upstream
Patch0001: 0001-zck_end_chunk-returns-number-of-bytes-written-or-1-f.patch
Patch0002: 0002-Add-missing-sentinal.patch
Patch0003: 0003-Fix-misc-test.patch
%if %{with python3}
BuildRequires: python3-devel
%endif
%if 0%{?is_opensuse} || 0%{?suse_version} >= 1330
BuildRequires: python-rpm-macros
%endif
BuildRequires: bash-completion
BuildRequires: cmake
@ -66,15 +71,16 @@ BuildRequires: libexpat-devel
BuildRequires: libxml2-devel
BuildRequires: lzma-devel
BuildRequires: openssl-devel
%if 0%{?is_opensuse} || 0%{?suse_version} >= 1330
BuildRequires: python-rpm-macros
%endif
BuildRequires: rpm-devel >= 4.9.0
BuildRequires: sqlite3-devel
BuildRequires: zlib-devel
Requires: %{libname} = %{version}-%{release}
%if %{with zchunk}
BuildRequires: zchunk-devel >= 0.9.11
BuildRequires: zchunk
%endif
Requires: %{libname}%{?_isa} = %{version}-%{release}
%if %{with tests}
BuildRequires: %{python_module nose}
BuildRequires: python3-nose
%endif
%if 0%{?suse_version} >= 1330
BuildRequires: bash-completion-devel
@ -91,7 +97,7 @@ Requires(postun): update-alternatives
Provides: createrepo-implementation
# prevent provides from nonstandard paths:
%global __provides_exclude ^(%{python_sitearch}/.*\\.so\\|%{python3_sitearch}/.*\\.so)$
%global __provides_exclude ^(%{python3_sitearch}/.*\\.so)$
%description
C implementation of Createrepo.
@ -101,9 +107,9 @@ rpm packages and maintaining it.
%package -n %{libname}
Summary: Library for repodata manipulation
Group: System/Libraries
# The function to create DeltaRPMs calls /usr/bin/makedeltarpm,
# which is part of the 'deltarpm' package
Group: System/Libraries
Requires: deltarpm
%description -n %{libname}
@ -113,7 +119,7 @@ for easy manipulation with a repodata.
%package -n %{devname}
Summary: Library for repodata manipulation
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}-%{release}
Requires: %{libname}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Provides: %{name}-devel = %{version}-%{release}
@ -121,65 +127,44 @@ Provides: %{name}-devel = %{version}-%{release}
This package contains the createrepo_c C library and header files.
These development files are for easy manipulation with a repodata.
%package -n python2-%{name}
Summary: Python 2 bindings for the createrepo_c library
Group: Development/Libraries/Python
Requires: %{libname} = %{version}-%{release}
Provides: python-%{name} = %{version}-%{release}
%description -n python2-createrepo_c
The python 2 bindings for the createrepo_c library.
%package -n python3-%{name}
Summary: Python 3 bindings for the createrepo_c library
Group: Development/Libraries/Python
Requires: %{libname} = %{version}-%{release}
Requires: %{libname}%{?_isa} = %{version}-%{release}
# Python 2 subpackage is fully dropped
Obsoletes: python2-%{name} < 0.12.0
%description -n python3-createrepo_c
The python 3 bindings for the createrepo_c library.
%description -n python3-%{name}
The Python 3 bindings for the createrepo_c library.
%prep
%setup -q
%autosetup -p1
# do not hardcode date in the docs
sed -i -e '/HTML_TIMESTAMP/d' doc/Doxyfile.in.in
%build
%define __builddir build
%cmake \
-DENABLE_LEGACY_WEAKDEPS=1 \
%{!?with_drpm:-DENABLE_DRPM=OFF} \
%{!?with_python2:-DENABLE_PYTHON=OFF}
make %{?_smp_mflags}
make %{?_smp_mflags} doc-c
%if %{with python3}
cd ..
%define __builddir build-py3
%cmake \
-DENABLE_LEGACY_WEAKDEPS=1 \
%{!?with_zchunk:-DWITH_ZCHUNK=OFF} \
%{!?with_drpm:-DENABLE_DRPM=OFF} \
%{!?with_python3:-DENABLE_PYTHON=OFF} \
-DPYTHON_DESIRED:str=3
make %{?_smp_mflags}
%endif
%check
%make_build
%make_build doc-c
%if %{with tests}
%check
%define __builddir build
%ctest
%if %{with python3}
%define __builddir build-py3
%ctest
%endif
%endif
%install
%define __builddir build
%cmake_install
%if %{with python3}
%define __builddir build-py3
%cmake_install
%endif
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
for i in createrepo mergerepo modifyrepo sqliterepo;do
@ -212,8 +197,8 @@ fi
%postun -n %{libname} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README.md COPYING
%doc README.md
%license COPYING
%{_mandir}/man8/createrepo_c.8*
%{_mandir}/man8/mergerepo_c.8*
%{_mandir}/man8/modifyrepo_c.8*
@ -241,29 +226,20 @@ fi
%ghost %_sysconfdir/alternatives/sqliterepo.8.gz
%files -n %{libname}
%defattr(-,root,root)
%doc COPYING
%license COPYING
%{_libdir}/libcreaterepo_c.so.%{major}
%{_libdir}/libcreaterepo_c.so.%{major}.*
%files -n %{devname}
%defattr(-,root,root)
%doc build/doc/html COPYING
%doc build/doc/html
%license COPYING
%{_libdir}/libcreaterepo_c.so
%{_libdir}/pkgconfig/createrepo_c.pc
%{_includedir}/createrepo_c/
%if %{with python2}
%files -n python2-%{name}
%defattr(-,root,root)
%doc COPYING
%{python_sitearch}/createrepo_c/
%endif
%if %{with python3}
%files -n python3-%{name}
%defattr(-,root,root)
%doc COPYING
%license COPYING
%{python3_sitearch}/createrepo_c/
%endif