Compare commits
No commits in common. "c9-beta" and "c10s" have entirely different histories.
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1 +1,2 @@
|
||||
SOURCES/fs-2.4.11.tar.gz
|
||||
/fs-2.4.11.tar.gz
|
||||
/fs-2.4.16.tar.gz
|
||||
|
@ -1 +0,0 @@
|
||||
2a88daa1d9050a4709ef92744714fa0d91121b77 SOURCES/fs-2.4.11.tar.gz
|
25
570.patch
Normal file
25
570.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From f6f260f97df29500a531baf1b370c3e4e4f3dc76 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= <thrnciar@redhat.com>
|
||||
Date: Thu, 23 Mar 2023 13:23:12 +0100
|
||||
Subject: [PATCH] Replace TestCase method aliases removed in Python 3.12
|
||||
|
||||
Fixes: #568
|
||||
---
|
||||
CHANGELOG.md | 2 ++
|
||||
CONTRIBUTORS.md | 1 +
|
||||
fs/test.py | 2 +-
|
||||
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/fs/test.py b/fs/test.py
|
||||
index 32e6ea5c..9bfe811d 100644
|
||||
--- a/fs/test.py
|
||||
+++ b/fs/test.py
|
||||
@@ -1082,7 +1082,7 @@ def test_remove(self):
|
||||
self.fs.makedirs("foo/bar/baz/")
|
||||
|
||||
error_msg = "resource 'foo/bar/egg/test.txt' not found"
|
||||
- assertRaisesRegex = getattr(self, "assertRaisesRegex", self.assertRaisesRegexp)
|
||||
+ assertRaisesRegex = getattr(self, "assertRaisesRegex", self.assertRaisesRegex)
|
||||
with assertRaisesRegex(errors.ResourceNotFound, error_msg):
|
||||
self.fs.remove("foo/bar/egg/test.txt")
|
||||
|
@ -1,72 +0,0 @@
|
||||
diff -urN pyfilesystem2-2.4.11-old/fs/test.py pyfilesystem2-2.4.11/fs/test.py
|
||||
--- pyfilesystem2-2.4.11-old/fs/test.py 2019-09-07 20:26:42.000000000 +0530
|
||||
+++ pyfilesystem2-2.4.11/fs/test.py 2020-05-28 21:37:44.655506430 +0530
|
||||
@@ -1061,7 +1061,7 @@
|
||||
self.fs.makedirs("foo/bar/baz/")
|
||||
|
||||
error_msg = "resource 'foo/bar/egg/test.txt' not found"
|
||||
- with self.assertRaisesRegexp(errors.ResourceNotFound, error_msg):
|
||||
+ with self.assertRaisesRegex(errors.ResourceNotFound, error_msg):
|
||||
self.fs.remove("foo/bar/egg/test.txt")
|
||||
|
||||
def test_removedir(self):
|
||||
diff -urN pyfilesystem2-2.4.11-old/tests/test_iotools.py pyfilesystem2-2.4.11/tests/test_iotools.py
|
||||
--- pyfilesystem2-2.4.11-old/tests/test_iotools.py 2019-09-07 20:26:42.000000000 +0530
|
||||
+++ pyfilesystem2-2.4.11/tests/test_iotools.py 2020-05-28 21:37:01.853039587 +0530
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
with self.fs.openbin("foo.bin") as f:
|
||||
data = f.read()
|
||||
- self.assert_(isinstance(data, bytes))
|
||||
+ self.assertTrue(isinstance(data, bytes))
|
||||
|
||||
with self.fs.openbin("text.txt", "wb") as f:
|
||||
f.write(UNICODE_TEXT.encode("utf-8"))
|
||||
diff -urN pyfilesystem2-2.4.11-old/tests/test_path.py pyfilesystem2-2.4.11/tests/test_path.py
|
||||
--- pyfilesystem2-2.4.11-old/tests/test_path.py 2019-09-07 20:26:42.000000000 +0530
|
||||
+++ pyfilesystem2-2.4.11/tests/test_path.py 2020-05-28 21:36:28.600676906 +0530
|
||||
@@ -152,14 +152,14 @@
|
||||
self.assertEqual(splitext(".foo"), (".foo", ""))
|
||||
|
||||
def test_recursepath(self):
|
||||
- self.assertEquals(recursepath("/"), ["/"])
|
||||
- self.assertEquals(recursepath("hello"), ["/", "/hello"])
|
||||
- self.assertEquals(recursepath("/hello/world/"), ["/", "/hello", "/hello/world"])
|
||||
- self.assertEquals(
|
||||
+ self.assertEqual(recursepath("/"), ["/"])
|
||||
+ self.assertEqual(recursepath("hello"), ["/", "/hello"])
|
||||
+ self.assertEqual(recursepath("/hello/world/"), ["/", "/hello", "/hello/world"])
|
||||
+ self.assertEqual(
|
||||
recursepath("/hello/world/", reverse=True), ["/hello/world", "/hello", "/"]
|
||||
)
|
||||
- self.assertEquals(recursepath("hello", reverse=True), ["/hello", "/"])
|
||||
- self.assertEquals(recursepath("", reverse=True), ["/"])
|
||||
+ self.assertEqual(recursepath("hello", reverse=True), ["/hello", "/"])
|
||||
+ self.assertEqual(recursepath("", reverse=True), ["/"])
|
||||
|
||||
def test_isbase(self):
|
||||
self.assertTrue(isbase("foo", "foo/bar"))
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
def test_isdotfile(self):
|
||||
for path in [".foo", ".svn", "foo/.svn", "foo/bar/.svn", "/foo/.bar"]:
|
||||
- self.assert_(isdotfile(path))
|
||||
+ self.assertTrue(isdotfile(path))
|
||||
|
||||
for path in ["asfoo", "df.svn", "foo/er.svn", "foo/bar/test.txt", "/foo/bar"]:
|
||||
self.assertFalse(isdotfile(path))
|
||||
@@ -201,10 +201,10 @@
|
||||
self.assertEqual(basename(path), test_basename)
|
||||
|
||||
def test_iswildcard(self):
|
||||
- self.assert_(iswildcard("*"))
|
||||
- self.assert_(iswildcard("*.jpg"))
|
||||
- self.assert_(iswildcard("foo/*"))
|
||||
- self.assert_(iswildcard("foo/{}"))
|
||||
+ self.assertTrue(iswildcard("*"))
|
||||
+ self.assertTrue(iswildcard("*.jpg"))
|
||||
+ self.assertTrue(iswildcard("foo/*"))
|
||||
+ self.assertTrue(iswildcard("foo/{}"))
|
||||
self.assertFalse(iswildcard("foo"))
|
||||
self.assertFalse(iswildcard("img.jpg"))
|
||||
self.assertFalse(iswildcard("foo/bar"))
|
@ -1,85 +0,0 @@
|
||||
%global srcname fs
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: 2.4.11
|
||||
Release: 10%{?dist}
|
||||
Summary: Python's Filesystem abstraction layer
|
||||
|
||||
License: MIT
|
||||
URL: https://pypi.org/project/fs/
|
||||
Source0: https://github.com/PyFilesystem/pyfilesystem2/archive/v%{version}/%{srcname}-%{version}.tar.gz
|
||||
Patch0: fix-for-py3.9-release.patch
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
|
||||
BuildRequires: python3dist(appdirs)
|
||||
BuildRequires: python3dist(pytz)
|
||||
BuildRequires: python3dist(six)
|
||||
|
||||
|
||||
%global _description %{expand:
|
||||
Think of PyFilesystem's FS objects as the next logical step to Python's file
|
||||
objects. In the same way that file objects abstract a single file, FS objects
|
||||
abstract an entire filesystem.}
|
||||
|
||||
%description %_description
|
||||
|
||||
%package -n python3-%{srcname}
|
||||
Summary: %{summary}
|
||||
%{?python_provide:%python_provide python3-%{srcname}}
|
||||
|
||||
%description -n python3-%{srcname} %_description
|
||||
|
||||
%prep
|
||||
%autosetup -n pyfilesystem2-%{version} -p1
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
|
||||
%check
|
||||
# Disabled tests run
|
||||
|
||||
%files -n python3-%{srcname}
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{python3_sitelib}/%{srcname}-*.egg-info/
|
||||
%{python3_sitelib}/%{srcname}/
|
||||
|
||||
%changelog
|
||||
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 2.4.11-10
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Tue Apr 27 2021 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-9
|
||||
- Resolves: rhbz#1945164 - Remove dependency on python-pytest-randomly
|
||||
- disable tests
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.4.11-8
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.11-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.11-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jun 24 2020 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-5
|
||||
- Add missing BR: python3-setuptools
|
||||
|
||||
* Mon Jun 01 2020 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-4
|
||||
- Disable few tests temporary for now (rhbz#1820916, rhbz#1841708)
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.4.11-3
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Mon Mar 30 2020 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-2
|
||||
- enable tests and use upstream source tarball
|
||||
|
||||
* Mon Mar 30 2020 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-1
|
||||
- Initial packaging
|
||||
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-10
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
11
plans/python-fs.fmf
Normal file
11
plans/python-fs.fmf
Normal file
@ -0,0 +1,11 @@
|
||||
discover:
|
||||
- name: smoke-tests
|
||||
how: shell
|
||||
tests:
|
||||
- name: python-import-test
|
||||
test: python3 -c 'import fs'
|
||||
require:
|
||||
- python3-fs
|
||||
duration: 1m
|
||||
execute:
|
||||
how: tmt
|
137
python-fs.spec
Normal file
137
python-fs.spec
Normal file
@ -0,0 +1,137 @@
|
||||
%global srcname fs
|
||||
|
||||
# RHEL does not include the test dependencies
|
||||
%bcond tests %{undefined rhel}
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: 2.4.16
|
||||
Release: 9%{?dist}
|
||||
Summary: Python's Filesystem abstraction layer
|
||||
|
||||
# https://spdx.org/licenses/MIT.html
|
||||
License: MIT
|
||||
URL: https://pypi.org/project/fs/
|
||||
Source0: https://github.com/PyFilesystem/pyfilesystem2/archive/v%{version}/%{srcname}-%{version}.tar.gz
|
||||
|
||||
# Replace TestCase method aliases removed in Python 3.12
|
||||
# https://github.com/PyFilesystem/pyfilesystem2/pull/570
|
||||
# changelog fragment removed to avoid conflict
|
||||
Patch: 570.patch
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
|
||||
BuildRequires: python3dist(appdirs)
|
||||
BuildRequires: python3dist(six)
|
||||
%if %{with tests}
|
||||
# Required for running tests
|
||||
BuildRequires: python3dist(pytest)
|
||||
BuildRequires: python3dist(pytest-randomly)
|
||||
BuildRequires: python3dist(parameterized)
|
||||
%endif
|
||||
|
||||
%global _description %{expand:
|
||||
Think of PyFilesystem's FS objects as the next logical step to Python's file
|
||||
objects. In the same way that file objects abstract a single file, FS objects
|
||||
abstract an entire filesystem.}
|
||||
|
||||
%description %_description
|
||||
|
||||
%package -n python3-%{srcname}
|
||||
Summary: %{summary}
|
||||
|
||||
%description -n python3-%{srcname} %_description
|
||||
|
||||
%prep
|
||||
%autosetup -n pyfilesystem2-%{version} -p1
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
# tests/test_ftpfs.py needs pyftpdlib (not packaged yet)
|
||||
# test_seek_current and test_seek_end are skipped due to regression in Python 3.12
|
||||
# upstream issue: https://github.com/python/cpython/issues/102956
|
||||
%{python3} -m pytest --ignore tests/test_ftpfs.py -k "not test_seek_current and not test_seek_end"
|
||||
%endif
|
||||
|
||||
%files -n python3-%{srcname}
|
||||
%license LICENSE
|
||||
%doc README.md examples
|
||||
%{python3_sitelib}/%{srcname}-*.egg-info/
|
||||
%{python3_sitelib}/%{srcname}/
|
||||
|
||||
%changelog
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.4.16-9
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.4.16-8
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.16-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.16-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.16-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Fri Jul 07 2023 Parag Nemade <pnemade AT redhat DOT com> - 2.4.16-4
|
||||
- Help msuchy to count this package as already using SPDX license expression
|
||||
|
||||
* Mon Jun 19 2023 Python Maint <python-maint@redhat.com> - 2.4.16-3
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Thu May 25 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 2.4.16-2
|
||||
- Disable tests in RHEL builds
|
||||
|
||||
* Thu Mar 16 2023 Parag Nemade <pnemade AT redhat DOT com> - 2.4.16-1
|
||||
- Update to 2.4.16 version
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.11-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.11-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 2.4.11-11
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.11-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Tue Jul 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.11-9
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.4.11-8
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.11-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.11-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jun 24 2020 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-5
|
||||
- Add missing BR: python3-setuptools
|
||||
|
||||
* Mon Jun 01 2020 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-4
|
||||
- Disable few tests temporary for now (rhbz#1820916, rhbz#1841708)
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.4.11-3
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Mon Mar 30 2020 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-2
|
||||
- enable tests and use upstream source tarball
|
||||
|
||||
* Mon Mar 30 2020 Parag Nemade <pnemade AT redhat DOT com> - 2.4.11-1
|
||||
- Initial packaging
|
||||
|
Loading…
Reference in New Issue
Block a user