diff --git a/python-rarfile.changes b/python-rarfile.changes index 1948c4d..560517a 100644 --- a/python-rarfile.changes +++ b/python-rarfile.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Fri Jul 31 22:20:37 UTC 2020 - Luigi Baldoni + +- Update to version 4.0 + Main goals are: + * Increased zipfile-compatibility, thus also achieving + smaller difference between RAR3 and RAR5 archives. + * Removing dependency on unrar for extract, thus making + maintenance of alternative backends more manageable. + 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. + version 3.3: + Fixes: + * Add the .sfx test files to MANIFEST.in for inclusion in pypi + tarball. + * Add all files in git to tarball. +- Run tests +- Switch to unar + ------------------------------------------------------------------- Mon Jul 20 07:50:34 UTC 2020 - Luigi Baldoni diff --git a/python-rarfile.spec b/python-rarfile.spec index 527af4d..58518cb 100644 --- a/python-rarfile.spec +++ b/python-rarfile.spec @@ -18,18 +18,21 @@ %define skip_python2 1 Name: python-rarfile -Version: 3.2 +Version: 4.0 Release: 0 Summary: RAR Archive Reader for Python License: ISC URL: https://rarfile.readthedocs.org/ Source0: https://files.pythonhosted.org/packages/source/r/rarfile/rarfile-%{version}.tar.gz +BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} +BuildRequires: bsdtar BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: python3-Sphinx >= 1.3 +BuildRequires: unar Requires: bsdtar -Recommends: unrar +Recommends: unar BuildArch: noarch %python_subpackages @@ -61,6 +64,9 @@ rm doc/_build/html/.buildinfo %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} +%check +%pytest + %files %{python_files} %license LICENSE %pycache_only %{python_sitelib}/__pycache__/rarfile.*.py* diff --git a/rarfile-3.2.tar.gz b/rarfile-3.2.tar.gz deleted file mode 100644 index 83cd3c7..0000000 --- a/rarfile-3.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:422cbf788c5fed87ed0d55aff88951f54378ec84749eb05cc0584d87f2637545 -size 121758 diff --git a/rarfile-4.0.tar.gz b/rarfile-4.0.tar.gz new file mode 100644 index 0000000..2ecc800 --- /dev/null +++ b/rarfile-4.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67548769229c5bda0827c1663dce3f54644f9dbfba4ae86d4da2b2afd3e602a1 +size 148026