diff --git a/packages/patched-derivations.nix b/packages/patched-derivations.nix index 19357e2..5873bae 100644 --- a/packages/patched-derivations.nix +++ b/packages/patched-derivations.nix @@ -50,9 +50,8 @@ super: rec { prometheus-jitsi-exporter = patch super.prometheus-jitsi-exporter "patches/base/prometheus-jitsi-exporter"; - s3ql = super.s3ql.overrideAttrs (old: { + s3ql = (patch super.s3ql "patches/base/s3ql").overrideAttrs (old: { propagatedBuildInputs = old.propagatedBuildInputs ++ [ - super.python3Packages.packaging super.python3Packages.systemd ]; }); diff --git a/patches/base/s3ql/metadata-accurate-length.patch b/patches/base/s3ql/metadata-accurate-length.patch new file mode 100644 index 0000000..afa1ae5 --- /dev/null +++ b/patches/base/s3ql/metadata-accurate-length.patch @@ -0,0 +1,13 @@ +diff --git a/src/s3ql/database.py b/src/s3ql/database.py +index 1c6df119..f3a47781 100644 +--- a/src/s3ql/database.py ++++ b/src/s3ql/database.py +@@ -677,7 +677,7 @@ def upload_metadata( + ) + obj = METADATA_OBJ_NAME % (blockno, params.seq_no) + fh.seek(blockno * blocksize) +- backend.write_fh(obj, fh, len_=blocksize) ++ backend.write_fh(obj, fh, len_=min(blocksize, db_size - blockno * blocksize)) + + if not update_params: + return