diff --git a/0001-zck_end_chunk-returns-number-of-bytes-written-or-1-f.patch b/0001-zck_end_chunk-returns-number-of-bytes-written-or-1-f.patch new file mode 100644 index 0000000..9931fdf --- /dev/null +++ b/0001-zck_end_chunk-returns-number-of-bytes-written-or-1-f.patch @@ -0,0 +1,27 @@ +From 19af36bcd4984359509deb95e2df83449ce471f6 Mon Sep 17 00:00:00 2001 +From: Jonathan Dieter +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 +--- + 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 + diff --git a/0002-Add-missing-sentinal.patch b/0002-Add-missing-sentinal.patch new file mode 100644 index 0000000..255c712 --- /dev/null +++ b/0002-Add-missing-sentinal.patch @@ -0,0 +1,26 @@ +From 2eb66187dd8ab5840b4c82c18e817d04caa258ca Mon Sep 17 00:00:00 2001 +From: Jonathan Dieter +Date: Tue, 15 Jan 2019 23:23:47 +0000 +Subject: [PATCH 2/3] Add missing sentinal + +Signed-off-by: Jonathan Dieter +--- + 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 + diff --git a/0003-Fix-misc-test.patch b/0003-Fix-misc-test.patch new file mode 100644 index 0000000..00d76d5 --- /dev/null +++ b/0003-Fix-misc-test.patch @@ -0,0 +1,40 @@ +From ccd8f0ec32b9ca82a727b35fcc8724ea6f6d3556 Mon Sep 17 00:00:00 2001 +From: Jonathan Dieter +Date: Tue, 15 Jan 2019 23:23:58 +0000 +Subject: [PATCH 3/3] Fix misc test + +Signed-off-by: Jonathan Dieter +--- + 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, ©filetest->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 + diff --git a/_service b/_service deleted file mode 100644 index f335232..0000000 --- a/_service +++ /dev/null @@ -1,16 +0,0 @@ - - - - git://github.com/rpm-software-management/createrepo_c.git - git - .git - git-master - 0.10.0.git%cd.%h - master - - - *.tar - gz - - - diff --git a/createrepo_c-0.10.0.git20170131.04828e6.tar.gz b/createrepo_c-0.10.0.git20170131.04828e6.tar.gz deleted file mode 100644 index b2cf068..0000000 --- a/createrepo_c-0.10.0.git20170131.04828e6.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ef7852988f75e25bf774bec747067ac202b61fb0d0c331324e1ae7d28cd8cae -size 357932 diff --git a/createrepo_c-0.12.0.tar.gz b/createrepo_c-0.12.0.tar.gz new file mode 100644 index 0000000..ac4d077 --- /dev/null +++ b/createrepo_c-0.12.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c55334e6e8f41c4c9c527ffe3d55dc8e08815f3f06c6972ee7e99306a3b8219e +size 363013 diff --git a/createrepo_c.changes b/createrepo_c.changes index 4745e3e..a8feded 100644 --- a/createrepo_c.changes +++ b/createrepo_c.changes @@ -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 + +- 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 + +- 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 + +- 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 - 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 - [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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - Initial package based on Mageia package diff --git a/createrepo_c.spec b/createrepo_c.spec index 2f2f093..86371b1 100644 --- a/createrepo_c.spec +++ b/createrepo_c.spec @@ -2,7 +2,7 @@ # spec file for package createrepo_c # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (c) 2015-2017 Neal Gompa . +# Copyright (c) 2019 Neal Gompa . # # 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 @@ -204,7 +189,7 @@ update-alternatives --install \ --slave %{_mandir}/man8/sqliterepo.8.gz sqliterepo.8.gz %{_mandir}/man8/sqliterepo_c.8.gz %postun -if [ ! -f %{_bindir}/createrepo_c ];then +if [ ! -f %{_bindir}/createrepo_c ]; then update-alternatives --remove createrepo %{_bindir}/createrepo_c fi @@ -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