From 50bfb8f85f0991a8433c3e1176162876d5e15e1ff65b94ea961517ecbaa2b69e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 15:46:39 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main librepo revision fd2f35f33cae14169ea021659ffbe651 --- .gitattributes | 23 +++++ librepo-1.15.1.tar.gz | 3 + librepo.changes | 205 ++++++++++++++++++++++++++++++++++++++++++ librepo.spec | 141 +++++++++++++++++++++++++++++ 4 files changed, 372 insertions(+) create mode 100644 .gitattributes create mode 100644 librepo-1.15.1.tar.gz create mode 100644 librepo.changes create mode 100644 librepo.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/librepo-1.15.1.tar.gz b/librepo-1.15.1.tar.gz new file mode 100644 index 0000000..07a4fe3 --- /dev/null +++ b/librepo-1.15.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4af9edb3219030d35f4972ce520444f7534bd9c94729456ec0aea76e868a103a +size 828520 diff --git a/librepo.changes b/librepo.changes new file mode 100644 index 0000000..d50d93f --- /dev/null +++ b/librepo.changes @@ -0,0 +1,205 @@ +------------------------------------------------------------------- +Wed Dec 28 16:50:53 UTC 2022 - Andreas Stieger + +- update to 1.15.1: + * Add API support for waiting on network in an event driven + manner + * OpenPGP API extension and fixes +- lincense updated to LGPL-2.1-or-later + +------------------------------------------------------------------- +Sat Oct 15 19:32:29 UTC 2022 - Andreas Stieger + +- update to 1.14.5: + * Detailed error message when using non-existing TMPDIR + * Make error messages about repodata and rpm mismatch more user + friendly + +------------------------------------------------------------------- +Wed Aug 25 16:46:36 UTC 2021 - Neal Gompa + +- Update to 1.14.2 + + Recover from fsync fail on read-only filesystem (rh#1956361) + + Reduce time to load metadata + + Fix resource leaks + + Fix memory leaks + +------------------------------------------------------------------- +Tue Apr 13 12:59:28 UTC 2021 - Neal Gompa + +- Update to 1.14.0 + + Fix LRO_PRESERVETIME behavior + + Support multiple checksums in xattr (rh#1931904) + + Return "calculated" checksum if requested w/caching + + Fix lr_yum_download_url in case lr_handle is NULL + +------------------------------------------------------------------- +Wed Feb 3 02:37:36 UTC 2021 - Neal Gompa + +- Update to 1.13.0 + + Fix the key string parsing in url_substitution + + Fix memory leak in 'fastestmirror' + + Download whole file when server doesn't support ranges (rh#1886706) + + Various fixes for mirrors without ranges support and zchunk + + Add support for pkcs11 certificate and key for repository authorization (rh#1859495) + + Fix lr_perform() - Avoid 100% CPU usage + + Drop Python 2 support + + Add support for working with certificates used with proxy (rh#1920991) + +------------------------------------------------------------------- +Sat Aug 22 20:18:17 UTC 2020 - Neal Gompa + +- Upgrade to 1.12.1 + + Validate path read from repomd.xml (rh#1868639, CVE-2020-14352) +- Dropped validate_path.patch to prevent directory traversal attacks + (boo#1175475, CVE-2020-14352) since it is upstream with version 1.12.1 + +------------------------------------------------------------------- +Thu Aug 20 10:30:12 UTC 2020 - Christian Vögl + +- Add validate_path.patch to prevent directory traversal attacks + (boo#1175475, CVE-2020-14352) + +------------------------------------------------------------------- +Tue Jul 7 10:38:49 UTC 2020 - Neal Gompa + +- Upgrade to 1.12.0 + + Prefer mirrorlist/metalink over baseurl (rh#1775184) + + Decode package URL when using for local filename (rh#1817130) + + Fix memory leak in lr_download_metadata() and lr_yum_download_remote() + + Download sources work when at least one of specified is working (rh#1775184) + +------------------------------------------------------------------- +Sun Jan 19 14:52:18 UTC 2020 - Neal Gompa + +- Upgrade to 1.11.2 + + Fix calling Python API without holding GIL (rh#1788918) + + Do not unref LrErr_Exception on exit (rh#1778854) + + Cleanup zchunk-related error messages (rh#1790625) +- Fix typo in changes entry about version update to 1.11.1 + +------------------------------------------------------------------- +Sat Dec 14 22:17:03 UTC 2019 - Neal Gompa + +- Upgrade to 1.11.1 + + Create a directory for gpg sockets in /run/user/ (rh#1769831, rh#1771012) +- Fix bcond declaration for zchunk so defaults are always declared + +------------------------------------------------------------------- +Sun Dec 1 15:37:41 UTC 2019 - Neal Gompa + +- Upgrade to 1.11.0 + + Define LRO_SUPPORTS_CACHEDIR only with zchunk (rh#1726141) + + Allow to use mirrors multiple times for a target (rh#1678588) + + Allow to try baseurl multiple times (rh#1678588) + + Remove librepo xattr when no file descriptor (rh#1690894) + + Fix verification of checksum from file attr (rh#1700341) + + Rephrase repository GPG check error message (rh#1741442) + + Add sleep when all mirrors were tried (rh#1741931) + + Raise logging level of error messages (rh#1737709) + + retry mirrorlist/metalink downloads + + Fix lr_url_substitute() and add ${variable} support + + Add support for one-time URL flags + + Fix API - LrHandleOption enum - LRO_ONETIMEFLAG (rh#1761779) + +------------------------------------------------------------------- +Fri May 24 03:18:15 UTC 2019 - Neal Gompa + +- Upgrade to 1.10.3 + + Exit gpg-agent after repokey import (rh#1650266) + + Make sure to check next transfer if current zck transfer already exists (rh#1706627) + +------------------------------------------------------------------- +Sun May 12 02:58:52 UTC 2019 - Neal Gompa + +- Upgrade to 1.10.2 + + Fix librepo isn't able to load zchunk files from next server on failure (rh#1706321) + +------------------------------------------------------------------- +Fri May 10 14:21:16 UTC 2019 - Neal Gompa + +- Upgrade to 1.10.1 + + Clean up target->curl_handle rather than target->handle (rh#1694411) + + Add an option to preserve timestamps of the downloaded files (rh#1688537) + + Fix fetching repositories supplied by SUSE Customer Center + + [tests] Wait for server to start instead of doing arbitrary sleep +- Drop patch included in this release + * Patch: librepo-PR148-clean-up-curl-target_handle.patch +- Disable executing test suite on ARM and RISC-V due to performance issues with builders + +------------------------------------------------------------------- +Sun Mar 31 18:26:16 UTC 2019 - Neal Gompa + +- Add patch to fix fetching zck-compressed repos (rh#1694411) + * Patch: librepo-PR148-clean-up-curl-target_handle.patch + +------------------------------------------------------------------- +Sun Mar 31 15:04:35 UTC 2019 - Neal Gompa + +- Upgrade to 1.9.6 + + Fix progress reporting with zchunk files + + Reduce download delays by using still_running correctly + + Improve error handling, cleanup + + Simplified lr_perform()'s loop to prevent busy wait + + Require libcurl >= 7.28.0 +- Drop patch included in this release + * Patch: PR138-Fix-progress-reporting-with-zchunk-files.patch + +------------------------------------------------------------------- +Sun Feb 3 17:23:59 UTC 2019 - Neal Gompa + +- Upgrade to 1.9.3 + + Replace expat with libxml2 + + Support using python-gpg instead of pygpgme + + Fix major performance regression with libcurl-7.61.1 + + Add zchunk support +- Drop patch for backported fix that is part of this release + * Patch: 0001-stop-requiring-attr-xattr.patch +- Add patch proposed upstream to fix progress reporting for zck + * Patch: PR138-Fix-progress-reporting-with-zchunk-files.patch +- Fix RPM group and description for Python 3 subpackage +- Drop Python 2 subpackage + +------------------------------------------------------------------- +Thu Sep 13 13:57:02 UTC 2018 - Jan Engelhardt + +- Fix RPM groups. Update descriptions so that librepo0 + (which is going to be installed most of the time) has something + halfway useful. + +------------------------------------------------------------------- +Thu Sep 13 11:19:32 UTC 2018 - Neal Gompa + +- Backport fix from upstream to use glibc's xattr instead of libattr + * Add patch: 0001-stop-requiring-attr-xattr.patch +- Use full author identities in changelog entries + +------------------------------------------------------------------- +Thu Jan 4 00:45:16 UTC 2018 - Neal Gompa + +- Upgrade to 1.8.1 + + Fix memory leaks in Python bindings (gh#rpm-software-management/librepo#83) + + Fix HTTP header checking to work with proxies (gh#rpm-software-management/librepo#86) + + Change connection and low-speed default timeouts to sync with DNF/Yum + + Fix max download speed from repo (rh#1227921) + +------------------------------------------------------------------- +Sun Aug 13 17:13:45 UTC 2017 - Neal Gompa + +- Disable running unit tests by default because of random pygpgme failures + +------------------------------------------------------------------- +Mon Feb 20 14:35:02 UTC 2017 - Neal Gompa + +- Update to 1.7.20 + +------------------------------------------------------------------- +Mon Feb 1 06:28:16 UTC 2016 - Neal Gompa + +- Use SUSE-specific groups and tags + +------------------------------------------------------------------- +Mon Feb 1 06:15:57 UTC 2016 - Neal Gompa + +- Initial packaging of librepo derived from Mageia packaging + diff --git a/librepo.spec b/librepo.spec new file mode 100644 index 0000000..6dbc717 --- /dev/null +++ b/librepo.spec @@ -0,0 +1,141 @@ +# +# spec file for package librepo +# +# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2020-2021 Neal Gompa . +# +# 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/ +# + + +%ifarch %{arm} aarch64 riscv64 +# Don't run tests on ARM and RISC-V for now. There are problems +# with performance on the builders and often these time out. +%bcond_with tests +%else +%bcond_without tests +%endif + +# zchunk is only available in Leap 15.1 and newer +%if 0%{?sle_version} >= 150100 || 0%{?suse_version} >= 1550 +%bcond_without zchunk +%else +%bcond_with zchunk +%endif + +%define major 0 +%define libname %{name}%{major} +%define devname %{name}-devel + +Name: librepo +Version: 1.15.1 +Release: 0 +Summary: Repodata downloading library +License: LGPL-2.1-or-later +Group: Development/Libraries/C and C++ + +URL: https://github.com/rpm-software-management/librepo +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: doxygen +BuildRequires: gpgme-devel +BuildRequires: pkgconfig(check) +BuildRequires: pkgconfig(glib-2.0) >= 2.28.0 +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(libcurl) >= 7.52.0 +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(openssl) +%if %{with zchunk} +BuildRequires: pkgconfig(zck) >= 0.9.11 +%endif +BuildRequires: python-rpm-macros + +# prevent provides from nonstandard paths: +%global __provides_exclude ^(%{python3_sitearch}/.*\\.so)$ + +%description +A library providing C and Python (libcURL like) API for downloading repository +metadata. + +%package -n %{libname} +Summary: Repodata downloading library +Group: System/Libraries + +%description -n %{libname} +A library providing C and Python (libcURL like) API for downloading repository +metadata. + +%package -n %{devname} +Summary: Header files for the Repodata downloading library +Group: Development/Libraries/C and C++ +Requires: %{libname}%{?_isa} = %{version}-%{release} + +%description -n %{devname} +This package provides the development files for %{name}. + +%package -n python3-librepo +Summary: Python 3 bindings for the librepo library +Group: Development/Libraries/Python +BuildRequires: python3-devel +%if %{with tests} +BuildRequires: python3-Flask +BuildRequires: python3-gpg +BuildRequires: python3-requests +%endif +BuildRequires: python3-Sphinx +BuildRequires: python3-xattr +Requires: %{libname}%{?_isa} = %{version}-%{release} +# There is no more Python 2 subpackage +Obsoletes: python2-librepo < 1.9.3 + +%description -n python3-librepo +This package provides the Python 3 bindings for the librepo library. + +%prep +%autosetup -p1 + +%build +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPYTHON_DESIRED:str=3 %{!?with_zchunk:-DWITH_ZCHUNK=OFF} +%make_build + +%check +%if %{with tests} +pushd ./build +make ARGS="-V" test +make clean +popd +%endif + +%install +pushd ./build +%make_install +popd + +%post -n %{libname} -p /sbin/ldconfig + +%postun -n %{libname} -p /sbin/ldconfig + +%files -n %{libname} +%doc README.md +%license COPYING +%{_libdir}/librepo.so.%{major} + +%files -n %{devname} +%{_libdir}/librepo.so +%{_libdir}/pkgconfig/librepo.pc +%{_includedir}/librepo/ + +%files -n python3-librepo +%{python3_sitearch}/librepo + +%changelog