Name:           zchunk
Version:        1.3.2
Release:        1
Summary:        Compressed file format that allows easy deltas
License:        BSD-2-Clause
URL:            https://github.com/zchunk/zchunk
Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires:  gcc
BuildRequires:  pkgconfig(libzstd)
BuildRequires:  pkgconfig(libcurl)
BuildRequires:  pkgconfig(openssl)
BuildRequires:  meson
Requires:       %{name}-libs%{_isa} = %{version}-%{release}
Provides:       bundled(buzhash-urlblock) = 0.1

%description
zchunk is a compressed file format that splits the file into independent
chunks.  This allows you to only download the differences when downloading a
new version of the file, and also makes zchunk files efficient over rsync.
zchunk files are protected with strong checksums to verify that the file you
downloaded is in fact the file you wanted.

%package libs
Summary: Zchunk library

%description libs
This package contains the zchunk library, libzck.

%package devel
Summary: Headers for building against zchunk
Requires: %{name}-libs%{_isa} = %{version}-%{release}

%description devel
This package contains the headers necessary for building against the zchunk
library, libzck.

%prep
%autosetup
# Remove bundled sha libraries
rm -rf src/lib/hash/sha*

%build
%meson -Dwith-openssl=enabled -Dwith-zstd=enabled
%meson_build

%install
%meson_install
mkdir -p %{buildroot}%{_libexecdir}
install contrib/gen_xml_dictionary %{buildroot}%{_libexecdir}/zck_gen_xml_dictionary

%check
%meson_test

%ldconfig_scriptlets libs

%files
%doc README.md contrib
%{_bindir}/zck*
%{_bindir}/unzck
%{_libexecdir}/zck_gen_xml_dictionary
%{_mandir}/man1/*.gz

%files libs
%license LICENSE
%doc README.md
%{_libdir}/libzck.so.*

%files devel
%doc zchunk_format.txt
%{_libdir}/libzck.so
%{_libdir}/pkgconfig/zck.pc
%{_includedir}/zck.h

%changelog
* Thu Oct 19 2023 duyiwei <duyiwei@kylinos.cn> - 1.3.2-1
- upgrade version to 1.3.2 and Fix CVE-2023-46228

* Tue May 30 2023 duyiwei <duyiwei@kylinos.cn> - 1.3.1-1
- upgrade version to 1.3.1

* Mon Nov 07 2022 duyiwei <duyiwei@kylinos.cn> - 1.2.3-1
- upgrade version to 1.2.3

* Fri Jul 29 2022 liukuo <liukuo@kylinos.cn> - 1.2.1-2
- License compliance rectification

* Wed Apr 20 2022 duyiwei <duyiwei@kylinos.cn> - 1.2.1-1
- upgrade to 1.2.1

* Wed Jan 5 2022 duyiwei <duyiwei@kylinos.cn> - 1.1.15-1
- Package init
