Peter Pentchev [Fri, 12 Aug 2022 10:12:19 +0000 (13:12 +0300)]
Add an EditorConfig definitions file for debian/*.
Peter Pentchev [Fri, 12 Aug 2022 10:04:56 +0000 (13:04 +0300)]
debian/tests: py37: deferred annotations.
Peter Pentchev [Fri, 12 Aug 2022 09:59:22 +0000 (12:59 +0300)]
debian/tests: py37: dataclasses in stdlib.
Peter Pentchev [Fri, 12 Aug 2022 09:56:31 +0000 (12:56 +0300)]
debian/tests: push pychunk into python/.
Peter Pentchev [Fri, 12 Aug 2022 08:51:42 +0000 (11:51 +0300)]
debian/tests/pychunk: reformat, 100 chars per line.
Peter Pentchev [Fri, 12 Aug 2022 08:47:29 +0000 (11:47 +0300)]
debian/tests: move options to pyproject.toml and setup.cfg.
Move the configuration options for the various static source checkers that
we run through tox.ini to the standard Python project configuration files,
so that they are also available when the tools are run in other ways.
Peter Pentchev [Fri, 12 Aug 2022 08:42:58 +0000 (11:42 +0300)]
debian/tests/tox.ini: mypy: types-dataclasses for Python 3.6.
Peter Pentchev [Fri, 12 Aug 2022 08:41:00 +0000 (11:41 +0300)]
debian/tests/tox.ini: use black 22.
Peter Pentchev [Fri, 12 Aug 2022 08:29:20 +0000 (11:29 +0300)]
Add the cppcheck patch to fix some minor issues.
Peter Pentchev [Fri, 12 Aug 2022 06:23:47 +0000 (09:23 +0300)]
Declare compliance with Policy 4.6.1 with no changes.
Peter Pentchev [Fri, 15 Apr 2022 08:48:31 +0000 (11:48 +0300)]
Prepare to upload zchunk/1.2.1+ds1-1 to unstable.
Peter Pentchev [Fri, 15 Apr 2022 07:59:28 +0000 (10:59 +0300)]
Note the update to 1.5.x closes a Debian bug.
Peter Pentchev [Fri, 15 Apr 2022 07:53:40 +0000 (10:53 +0300)]
Forwarded test-checksums.patch, add the bug number.
Peter Pentchev [Fri, 15 Apr 2022 07:42:12 +0000 (10:42 +0300)]
Update the Debian packaging for zchunk-1.2.1.
Peter Pentchev [Fri, 15 Apr 2022 06:12:51 +0000 (09:12 +0300)]
Merge zchunk-1.2.1 into the Debian branch.
Peter Pentchev [Fri, 15 Apr 2022 06:10:59 +0000 (09:10 +0300)]
Merge zchunk-1.2.1 into the repacked Debian source.
Peter Pentchev [Fri, 15 Apr 2022 06:08:30 +0000 (09:08 +0300)]
Update the Debian packaging for zchunk-1.2.0.
Peter Pentchev [Thu, 14 Apr 2022 09:11:59 +0000 (12:11 +0300)]
Merge zchunk-1.2.0 into the Debian packaging branch.
Peter Pentchev [Thu, 14 Apr 2022 07:06:07 +0000 (10:06 +0300)]
Merge zchunk-1.2.0 into the repacked Debian source.
Peter Pentchev [Wed, 13 Apr 2022 08:38:01 +0000 (11:38 +0300)]
Update the changelog file.
Peter Pentchev [Mon, 11 Apr 2022 14:33:19 +0000 (17:33 +0300)]
Add the year 2022 to my debian/* copyright notice.
Peter Pentchev [Mon, 11 Apr 2022 14:32:42 +0000 (17:32 +0300)]
Fix the build with libzstd 1.4.10 and 1.5.0.
Jonathan Dieter [Sat, 12 Mar 2022 16:51:28 +0000 (16:51 +0000)]
Bump to 1.2.1
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 12 Mar 2022 16:49:48 +0000 (16:49 +0000)]
Merge branch 'fix_size_limit'
Jonathan Dieter [Sat, 12 Mar 2022 16:48:28 +0000 (16:48 +0000)]
Fix memory leak
In the index, we were leaking the uncompressed digest, so this commit fixes
that.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 12 Mar 2022 14:27:19 +0000 (14:27 +0000)]
Fix size limit in zck.c
Up to now zck.c reads the whole file into memory and then sends it to
zck_write to actually compress. This is highly inefficient, but was done
to simplify dealing with a string separator. This commit fixes this by
reading the file in chunks, and, if using a string separator, keeps track
of the matching bytes from chunk to chunk.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 20 Feb 2022 17:07:24 +0000 (17:07 +0000)]
Merge pull request #70 from zchunk/1.2.0
Release zchunk 1.2.0 with the following changes:
* Now builds for Windows
* Can set `--uncompressed` flag when creating zchunk files to also store uncompressed digests
* `zck_read_header` now indicates whether there's a dictionary and what flags are enabled in the zchunk file
* Minimum meson version required to build zchunk is now 0.53
* Switched to use GitHub actions for automated testing
* Added the following automated test environments:
* `centos-8-stream`
* `centos-9-stream`
* `ubuntu-lts`
* `windows`, both using Mamba and meson-wrap
* `macos`
Jonathan Dieter [Sun, 20 Feb 2022 16:54:46 +0000 (16:54 +0000)]
Release 1.2.0
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 20 Feb 2022 16:48:05 +0000 (16:48 +0000)]
Remove unnecessary Jenkinsfiles
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 5 Feb 2022 17:02:13 +0000 (17:02 +0000)]
Add support for detached headers
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 5 Feb 2022 16:09:31 +0000 (16:09 +0000)]
Add extra data to zck_read_header
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 5 Feb 2022 16:08:45 +0000 (16:08 +0000)]
Make clear that compressed chunk checksum can be 0s
Also, fix a small bug
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 27 Jan 2022 21:05:18 +0000 (21:05 +0000)]
Don't set full-file checksums when using uncompressed sources
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 5 Feb 2022 16:26:08 +0000 (16:26 +0000)]
Fix types when printing
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 17 Jan 2022 21:41:44 +0000 (21:41 +0000)]
Merge pull request #65 from wolfv/print_only_length_chars
Print only length characters
Jonathan Dieter [Mon, 17 Jan 2022 20:39:23 +0000 (20:39 +0000)]
Merge pull request #68 from zchunk/fix-meson-0.53
Fix meson build problems in Ubuntu
Jonathan Dieter [Mon, 17 Jan 2022 20:35:22 +0000 (20:35 +0000)]
Add CentOS 8 and CentOS 9 tests
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 17 Jan 2022 20:11:55 +0000 (20:11 +0000)]
Fix build for meson 0.53
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 17 Jan 2022 20:06:27 +0000 (20:06 +0000)]
Add tests for Ubuntu LTS
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Wolf Vollprecht [Wed, 12 Jan 2022 14:18:12 +0000 (15:18 +0100)]
print only length characters
Jonathan Dieter [Mon, 10 Jan 2022 21:28:05 +0000 (21:28 +0000)]
Merge pull request #63 from wolfv/pre-commit
pre-commit config & github linter CI
Jonathan Dieter [Mon, 10 Jan 2022 21:26:59 +0000 (21:26 +0000)]
Merge pull request #64 from zchunk/fix-wrap
Add test for meson-wrap
Wolf Vollprecht [Mon, 10 Jan 2022 07:02:47 +0000 (08:02 +0100)]
install pre-commit from pip
Jonathan Dieter [Sun, 9 Jan 2022 22:05:34 +0000 (22:05 +0000)]
Add `libzck_dep` so other projects can use this as a subproject
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 21:06:00 +0000 (21:06 +0000)]
Pass zcklib into `pkg_mod` as first argument to simplify things
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 20:55:21 +0000 (20:55 +0000)]
Simplify use of disabler
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 20:25:09 +0000 (20:25 +0000)]
Attempt to fix zstd wrap dependency detection
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 20:15:54 +0000 (20:15 +0000)]
zstd doesn't build in msvc, so use gcc when building with wrapped zstd
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 20:12:14 +0000 (20:12 +0000)]
Make libcurl optional
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 19:49:28 +0000 (19:49 +0000)]
Use meson features to simplify dependency checking
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 12:57:00 +0000 (12:57 +0000)]
Add test for meson-wrap
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Wolf Vollprecht [Sun, 9 Jan 2022 12:19:26 +0000 (13:19 +0100)]
add pre-commit lint environment
Jonathan Dieter [Sat, 8 Jan 2022 23:28:09 +0000 (23:28 +0000)]
Change workflow name
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 23:21:14 +0000 (23:21 +0000)]
Merge pull request #62 from zchunk/github-actions-autotest
Update README.md to point to new CI location
Jonathan Dieter [Sat, 8 Jan 2022 23:19:42 +0000 (23:19 +0000)]
Update README.md to point to new CI location
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 23:15:13 +0000 (23:15 +0000)]
Merge pull request #61 from zchunk/github-actions-autotest
Switch to GitHub actions for container CI
Jonathan Dieter [Sat, 8 Jan 2022 23:04:28 +0000 (23:04 +0000)]
Split different os's into different jobs and add missing containers
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 22:33:08 +0000 (22:33 +0000)]
Switch to using GitHub actions for container CI
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 22:03:58 +0000 (22:03 +0000)]
Merge pull request #60 from zchunk/fix-argp-alpine
Verify that include directory exists before trying to include it
Jonathan Dieter [Sat, 8 Jan 2022 21:57:24 +0000 (21:57 +0000)]
Verify that include directory exists before trying to include it
Note that this also bumps the minimum meson version to 0.53.0
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 21:32:34 +0000 (21:32 +0000)]
Merge pull request #54 from wolfv/win
Support for Windows
Wolf Vollprecht [Sat, 8 Jan 2022 16:10:52 +0000 (17:10 +0100)]
check that malloc succeeds and use safe strcpy/strcat
Wolf Vollprecht [Sat, 8 Jan 2022 15:39:30 +0000 (16:39 +0100)]
fix file end newlines with pre-commit
Wolf Vollprecht [Sat, 8 Jan 2022 14:25:40 +0000 (15:25 +0100)]
unify order of ZCK_PUBLIC_API
Wolf Vollprecht [Sat, 8 Jan 2022 14:04:47 +0000 (15:04 +0100)]
fix another newline
Wolf Vollprecht [Sat, 8 Jan 2022 11:35:07 +0000 (12:35 +0100)]
no libgen on win
Wolf Vollprecht [Sat, 8 Jan 2022 11:25:00 +0000 (12:25 +0100)]
add newlines, fix up zck_dl, other review changes
Wolf Vollprecht [Fri, 7 Jan 2022 09:06:19 +0000 (10:06 +0100)]
use LOG_ERROR as logging shorthand in utils and tests
Wolf Vollprecht [Thu, 6 Jan 2022 19:32:48 +0000 (20:32 +0100)]
fix win
Wolf Vollprecht [Thu, 6 Jan 2022 17:32:22 +0000 (18:32 +0100)]
support older meson, fix macos
Wolf Vollprecht [Thu, 6 Jan 2022 16:43:42 +0000 (17:43 +0100)]
escape angle brackets on Windows
Wolf Vollprecht [Thu, 6 Jan 2022 15:35:01 +0000 (16:35 +0100)]
add .gitattributes to force LF line endings on Windows for test files
Wolf Vollprecht [Thu, 6 Jan 2022 13:58:50 +0000 (14:58 +0100)]
fix copy_chunks
Wolf Vollprecht [Thu, 6 Jan 2022 09:24:39 +0000 (10:24 +0100)]
fix shacheck for windows
Wolf Vollprecht [Thu, 6 Jan 2022 08:06:31 +0000 (09:06 +0100)]
start running tests on win
Wolf Vollprecht [Thu, 6 Jan 2022 08:04:49 +0000 (09:04 +0100)]
add fcntl.h header for win
Wolf Vollprecht [Thu, 6 Jan 2022 08:03:03 +0000 (09:03 +0100)]
fix up get_tmp_fd for windows
Wolf Vollprecht [Wed, 5 Jan 2022 20:50:40 +0000 (21:50 +0100)]
fix tests
Wolf Vollprecht [Wed, 5 Jan 2022 17:09:24 +0000 (18:09 +0100)]
make tests build on Windows
Wolf Vollprecht [Tue, 4 Jan 2022 17:59:17 +0000 (18:59 +0100)]
Run CI on Windows
Wolf Vollprecht [Wed, 15 Dec 2021 15:12:19 +0000 (16:12 +0100)]
build dll on Windows
Jonathan Dieter [Thu, 6 Jan 2022 22:03:14 +0000 (22:03 +0000)]
Merge pull request #59 from eli-schwartz/wraps
Support meson wraps
Eli Schwartz [Wed, 5 Jan 2022 04:45:20 +0000 (23:45 -0500)]
meson: add subproject fallback for zstd
installed via the command:
```
meson wrap install zstd
```
This file does nothing, unless a dependency cannot be found; in that
case, instead of failing, meson will download a private copy of the
dependency and build + link to that instead.
(This is especially common on Windows, where managing dependencies
without a package manager can be difficult.)
Alternatively, users interested in specifically building a statically
linked / portable executable can configure meson with
`--wrap-mode=forcefallback` to prefer the private copy.
Eli Schwartz [Wed, 5 Jan 2022 04:42:03 +0000 (23:42 -0500)]
meson: fix incorrect use of global arguments to set symbol visibility
add_global_arguments applies to all subprojects, or more usually, fails.
The meson docs suggest that add_project_arguments is probably preferable
for this reason.
However, in this case it should only be applied to a single library as a
workaround for supporting older versions of meson. Move it to a
per-target c_args instead, for the same effect.
Jonathan Dieter [Tue, 4 Jan 2022 17:30:58 +0000 (17:30 +0000)]
Merge pull request #56 from wolfv/add_gh_action
Add github action
Wolf Vollprecht [Tue, 4 Jan 2022 17:03:01 +0000 (18:03 +0100)]
add openssl explicitly
Wolf Vollprecht [Wed, 22 Dec 2021 18:04:04 +0000 (19:04 +0100)]
add github action
Jonathan Dieter [Mon, 3 Jan 2022 20:52:19 +0000 (20:52 +0000)]
Merge pull request #58 from dirkmueller/main
Add expected sha256sums for zstd 1.5.1+ release (Fixes #57)
Dirk Müller [Mon, 3 Jan 2022 20:33:02 +0000 (21:33 +0100)]
Add expected sha256sums for zstd 1.5.1+ release (Fixes #57)
Jonathan Dieter [Thu, 25 Nov 2021 19:30:01 +0000 (19:30 +0000)]
Merge pull request #52 from martinetd/strict-prototypes
fix -Wstrict-prototypes warning
Dominique Martinet [Wed, 24 Nov 2021 00:27:04 +0000 (09:27 +0900)]
fix -Wstrict-prototypes warning
function declarations should always explicitly say no argument is expected,
as in C 'foo bar()' means bar can take any parameter.
This was noticed when building another project with -Wall -Wextra and getting
the following warning on installed header:
/usr/include/zck.h:66:5: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
66 | __attribute__ ((warn_unused_result));
| ^~~~~~~~~~~~~
/usr/include/zck.h:325:5: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
325 | __attribute__ ((warn_unused_result));
| ^~~~~~~~~~~~~
Jonathan Dieter [Fri, 12 Nov 2021 22:21:13 +0000 (22:21 +0000)]
Fix argplib dependency for new test executable (required for Alpine)
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 12 Nov 2021 22:12:53 +0000 (22:12 +0000)]
Dictionary creation should be after compression format is set
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 12 Nov 2021 21:30:55 +0000 (21:30 +0000)]
Merge branch 'devel'
Jonathan Dieter [Fri, 12 Nov 2021 21:28:51 +0000 (21:28 +0000)]
Merge branch 'dllogs'
Stefano Babic [Fri, 10 Sep 2021 20:48:10 +0000 (22:48 +0200)]
Add test utility to compare a zck with uncompressed file
This utility reads a zck and generates an index from a file, then
compares and output the delta with the chunks that are required.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Fri, 10 Sep 2021 20:42:33 +0000 (22:42 +0200)]
Add function to generate uthash after write
uthash are generated only when a zck is read when index is parsed. In
case a comparison is done between a zck and a generated zck, to search
for hash both need to have a uthash database, so add function to create
the database when zck is created.
Add a function to assembly a zck with chunks from another zck (source).
The resulkting zck will contain all chunks from source when the hash
(compressed or not compressed in case the compressors are different)
matches.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Fri, 10 Sep 2021 20:39:01 +0000 (22:39 +0200)]
Do not duplicate index structure for uncompressed
Index is just one, there is no need to duplicate the structure to
support uthash for digest related to the uncompressed data. Drop
index_uncomp and add uthash for uncompressed data.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Fri, 17 Sep 2021 11:15:45 +0000 (13:15 +0200)]
Add accessor to return associated SRC chunk
If a chunk with the same hash is already present on device, it is
recorded in the src pointer. Add accessor to return this chunk.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Sun, 19 Sep 2021 14:10:35 +0000 (16:10 +0200)]
Drop too verbose log in comp.c
If zck_write is called in a loop, a "starting" output is unuseful and
too verbose, removed.
Signed-off-by: Stefano Babic <sbabic@denx.de>