librepo/librepo.spec

343 lines
12 KiB
RPMSpec
Raw Normal View History

2014-08-12 10:36:04 +00:00
%global gitrev 22581e4
2013-06-12 11:05:51 +00:00
# gitrev is output of: git rev-parse --short HEAD
2014-03-31 11:07:51 +00:00
%if 0%{?rhel} != 0 && 0%{?rhel} <= 7
# Do not build bindings for python3 for RHEL <= 7
%bcond_with python3
%else
%bcond_without python3
%endif
Name: librepo
2014-08-12 10:36:04 +00:00
Version: 1.7.6
2014-07-08 08:21:56 +00:00
Release: 1%{?dist}
2014-03-31 11:07:51 +00:00
Summary: Repodata downloading library
Group: System Environment/Libraries
2014-06-02 11:22:35 +00:00
License: LGPLv2+
2014-03-31 11:07:51 +00:00
URL: https://github.com/Tojaj/librepo
2013-03-14 13:42:47 +00:00
# Use the following commands to generate the tarball:
# git clone https://github.com/Tojaj/librepo.git
# cd librepo
2013-06-12 11:05:51 +00:00
# utils/make_tarball.sh %{gitrev}
2014-03-31 11:07:51 +00:00
Source0: librepo-%{gitrev}.tar.xz
2013-03-14 13:42:47 +00:00
2014-03-31 11:07:51 +00:00
BuildRequires: check-devel
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: expat-devel
2013-07-17 11:16:06 +00:00
BuildRequires: glib2-devel >= 2.22.0
2014-03-31 11:07:51 +00:00
BuildRequires: gpgme-devel
BuildRequires: libattr-devel
BuildRequires: libcurl-devel
BuildRequires: openssl-devel
2013-10-03 12:09:54 +00:00
# prevent provides from nonstandard paths:
%filter_provides_in %{python_sitearch}/.*\.so$
2014-03-31 11:07:51 +00:00
%if %{with python3}
2013-10-03 12:09:54 +00:00
%filter_provides_in %{python3_sitearch}/.*\.so$
2014-03-31 11:07:51 +00:00
%endif
2013-10-03 12:09:54 +00:00
%filter_setup
2013-03-14 13:42:47 +00:00
%description
A library providing C and Python (libcURL like) API to downloading repository
metadata.
%package devel
2014-03-31 11:07:51 +00:00
Summary: Repodata downloading library
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
2013-03-14 13:42:47 +00:00
%description devel
Development files for librepo.
%package -n python-librepo
2014-03-31 11:07:51 +00:00
Summary: Python bindings for the librepo library
Group: Development/Languages
BuildRequires: pygpgme
BuildRequires: python2-devel
BuildRequires: python-flask
BuildRequires: python-nose
BuildRequires: python-sphinx
Requires: %{name}%{?_isa} = %{version}-%{release}
2013-03-14 13:42:47 +00:00
%description -n python-librepo
Python bindings for the librepo library.
2014-03-31 11:07:51 +00:00
%if %{with python3}
2013-10-03 12:09:54 +00:00
%package -n python3-librepo
Summary: Python 3 bindings for the librepo library
Group: Development/Languages
2014-03-31 11:07:51 +00:00
BuildRequires: python3-pygpgme
2013-10-03 12:09:54 +00:00
BuildRequires: python3-devel
BuildRequires: python3-flask
BuildRequires: python3-nose
BuildRequires: python3-sphinx
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n python3-librepo
Python 3 bindings for the librepo library.
2014-03-31 11:07:51 +00:00
%endif
2013-10-03 12:09:54 +00:00
2013-03-14 13:42:47 +00:00
%prep
%setup -q -n librepo
2014-03-31 11:07:51 +00:00
%if %{with python3}
2013-10-03 12:09:54 +00:00
rm -rf py3
mkdir ../py3
cp -a . ../py3/
mv ../py3 ./
2014-03-31 11:07:51 +00:00
%endif
2013-10-03 12:09:54 +00:00
2013-03-14 13:42:47 +00:00
%build
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .
make %{?_smp_mflags}
2014-03-31 11:07:51 +00:00
%if %{with python3}
2013-10-03 12:09:54 +00:00
pushd py3
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPYTHON_DESIRED:str=3 .
make %{?_smp_mflags}
popd
2014-03-31 11:07:51 +00:00
%endif
2013-10-03 12:09:54 +00:00
2013-03-14 13:42:47 +00:00
%check
make ARGS="-V" test
2014-03-31 11:07:51 +00:00
%if %{with python3}
2013-10-03 12:09:54 +00:00
pushd py3
make ARGS="-V" test
popd
2014-03-31 11:07:51 +00:00
%endif
2013-10-03 12:09:54 +00:00
2013-03-14 13:42:47 +00:00
%install
make install DESTDIR=$RPM_BUILD_ROOT
2014-03-31 11:07:51 +00:00
%if %{with python3}
2013-10-03 12:09:54 +00:00
pushd py3
make install DESTDIR=$RPM_BUILD_ROOT
popd
2014-03-31 11:07:51 +00:00
%endif
2013-03-14 13:42:47 +00:00
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc COPYING README.md
%{_libdir}/librepo.so.*
%files devel
%{_libdir}/librepo.so
%{_libdir}/pkgconfig/librepo.pc
%{_includedir}/librepo/
%files -n python-librepo
%{python_sitearch}/librepo/
2014-03-31 11:07:51 +00:00
%if %{with python3}
2013-10-03 12:09:54 +00:00
%files -n python3-librepo
%{python3_sitearch}/
2014-03-31 11:07:51 +00:00
%endif
2013-10-03 12:09:54 +00:00
2013-03-14 13:42:47 +00:00
%changelog
2014-08-12 10:36:04 +00:00
* Tue Aug 12 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.7.6-1
- New option LRO_ADAPTIVEMIRRORSORTING
- Increase limits to make librepo more robust (RhBug: 1124349)
- New option LRO_ALLOWEDMIRRORFAILURES
- Refactoring
- Default value of LRO_MAXDOWNLOADSPERMIRROR changed from 2 to 3
2014-07-08 08:21:56 +00:00
* Tue Jul 8 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.7.5-1
- accepts unicoded destination as UTF-8 string (Related: RhBug:1108908)
- downloader: Do not print debug message about preparing internal mirror list
if no internal mirror is available
- fastestmirror: subtract name lookup (dns) time from plain connect time
- fastestmirror: Small refactoring
2014-06-26 12:10:50 +00:00
* Thu Jun 26 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.7.4-3
- Increase default value of LRO_LOWSPEEDTIME from 10 to 30 (RhBug: 1109189)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
2014-06-02 11:22:35 +00:00
* Mon Jun 2 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.7.4-1
- Add LRO_IPRESOLVE option to set a kind of IP addresses to use when resolving host names
- Relicenced from GPLv2 to LGPLv2+
- error mesage is in unicode (RhBug:1096452)
2014-05-06 08:24:16 +00:00
* Tue May 6 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.7.3-1
- Fix some issues which were found by coverity scan
- Add missing support for Handle Mirror Failure Callback (hmfcb)
while downloading repomd.xml (related to RhBug: 1093014)
- Add LRO_SSLVERIFYPEER and LRO_SSLVERIFYHOST options (RhBug: 1093014)
2014-04-23 10:14:06 +00:00
* Wed Apr 23 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.7.2-1
- Fix segfault in headercb if only base_url and no mirrolist is used (RhBug: 1090325)
- Set environmental variable LIBREPO_DEBUG enables librepo debug output to stderr
2014-04-07 08:04:01 +00:00
* Mon Apr 7 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.7.1-1
- Don't try to call cb if no cb is set (RhBug: 1083659)
2014-03-31 11:07:51 +00:00
* Mon Mar 31 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.7.0-1
- Support for xml:base tag in repomd.xml.
- Downloader: If checksums don't match, include the expected values and types
in the error message.
- Handle: Add LRO_HMFCB and LRI_HMFCB options.
- API CHANGE: lr_download_single_cb() new param mfcb (LrMirrorFailureCb)
- API CHANGE: Removed cbdata param from lr_download_single_cb(). Use specific
data for each target.
- New callback LrHandleMirrorFailureCb
- Python doc update (Check it out: http://tojaj.github.io/librepo/)
* Thu Mar 27 2014 Matěj Cepl <mcepl@redhat.com> - 1.6.0-2
- Make building of python3 components conditional
- replace all TABs with spaces
* Thu Feb 20 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.6.0-1
2014-02-20 08:56:50 +00:00
- Small API change: End callback now must return integer and not void)
- downloader: Check for the lr_interrupt regularly
- Handle exceptions in python callbacks as return values (RhBug: 1066321)
- Support for byterange of download (RhBug: 1058777)
2014-01-28 09:27:03 +00:00
* Tue Jan 28 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.5.2-2
- Ignore rsyc mirrors silently.
2014-01-16 13:08:19 +00:00
* Thu Jan 16 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.5.2-1
- Better download resume logic
2014-01-03 13:12:12 +00:00
* Fri Jan 3 2014 Tomas Mlcoch <tmlcoch at redhat.com> - 1.5.1-1
- Downloading: LRO_MAXSPEED has effect over whole downloading, it is not
per target max speed anymore.
- Sanitize progresscb (GitHub issue 24) (Thanks zde/zpavlas)
2013-12-17 08:52:31 +00:00
* Tue Dec 17 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 1.5.0-1
- Extend C example
- Add LRR_YUM_TIMESTAMP (GitHub issue #25)
- Close the correct file when using a metalink.xml file
- Add lr_check_packages()
- Enable checksum caching for already existing local packages
- Library: Call LR_PROGRESSCB with zeroized values, when total_to_download
value is changed
- Skip fastestmirror detection of only one mirror is present
2013-11-19 08:15:57 +00:00
* Tue Nov 19 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 1.4.0-1
- Add LRO_FASTESTMIRRORCB
- Add LRO_LOWSPEEDTIME and LRO_LOWSPEEDLIMIT options. (RhBug: 1028444)
- Default connection timeout changed to 30sec instead of 300sec.
- unittests: Fix expired key (RhBug: 1031825)
2013-10-31 08:31:34 +00:00
* Thu Oct 31 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 1.3.0-1
- Some CURL error codes should be considered as fatal (RhBug: 1022994)
- fastestmirror: Add support for cache - New options: LRO_FASTESTMIRRORCACHE
and LRO_FASTESTMIRRORMAXAGE
- fastestmirror: For download_packages() do fastestmirror detection for
all handles in one shot
- Use <mm0:alternates> during repomd.xml download (RhBug: 1019103)
- Don't perform fastest mirror test if file already exists locally.
- fastestmirror.h:26:24: fatal error: mirrorlist.h: No such file
or directory (#1018006)
2013-10-10 09:07:43 +00:00
2013-10-07 11:44:04 +00:00
* Mon Oct 07 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 1.2.1-1
- Open fd right before downloading and close them immediately after
download. (RhBug: 1015957)
2013-10-03 12:09:54 +00:00
* Thu Oct 03 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 1.2.0-2
- Add target for Python 3 to the spec file
- Fix few python3 related issues
2013-10-01 08:35:41 +00:00
* Tue Oct 01 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 1.2.0-1
- Better detection of bad content of repomd.xml
- Close files properly (RhBug: 1012290)
- Add fastestmirror module + LRO_FASTESTMIRROR option
- downloader: Fix uninitialized total to download variable (GitHub issue 22)
- Add LRO_MIRRORLISTURL and LRO_METALINKURL. LRO_MIRRORLIST is deprecated.
- Few other small fixes
2013-09-16 08:24:37 +00:00
* Mon Sep 16 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 1.1.0-1
- New librepo.download_url(url, fd, handle=None) function in Python API.
- Low-level downloader interface is now public in C API.
- Small change of API lr_download_packages() and lr_packagetarget_new
functions.
- In python download_packages() changed from method of Handle() to
librepo module function without handle param.
Param handle was moved to the PackageTarget class that takes handle
as a optional param during constrution.
- Implements checking size of downloaded files (expectedsize
param of downloading functions).
2013-08-28 13:59:05 +00:00
* Wed Aug 28 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 1.0.0-1
- Huge API changes
- Library starts to use GLib2
- Support for parallel downloads
- Better error reporting
- More GLib2 style C api
- More descriptive Python exception messages
- A lot of bugfixes
- Updated examples
2013-07-25 08:06:08 +00:00
* Thu Jul 25 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.5-3
- python: Raise exception if handle has bad repo type configured
(RhBug: 988013)
2013-07-22 09:12:44 +00:00
* Mon Jul 22 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.5-2
- Bump version in versioh.h to 0.0.5
- Python: Fix Handle.mirrors to return empty list instead of None if
no mirrors available (RhBug: 986228)
2013-07-17 11:16:06 +00:00
* Wed Jul 17 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.5-1
- Return LRE_ALREADYDOWNLOADED if the file exists even if no resume
is specified. (GitHub issue 15)
- downloadtarget: New module, future replacement for curltarget module.
- Librepo migrated to lr_LrMirrorlist from lr_InternalMirrorlist.
- test: Run python unittest verbosely
- lrmirrorlis: New module. GLib2 ready replacement for the internal_mirrorlist
module.
- package_downloader: Add LRE_ALREADYDOWNLOADED rc code. (GitHub issue 15)
- handle: After set python SIGINT handler back, check if librepo was
interrupted by CTRL+C. (RhBug: 977803)
- cmake: Set required python version to 2. (GitHub issue 10)
- Fix missing VAR substitution for mirrorlist. (GitHub issue 11)
- cmake: Add FindXattr module.
- Add support for caching checksum as extended file attribute. (GitHub issue 8)
- util: Add lr_asprintf().
- util: Add lr_vasprintf().
- handle: Fix funky logic in internal error handling. (GitHub issue 9)
- Add lr_yum_repomd_get_age() function. (GitHub issue 6)
- test: Add test for LR_VERSION_CHECK macro.
- Add a LR_VERSION_CHECK macro
2013-06-12 11:05:51 +00:00
* Wed Jun 12 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.4-2
- examples: Add C example of usage.
- Fix predefined lists in types.h (GitHub issue 4). Thank you hughsie
- Add LRO_VARSUB and LRI_VARSUB. (RhBug: 965131)
- py: Change reported name from _librepo.Exception to librepo.LibrepoException
2013-05-02 08:53:16 +00:00
* Thu May 2 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.4-1
- Fix type conversion long long -> long.(RhBug: 957656)
- python: Handle.perfrom() could be called without Result().
- Add LRI_MAXMIRRORTRIES option. (RhBug: 954736)
- py: unittests: Add metalink.xml and mirrorlist files. (RhBug: 954294)
- Fix double free and memory leak. (RhBug: 954294)
- New option LRO_MAXMIRRORTRIES. (RhBug: 949517)
- LRI_MIRRORS return only content of mirrorlist file (without LRO_URL as first item).
- Add LRO_FETCHMIRRORS option.
2013-04-08 14:16:51 +00:00
* Mon Apr 8 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.2-3.git720d68d
- Add CURL_GLOBAL_ACK_EINTR flag to curl init.
- Proper multi handle cleanup. (RhBug: 947388)
- Support for read 'useragent' attr. (RhBug: 947346)
- Add valgrind supress files. (RhBug: 923214)
- Make python bindings interruptible (LRO_INTERRUPTIBLE) (RhBug: 919125)
- Add LRI_MIRRORS option (RhBug: 923198)
- Add LRI_METALINK option. (BzBug: 947767)
2013-03-18 09:19:47 +00:00
* Mon Mar 18 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.2-2.gitb3c3323
- py: Use standard python exception while accessing bad attrs. (RhBug: 920673)
- Default mask for newly created files is 0666. (RhBug: 922557)
2013-03-14 13:42:47 +00:00
* Thu Mar 14 2013 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.2-1.git714e828
- Add LRI_PROGRESSCB and LRI_PROGRESSDATA options (RhBug: 919123)
- Bindings: More pythonic operations with handle's attributes (RhBug: 919124)
2013-07-17 11:16:06 +00:00
* Tue Oct 9 2012 Tomas Mlcoch <tmlcoch at redhat.com> - 0.0.1-1.gitc69642e
2013-03-14 13:42:47 +00:00
- Initial package