32ed0a4
Name:           zchunk
d7bf4d9
Version:        1.2.2
2224c27
Release:        1%{?dist}
32ed0a4
Summary:        Compressed file format that allows easy deltas
32ed0a4
License:        BSD and MIT
32ed0a4
URL:            https://github.com/zchunk/zchunk
32ed0a4
Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
32ed0a4
BuildRequires:  gcc
32ed0a4
BuildRequires:  pkgconfig(libzstd)
32ed0a4
BuildRequires:  pkgconfig(libcurl)
32ed0a4
BuildRequires:  pkgconfig(openssl)
32ed0a4
BuildRequires:  meson
32ed0a4
Requires:       %{name}-libs%{_isa} = %{version}-%{release}
32ed0a4
Provides:       bundled(buzhash-urlblock) = 0.1
acb0ef8
32ed0a4
%description
32ed0a4
zchunk is a compressed file format that splits the file into independent
32ed0a4
chunks.  This allows you to only download the differences when downloading a
32ed0a4
new version of the file, and also makes zchunk files efficient over rsync.
32ed0a4
zchunk files are protected with strong checksums to verify that the file you
32ed0a4
downloaded is in fact the file you wanted.
32ed0a4
32ed0a4
%package libs
32ed0a4
Summary: Zchunk library
32ed0a4
32ed0a4
%description libs
32ed0a4
zchunk is a compressed file format that splits the file into independent
32ed0a4
chunks.  This allows you to only download the differences when downloading a
32ed0a4
new version of the file, and also makes zchunk files efficient over rsync.
32ed0a4
zchunk files are protected with strong checksums to verify that the file you
32ed0a4
downloaded is in fact the file you wanted.
32ed0a4
32ed0a4
This package contains the zchunk library, libzck.
32ed0a4
32ed0a4
%package devel
32ed0a4
Summary: Headers for building against zchunk
32ed0a4
Requires: %{name}-libs%{_isa} = %{version}-%{release}
32ed0a4
32ed0a4
%description devel
32ed0a4
zchunk is a compressed file format that splits the file into independent
32ed0a4
chunks.  This allows you to only download the differences when downloading a
32ed0a4
new version of the file, and also makes zchunk files efficient over rsync.
32ed0a4
zchunk files are protected with strong checksums to verify that the file you
32ed0a4
downloaded is in fact the file you wanted.
32ed0a4
32ed0a4
This package contains the headers necessary for building against the zchunk
32ed0a4
library, libzck.
32ed0a4
32ed0a4
%prep
32ed0a4
%autosetup
32ed0a4
# Remove bundled sha libraries
32ed0a4
rm -rf src/lib/hash/sha*
32ed0a4
32ed0a4
%build
f305617
%meson -Dwith-openssl=enabled -Dwith-zstd=enabled
32ed0a4
%meson_build
32ed0a4
32ed0a4
%install
32ed0a4
%meson_install
a8a57a1
mkdir -p %{buildroot}%{_libexecdir}
a8a57a1
install contrib/gen_xml_dictionary %{buildroot}%{_libexecdir}/zck_gen_xml_dictionary
32ed0a4
32ed0a4
%check
32ed0a4
%meson_test
32ed0a4
32ed0a4
%ldconfig_scriptlets libs
32ed0a4
32ed0a4
%files
b045ac8
%doc README.md contrib
32ed0a4
%{_bindir}/zck*
32ed0a4
%{_bindir}/unzck
a8a57a1
%{_libexecdir}/zck_gen_xml_dictionary
0e0ab10
%{_mandir}/man1/*.gz
32ed0a4
32ed0a4
%files libs
32ed0a4
%license LICENSE
32ed0a4
%doc README.md
32ed0a4
%{_libdir}/libzck.so.*
32ed0a4
32ed0a4
%files devel
32ed0a4
%doc zchunk_format.txt
32ed0a4
%{_libdir}/libzck.so
32ed0a4
%{_libdir}/pkgconfig/zck.pc
32ed0a4
%{_includedir}/zck.h
32ed0a4
32ed0a4
%changelog
d7bf4d9
* Mon Apr 18 2022 Jonathan Dieter <jdieter@gmail.com> - 1.2.2-1
d7bf4d9
- Fixed a number of small issues highlighted by Coverity
d7bf4d9
cd87f58
* Sat Mar 12 2022 Jonathan Dieter <jdieter@gmail.com> - 1.2.1-1
cd87f58
- Fixed bug that limited size of file that could be compressed using zchunk to 2GB
cd87f58
- Fixed memory leak
cd87f58
2224c27
* Sun Feb 20 2022 Jonathan Dieter <jdieter@gmail.com> - 1.2.0-1
2224c27
- Add `--uncompressed` option to zck, allowing for embedding of uncompressed
2224c27
  digests in the header
2224c27
- Various small bug fixes
2224c27
543d8f0
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.15-4
543d8f0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
543d8f0
9df5fb6
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1.1.15-3
9df5fb6
- Rebuilt with OpenSSL 3.0.0
9df5fb6
eb7fd30
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.15-2
eb7fd30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
eb7fd30
1f58bfc
* Tue Jun 01 2021 Jonathan Dieter <jdieter@gmail.com> - 1.1.15-1
1f58bfc
- Fix major bug when creating a zchunk file that contains a dictionary
1f58bfc
f6ea1e7
* Thu May 20 2021 Jonathan Dieter <jdieter@gmail.com> - 1.1.14-1
d58b2a4
- Fix tests on all arches when built against zstd-1.5.0
d58b2a4
a2b24f4
* Sat May  1 2021 Jonathan Dieter <jdieter@gmail.com> - 1.1.11-1
a2b24f4
- Fix multipart download failures on rare web servers
a2b24f4
6c4b5e2
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.9-2
6c4b5e2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
6c4b5e2
0e0ab10
* Wed Dec 30 2020 Jonathan Dieter <jdieter@gmail.com> - 1.1.9-1
0e0ab10
- Fixes for test failures with zstd-1.4.7+
0e0ab10
- Add man pages
0e0ab10
d8d91eb
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-3
d8d91eb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
d8d91eb
1c1e52c
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-2
1c1e52c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
1c1e52c
acb0ef8
* Sat Jan 18 2020 Jonathan Dieter <jdieter@gmail.com> - 1.1.5-1
acb0ef8
- Fix small bug in corner case when handling write failures
acb0ef8
aaa3141
* Wed Nov 13 2019 Jonathan Dieter <jdieter@gmail.com> - 1.1.4-1
aaa3141
- Fix download failure when web server doesn't include content-type with each
aaa3141
  range
aaa3141
52f5913
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-3
52f5913
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
52f5913
d5bc46d
* Sun May 19 2019 Jonathan Dieter <jdieter@gmail.com> - 1.1.2-2
91a89dc
- Fix multipart range handling to work with quotes, fixes #1706627
91a89dc
- Fix file creation permissions so they respect umask
d5bc46d
- Actually push new sources
91a89dc
1ddba67
* Tue Apr 16 2019 Adam Williamson <awilliam@redhat.com> - 1.1.1-3
1ddba67
- Rebuild with Meson fix for #1699099
1ddba67
2591af0
* Mon Apr 15 2019 Jonathan Dieter <jdieter@gmail.com> - 1.1.1-2
1693cd4
- Fix compilation on GCC 4.4.7 so it builds on EL6
2591af0
- Add missing sources
1693cd4
- Also, zchunk will now automatically do all your taxes
1693cd4
fb32d4d
* Sat Mar 23 2019 Jonathan Dieter <jdieter@gmail.com> - 1.1.0-1
fb32d4d
- Optimize chunk matching while downloading, significantly reducing CPU usage
fb32d4d
43b3032
* Sat Mar 16 2019 Jonathan Dieter <jdieter@gmail.com> - 1.0.4-1
43b3032
- Fix multipart boundary bug when dealing with lighttpd servers
43b3032
7d29c92
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-2
7d29c92
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
7d29c92
132ad5e
* Thu Jan 24 2019 Jonathan Dieter <jdieter@gmail.com> - 1.0.3-1
132ad5e
- Fix several memory leaks and use-after-frees
132ad5e
668b1fd
* Fri Dec 28 2018 Jonathan Dieter <jdieter@gmail.com> - 1.0.2-1
f1fcea0
- Use hash table for finding identical chunks, speeding up process considerably
668b1fd
- Add test case to verify that identical chunk checking is working
f1fcea0
1e211ce
* Sat Dec 22 2018 Jonathan Dieter <jdieter@gmail.com> - 1.0.0-1
1e211ce
- 1.0 release.  API/ABI stability is now guaranteed
1e211ce
3def856
* Sun Dec 09 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.17-1
3def856
- Turn off some tests for big-endian architectures since zstd isn't
3def856
  deterministic on them
3def856
c1bb1e7
* Sat Dec 08 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.16-1
c1bb1e7
- Add zck_gen_zdict binary to generate optimal zdict for a zchunk file
c1bb1e7
- Add functions to API to simplify extracting a single chunk
c1bb1e7
- Change default zstd compression to 9 for a 6x speed increase in compression
c1bb1e7
  speed for a 5% increase in compression size
c1bb1e7
ff3550a
* Tue Nov 13 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.15-1
ff3550a
- Switch from optional flags to more robust optional elements
ff3550a
bacf4da
* Thu Nov 01 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.14-1
bacf4da
- Sanity check hex hashes passed in as an option
bacf4da
da9d434
* Mon Oct 08 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.13-1
a65ba16
- Add read support for zchunk files with optional flags
da9d434
- Fix tests for zstd-1.3.6
a65ba16
83ac077
* Fri Sep 28 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.11-1
83ac077
- Fix small bug where creating a zck_dl context fails when zck context is NULL
83ac077
9754031
* Tue Sep 18 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.10-1
9754031
- Update to 0.9.10
9754031
- Fixes security bugs found by Coverity
9754031
a8a57a1
* Fri Aug 10 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.7-2
b045ac8
- Add contrib scripts to docs
b045ac8
- Fix test failures for zstd <= 1.3.4
a8a57a1
- Add gen_xml_dictionary to libexecdir with zck_ prefix
b045ac8
228d182
* Wed Aug 01 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.5-1
3d036e4
- Update to 0.9.4
3d036e4
- Fix failing tests on ppc64, ppc64le, arm7, and s390x
228d182
- Fix intermittent parallel test failures
3d036e4
3725c6a
* Tue Jul 31 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.3-1
3725c6a
- Update to 0.9.3
3725c6a
- Fix intermittent bug where auto-chunking wasn't deterministic
3725c6a
f305617
* Mon Jul 30 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.2-1
f305617
- Update to 0.9.2
f305617
- Set minimum and maximum chunk sizes for both automatic and
f305617
  manual chunking
f305617
- New tests
f305617
- ABI (but not API change) - Use bool from stdbool.h
f305617
- Allow specification of output file in zck
f305617
9e54e19
* Wed Jul 25 2018 Jonathan Dieter <jdieter@gmail.com> - 0.9.1-1
9e54e19
- Update to 0.9.1
b4ab608
- New error handling functions
b4ab608
- File format changes
b4ab608
- API changes
b4ab608
- Proposed permanent stable ABI
9e54e19
- Fix Rawhide build error
b4ab608
1081b70
* Thu Jul 12 2018 Jonathan Dieter <jdieter@gmail.com> - 0.7.6-1
1081b70
- Update to 0.7.6
1081b70
- SHA-512 and SHA-512/128 support
1081b70
- New default chunk checksum type SHA-512/128
1081b70
- Automatic chunking moved into libzck and is now default
1081b70
- New option to disable automatic chunking
1081b70
- Bugfixes
1081b70
32ed0a4
* Wed Jul 04 2018 Jonathan Dieter <jdieter@gmail.com> - 0.7.5-4
32ed0a4
- Fix ldconfig scriptlets to run on libs package
32ed0a4
- Rename zchunk-libs-devel to zchunk-devel
32ed0a4
- Add BR: gcc
32ed0a4
- Explicitly enable zstd and openssl support
32ed0a4
- Simplify file globs
32ed0a4
32ed0a4
* Tue Jul 03 2018 Jonathan Dieter <jdieter@gmail.com> - 0.7.5-1
32ed0a4
- Split libs into separate package
32ed0a4
- Fix license
32ed0a4
- Provide bundled buzhash
32ed0a4
- Fix punctuation
32ed0a4
- Simplify source0 using url macro
32ed0a4
- Remove bundled sha library and add dependency on OpenSSL
32ed0a4
32ed0a4
* Mon Jul 02 2018 Jonathan Dieter <jdieter@gmail.com> - 0.7.4-2
32ed0a4
- Add zchunk format definition to -devel documentation
32ed0a4
32ed0a4
* Fri Jun 22 2018 Jonathan Dieter <jdieter@gmail.com> - 0.7.4-1
32ed0a4
- Add --stdout argument to unzck
32ed0a4
- Use meson native versioning rather than manual header and fix
32ed0a4
  pkgconfig output
32ed0a4
32ed0a4
* Tue Jun 12 2018 Jonathan Dieter <jdieter@gmail.com> - 0.7.2-1
32ed0a4
- Rename zck_get_dl_range to zck_get_missing_range because it
32ed0a4
  was too similar to the unrelated zck_dl_get_range function
32ed0a4
32ed0a4
* Mon Jun 11 2018 Jonathan Dieter <jdieter@gmail.com> - 0.7.1-1
32ed0a4
- New functions in the library
32ed0a4
32ed0a4
* Fri Jun 08 2018 Jonathan Dieter <jdieter@gmail.com> - 0.7.0-1
32ed0a4
- Massive API rework in preparation for ABI stability guarantee
32ed0a4
32ed0a4
* Wed Jun 06 2018 Jonathan Dieter <jdieter@gmail.com> - 0.6.2-1
32ed0a4
- Header and API cleanup
32ed0a4
- Fix warnings
32ed0a4
32ed0a4
* Tue Jun 05 2018 Jonathan Dieter <jdieter@gmail.com> - 0.6.0-1
32ed0a4
- Massive rework of zckdl utility
32ed0a4
- Main library no longer depends on curl, only zckdl utility
32ed0a4
- Rework API
32ed0a4
- Support for servers that have different maximum ranges in a request
32ed0a4
32ed0a4
* Thu May 10 2018 Jonathan Dieter <jdieter@gmail.com> - 0.5.2-1
32ed0a4
- Add new zck_get_range() function
32ed0a4
- Add tests
32ed0a4
- Range functions are no longer prefixed with "Range: bytes="
32ed0a4
32ed0a4
* Wed May 09 2018 Jonathan Dieter <jdieter@gmail.com> - 0.5.0-1
32ed0a4
- Command line utilities now provide help and usage examples and take
32ed0a4
  proper flags
32ed0a4
- Reading a zchunk header no longer automatically reads the dictionary
32ed0a4
32ed0a4
* Sun Apr 29 2018 Jonathan Dieter <jdieter@gmail.com> - 0.4.0-1
32ed0a4
- Next release with incompatible file format changes
32ed0a4
- File format has been reworked to allow checking of the header checksum
32ed0a4
  without reading full header into memory at once
32ed0a4
- Terminology changes for the header
32ed0a4
32ed0a4
* Fri Apr 20 2018 Jonathan Dieter <jdieter@gmail.com> - 0.3.0-1
32ed0a4
- Next release with incompatible file format changes
32ed0a4
- File format now supports streams and signatures
32ed0a4
32ed0a4
* Tue Apr 17 2018 Jonathan Dieter <jdieter@gmail.com> - 0.2.2-1
32ed0a4
- First release
32ed0a4
- Fix build on EL7