head 1.7; access; symbols pkgsrc-2023Q4:1.6.0.10 pkgsrc-2023Q4-base:1.6 pkgsrc-2023Q3:1.6.0.8 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.6.0.6 pkgsrc-2023Q2-base:1.6 pkgsrc-2023Q1:1.6.0.4 pkgsrc-2023Q1-base:1.6 pkgsrc-2022Q4:1.6.0.2 pkgsrc-2022Q4-base:1.6 pkgsrc-2022Q3:1.5.0.8 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.6 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.4 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.2 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.3.0.10 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.8 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.6 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.4 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.2 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.2.0.8 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.4 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.6 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.2 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.1.0.20 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.18 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.16 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.14 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.12 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.10 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.8 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.6 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.2 pkgsrc-2017Q2-base:1.1; locks; strict; comment @# @; 1.7 date 2024.01.12.05.34.58; author adam; state Exp; branches; next 1.6; commitid odovae4mCwfTw7UE; 1.6 date 2022.10.14.11.48.48; author adam; state Exp; branches; next 1.5; commitid G4Tbz1HS6hfRdGXD; 1.5 date 2021.10.26.09.57.14; author nia; state Exp; branches; next 1.4; commitid 78VqYEUpimZYWieD; 1.4 date 2021.10.07.13.06.08; author nia; state Exp; branches; next 1.3; commitid th2tWmLhF9XPBSbD; 1.3 date 2020.07.29.12.10.46; author adam; state Exp; branches; next 1.2; commitid vTZQIqfFxoKChYhC; 1.2 date 2019.09.16.08.56.17; author adam; state Exp; branches; next 1.1; commitid WeQU8OXcf4kHodDB; 1.1 date 2017.04.14.14.01.02; author leot; state Exp; branches; next ; commitid 7jDSihnauSQZwvNz; desc @@ 1.7 log @py-rarfile: updated to 4.1 Version 4.1 (2023-09-17) Features: * Support 7zip/p7zip as decompression backend. * RAR5: check password before trying to read file (chigusa) New APIs: * Make get_rar_version a public function (Safihre) * New option: ``part_only`` for :class:`RarFile`, to read only single file and allow it to be middle-part of multi-volume archive. * Add :meth:`RarFile.printdir`, use it in dumprar. Needed to examine FILE_COPY or HARD_LINK entries that do not contain data. Fixes: * Use OS separator to access filename. Should fix subdirectory entry access on Windows. * DirectReader: check seek position on each read. Fixes read reading from multiple entries in parallel on RarFile backed by file object. * DirectReader: properly disable CRC check when seeking. * Reset _hdrenc_main before processing a new volume. Fixes CRC checks on multi-volume reads. * Adapt to Python 3.10 argparse (MeggyCal) * SFX: Handle volume numbering special cases better. * nsdatetime: support pypy internal use * Throw error if backend does not support passwords. Cleanups: * ci: Use proper unrar on Windows. MingW one tolaretes paths with ``/`` better than upstream build. * ci: Add Python 3.10 to the testing (Christian Clauss) * Avoid isascii, not in 3.6 @ text @$NetBSD: distinfo,v 1.6 2022/10/14 11:48:48 adam Exp $ BLAKE2s (rarfile-4.1.tar.gz) = 46c201908b6abf4947a3f4230cee23cd4cd51884b8306294d87f2354d372b3f3 SHA512 (rarfile-4.1.tar.gz) = ca3ac26e02b8d7770c43fe70a06cf42b2183a34846d59c79d3478651e9d7ffc022fe7336be44b8df8fa6f0789bae055c1d057c21d87af78acccc43a927fd02e2 Size (rarfile-4.1.tar.gz) = 152826 bytes @ 1.6 log @py-rarfile: updated to 4.0 rarfile v4.0 Main goals are: Increased zipfile-compatibility, thus also achieving smaller difference between RAR3 and RAR5 archives. Implement RarFile.extract on top of RarFile.open instead using unrar x directly, thus making maintenance of alternative backends more manageable. Negative aspect of that is that there are features that internal extract code does not support - hard links, NTFS streams and junctions. Breaking changes: Directory names will have "/" appended. RarFile.extract operates only on single entry, so when used on directory it will create directory but not extract files under it. RarFile.extract/RarFile.extractall/RarFile.testrar will not launch special unrar command line, instead they are implemented on top of RarFile.open. Keyword args in top-level APIs were renamed to match zipfile: RarFile(rarfile) -> RarFile(file) RarFile.setpassword(password) -> .setpassword(pwd) RarFile.getinfo(fname) -> .getinfo(name) RarFile.open(fname, mode, psw) -> .open(name, mode, pwd) RarFile.read(fname, psw) -> .read(name, pwd) PATH_SEP cannot be changed from "/". New features: RarFile.extract will return final sanitized filename for target file. RarInfo.is_dir is now preferred spelling of isdir(). Old method kept as alias. New RarInfo.is_file and RarInfo.is_symlink methods. Only one of ~RarInfo.is_file, ~RarInfo.is_dir or ~RarInfo.is_symlink can be True. RarFile.printdir has file argument for output. RarFile.__iter__ loops over RarInfo entries. RAR3: throw NeedFirstVolume exception with current volume number, like RAR5 does. Nanosecond timestamp support. Visible as nsdatetime instance. Minimal CLI when run as script: python3 -m rarfile Skip old file versions in versioned archive. Cleanups: Use PBKDF2 implementation from hashlib. Improve test coverage. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.5 2021/10/26 09:57:14 nia Exp $ d3 3 a5 3 BLAKE2s (rarfile-4.0.tar.gz) = 731fe846cf39764dbe058353d9bb5e346cdc241f5c003beb370726de59826acb SHA512 (rarfile-4.0.tar.gz) = 05e15acd749564288d4f069970ac196344c33fd2710e918b84afe4c388aa364a17c63f86577037524336e3a022f6db2c8619f9b526f89e00753a8ab0d89263d4 Size (rarfile-4.0.tar.gz) = 148026 bytes @ 1.5 log @archivers: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.4 2021/10/07 13:06:08 nia Exp $ d3 3 a5 3 BLAKE2s (rarfile-3.3.tar.gz) = b3fa891037a2c1e3b26b57ee223f689ee0293be5a31b71b37ed6b980f9c22f84 SHA512 (rarfile-3.3.tar.gz) = 6c66efae84d960bdda09e4d379744ebca7f5e280dcdc287183e22e7e633bbfd9b25f0672910e0ae80f4434b336aee6aa1036325786cbf82639bcff11ee34a02d Size (rarfile-3.3.tar.gz) = 135373 bytes @ 1.4 log @archivers: Remove SHA1 distfiles hashes @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.3 2020/07/29 12:10:46 adam Exp $ d3 1 a3 1 RMD160 (rarfile-3.3.tar.gz) = f44e5f0eff975cd64eae4494071b44c99b8473d5 @ 1.3 log @py-rarfile: updated to 3.3 rarfile v3.3 Fixes: Add the .sfx test files to MANIFEST.in for inclusion in pypi tarball. Add all files in git to tarball. rarfile v3.2 New features: Support unar as decompression backend. It has much better support for RAR features than bsdtar. Support SFX archives - archive header is searched in first 2MB of the file. Add HACK_TMP_DIR option, to force temp files into specific directory. Fixes: Always use "/" for path separator in command-line, gives better results on Windows. Cleanups: Drop module-level options from docs, they create confusion. Drop support for Python 2 and 3.5 and earlier. Python 2 is dead and requiring Python 3.6 gives blake2s, stdlib that supports pathlib, and ordered dict without compat hacks. Replace PyCrypto with PyCryptodome in tests. Use Github Actions for CI. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.2 2019/09/16 08:56:17 adam Exp $ a2 1 SHA1 (rarfile-3.3.tar.gz) = ef46f9c38ef5afb749c7f8a3def36d4dcfb98447 @ 1.2 log @py-rarfile: updated to 3.1 Version 3.1: This will be last version with support for Python 2.x New feature: Accept pathlib objects as filenames. Accept bytes filenames in Python 3 Fixes: Use bug-compatible SHA1 for longer passwords (> 28 chars) in RAR3 encrypted headers. Return true/false from _check_unrar_tool Include all test files in archive Include volume number in NeedFirstVolume exception if available (rar5). Cleanups: Convert tests to pytest. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.1 2017/04/14 14:01:02 leot Exp $ d3 4 a6 4 SHA1 (rarfile-3.1.tar.gz) = c3ef753642e5e75b84c21752f215e65815992df8 RMD160 (rarfile-3.1.tar.gz) = fcc9a2cb8208bd5d5545eaefcb4d2637260d906b SHA512 (rarfile-3.1.tar.gz) = eb910b0adfd1f28497163aa7994ab268d7780707e09931cb01014ffa51d985410b0bc17e5fb9ca133992b28115a0b5f443d01215624145d280f29e7065abb9d9 Size (rarfile-3.1.tar.gz) = 121579 bytes @ 1.1 log @Import py-rarfile-3.0 as archivers/py-rarfile This is Python module for RAR archive reading. The interface is made as zipfile like as possible. Licensed under ISC license. Features: * Supports both RAR3 and RAR5 format archives. * Supports multi volume archives. * Supports Unicode filenames. * Supports password-protected archives. * Supports archive and file comments. * Archive parsing and non-compressed files are handled in pure Python code. * Compressed files are extracted by executing external tool: either unrar from RARLAB or bsdtar from libarchive. * Works with both Python 2.7 and 3.x. @ text @d1 1 a1 1 $NetBSD$ d3 4 a6 4 SHA1 (rarfile-3.0.tar.gz) = 97adfdd73a0b04d4a5d51481ebcdab9470c51685 RMD160 (rarfile-3.0.tar.gz) = 20b4ae5564bd532fa9755a2834020324f9a47db8 SHA512 (rarfile-3.0.tar.gz) = b0b816bf09fe455e4d8d35b447c30e7810468a6927555164a1b513d4161f3fd4e77a37439620bd935c3a12e46b1e5eda3e35d7d281899d2f9fd26b6e989aa6e4 Size (rarfile-3.0.tar.gz) = 110665 bytes @