security/py-pylibacl: Update to 0.5.4 This change upgrades pylibacl to the latest released version from 0.5.2 to 0.5.4 and also adds a "make test" target for maintainers/consumers. This new version contains multiple minor bugfixes, noted in the release notes. PR: 242493 Approved_by: koobs (ports, python) MFH: 2010Q1 (blanket: bugfix releases) Differential_Revision: 24218
Details
- Reviewers
koobs
- portlint: OK
- testport: ??? (poudriere: ...)
- maketest: OK (Ran 14 tests in 0.002s OK (skipped=1))
portlint
$ portlint -V portlint version 2.18.10 $ portlint security/py-pylibacl looks fine.
testport
TBD
maketest
The tests assume and require a filesystem with POSIX ACLs enabled. This is
possible via a memory backed UFS filesystem, like so:
$ mkdir /tmp/md $ sudo mdmfs -s 128m md /tmp/md $ sudo make install ... $ sudo env TEST_DIR=/tmp/md/ make test ===> Testing for py37-pylibacl-0.5.4 ===> py37-pylibacl-0.5.4 depends on file: /usr/local/bin/python3.7 - found running test running egg_info writing pylibacl.egg-info/PKG-INFO writing dependency_links to pylibacl.egg-info/dependency_links.txt writing top-level names to pylibacl.egg-info/top_level.txt reading manifest file 'pylibacl.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'pylibacl.egg-info/SOURCES.txt' running build_ext copying build/lib.freebsd-12.1-RELEASE-amd64-3.7/posix1e.so -> testApplyToWithWrongObject (test.test_acls.AclExtensions) ... ok testCmp (test.test_acls.AclExtensions) ... skipped '__cmp__ is missing' testDoubleInit (test.test_acls.LoadTests) ... ok testFromACL (test.test_acls.LoadTests) Test creating an ACL from an existing ACL ... ok testFromDir (test.test_acls.LoadTests) Test loading ACLs from a directory ... ok testFromEmpty (test.test_acls.LoadTests) Test creating an empty ACL ... ok testFromFd (test.test_acls.LoadTests) Test loading ACLs from a file descriptor ... ok testFromFile (test.test_acls.LoadTests) Test loading ACLs from a file ... ok testFromText (test.test_acls.LoadTests) Test creating an ACL from text ... ok testInvalidCreationParams (test.test_acls.LoadTests) Test that creating an ACL from multiple objects fails ... ok testInvalidValueCreation (test.test_acls.LoadTests) Test that creating an ACL from wrong specification fails ... ok testDeleteDefault (test.test_acls.WriteTests) Test removing the default ACL ... ok testDeleteDefaultWrongArg (test.test_acls.WriteTests) ... ok testReapply (test.test_acls.WriteTests) Test re-applying an ACL ... ok ---------------------------------------------------------------------- Ran 14 tests in 0.002s OK (skipped=1)
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
No Lint Coverage - Unit
No Test Coverage - Build Status
Buildable 30171 Build 27970: arc lint + arc unit
Event Timeline
- Please confirm portlint and poudriere (Py 2.x and Py 3.x) pass (ive added bullet points for these in TEST PLAN section)
- 0.5.3 and 0.5.4 are bugfix only releases, with specific FreeBSD bugfixes: MFH: 2010Q1
- Changelog says: Drop support (well, drop testing) for Python lower than 2.7. but setup.py contains python_requires = ">=3.4", which will fail for 2.x. This should be patched out of setup.py and reported upstream. Upstream should add that only when 2.7 is explicitly *not* supported. If upstream says its unsupported now, then port should USES=python:3.4+ accordingly
- Upstream switched from unittest to pytest and setup.py test has technically been deprecated. Switch [2] to:
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} do-test: @cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs -o addopts= tests
- -v = verbose (one line per test)
- -rs = report skipped reasons
- -o addopts (null out any options set by pytest.cfg setup.cfg[pytest])
Since this is a C extension based Python package, you may need to override the build to build 'inplace'', so that tests work against the just-built module:
PYDISTUTILS_BUILD_TARGET= build_ext PYDISTUTILS_BUILDARGS+= --inplace
[1] https://pylibacl.k1024.org/news.html#version-0-5-3
[2] https://github.com/iustin/pylibacl/blob/master/.travis.yml#L21
portlint passed; need to do poudriere (there's only 1 dependency to deal with).
- 0.5.3 and 0.5.4 are bugfix only releases, with specific FreeBSD bugfixes: MFH: 2010Q1
Ok.
- Changelog says: Drop support (well, drop testing) for Python lower than 2.7. but setup.py contains python_requires = ">=3.4", which will fail for 2.x. This should be patched out of setup.py and reported upstream. Upstream should add that only when 2.7 is explicitly *not* supported. If upstream says its unsupported now, then port should USES=python:3.4+ accordingly
- Upstream switched from unittest to pytest and setup.py test has technically been deprecated. Switch [2] to:
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} do-test: @cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs -o addopts= tests
- -v = verbose (one line per test)
- -rs = report skipped reasons
- -o addopts (null out any options set by pytest.cfg setup.cfg[pytest])
Since this is a C extension based Python package, you may need to override the build to build 'inplace'', so that tests work against the just-built module:
PYDISTUTILS_BUILD_TARGET= build_ext PYDISTUTILS_BUILDARGS+= --inplace
These comments are applicable for the non-release version of pylibacl; pylibacl 0.5.4 supports 2.7 and doesn't support pytest: https://github.com/iustin/pylibacl/blob/pylibacl-v0.5.4/.travis.yml .
When the next version is released, the changes you requested should definitely be implemented.
These comments are applicable for the non-release version of pylibacl; pylibacl 0.5.4 supports 2.7 and doesn't support pytest: https://github.com/iustin/pylibacl/blob/pylibacl-v0.5.4/.travis.yml .
When the next version is released, the changes you requested should definitely be implemented.
Indeed, I was on master, apologies :)