14
0
Files
python-rarfile/python-rarfile.spec

83 lines
2.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-rarfile
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define skip_python2 1
Name: python-rarfile
Version: 4.2
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 pip}
Accepting request 824106 from home:alois:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/824106 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-rarfile?expand=0&rev=16
2020-08-06 05:39:42 +00:00
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: 7zip
Accepting request 824106 from home:alois:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/824106 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-rarfile?expand=0&rev=16
2020-08-06 05:39:42 +00:00
BuildRequires: bsdtar
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-Sphinx >= 1.3
Requires: bsdtar
Accepting request 824106 from home:alois:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/824106 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-rarfile?expand=0&rev=16
2020-08-06 05:39:42 +00:00
Recommends: unar
BuildArch: noarch
%python_subpackages
%description
This is a Python module for RAR archive reading. It supports both RAR
2.x and 3.x archives, multi volume archives, Unicode filenames,
password-protected archives, archive and file comments. The archive
parsing and non-compressed files are handled in pure Python code, for
compressed files, the "unrar" utility is run.
%package doc
Summary: RAR Archive Reader for Python (Documentation)
BuildArch: noarch
%description doc
Python module for RAR archive reading.
This package contains technical documentation.
%prep
%autosetup -p1 -n rarfile-%{version}
%build
%pyproject_wheel
%make_build -C doc html
rm doc/_build/html/.buildinfo
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
Accepting request 824106 from home:alois:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/824106 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-rarfile?expand=0&rev=16
2020-08-06 05:39:42 +00:00
%check
%pytest -k "not (test_unrar_tool or test_reading or test_rar3_header_encryption)"
Accepting request 824106 from home:alois:branches:devel:languages:python - 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 OBS-URL: https://build.opensuse.org/request/show/824106 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-rarfile?expand=0&rev=16
2020-08-06 05:39:42 +00:00
%files %{python_files}
%license LICENSE
%pycache_only %{python_sitelib}/__pycache__/rarfile.*.pyc
%{python_sitelib}/rarfile.py
%{python_sitelib}/rarfile-%{version}.dist-info
%files %{python_files doc}
%license LICENSE
%doc doc/_build/html/
%changelog