Control: reassign -1 pypy Control: affects -1 pypy-py On Wed, 25 Jul 2018 at 03:09:51 +0200, Andreas Beckmann wrote: > a test with piuparts revealed that your package uses files from > /usr/share/doc in its maintainer scripts which is a violation of > Policy 12.3: "Packages must not require the existence of any files in > /usr/share/doc/ in order to function." > https://www.debian.org/doc/debian-policy/#additional-documentation
This appears to be a bug in /usr/bin/pypycompile that is not present in py3compile or pycompile: it fails if a file listed in the package cannot be byte-compiled because it does not exist. The attached source package is a nearly-minimal test case. To have more clarity about what it's doing, the postinst and prerm are hard-coded instead of being generated by dh_pywhatever, but I believe they're equivalent to what dh_pywhatever would produce. I can install the Python 2 and 3 versions successfully: $ sudo dpkg --path-exclude='/usr/share/doc/*' -i ../python3-test904521_1_all.deb Selecting previously unselected package python3-test904521. (Reading database ... 448270 files and directories currently installed.) Preparing to unpack .../python3-test904521_1_all.deb ... Unpacking python3-test904521 (1) ... Setting up python3-test904521 (1) ... but not the pypy version: $ sudo dpkg --path-exclude='/usr/share/doc/*' -i ../pypy-test904521_1_all.deb Selecting previously unselected package pypy-test904521. (Reading database ... 448288 files and directories currently installed.) Preparing to unpack ../pypy-test904521_1_all.deb ... Unpacking pypy-test904521 (1) ... Setting up pypy-test904521 (1) ... Traceback (most recent call last): File "/usr/bin/pypycompile", line 100, in <module> main() File "/usr/bin/pypycompile", line 93, in main py_compile.compile(module, doraise=True) File "/usr/lib/pypy/lib-python/2.7/py_compile.py", line 105, in compile with open(file, 'U') as f: IOError: [Errno 2] No such file or directory: '/usr/share/doc/pypy-test904521/examples/test904521.py' dpkg: error processing package pypy-test904521 (--install): installed pypy-test904521 package post-installation script subprocess returned error exit status 1 Errors were encountered while processing: pypy-test904521 > These files must be moved to /usr/share/$PACKAGE and may be symlinked > from /usr/share/doc/$PACKAGE. Since they seem to be only examples anyway, it would be a better solution for them to be byte-compiled conditionally (if they exist) instead of unconditionally, or not byte-compiled at all. I think addressing this in pypy-py would just be working around a bug in pypycompile. smcv
test904521_1.tar.xz
Description: application/xz