Version 2.4.2 was released on October 27th, 2019. https://pypi.org/project/python-daemon/#history One of the important fixes are a fix for Python 3.8, that otherwise fails to work completely. See here: https://pagure.io/python-daemon/issue/34 https://bugzilla.redhat.com/show_bug.cgi?id=1695802 Reproducible: Always
Created attachment 642364 [details] Ebuild for v2.2.4
(In reply to Peter Asplund from comment #1) > Created attachment 642364 [details] > Ebuild for v2.2.4 Trial for an ebuild. Added Twine as a build dependency.
(In reply to Peter Asplund from comment #0) > Version 2.4.2 was released on October 27th, 2019. > > https://pypi.org/project/python-daemon/#history > > One of the important fixes are a fix for Python 3.8, that otherwise fails to > work completely. > > See here: > > https://pagure.io/python-daemon/issue/34 > https://bugzilla.redhat.com/show_bug.cgi?id=1695802 > > Reproducible: Always Sorry for the version mistake, changed the title to 2.2.4 now.
Also removed unittest2 from the dependencies, based on mgorny's pull request here: https://pagure.io/python-daemon/pull-request/48
Comment on attachment 642364 [details] Ebuild for v2.2.4 ># Copyright 1999-2020 Gentoo Authors ># Distributed under the terms of the GNU General Public License v2 > >EAPI=7 > >PYTHON_COMPAT=( python3_{6,7,8} ) > >inherit distutils-r1 > >DESCRIPTION="Library to implement a well-behaved Unix daemon process" >HOMEPAGE="https://pypi.org/project/python-daemon/" >SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" > >LICENSE="PSF-2" >SLOT="0" >KEYWORDS="~amd64 ~arm ~x86" >IUSE="test" >RESTRICT="!test? ( test )" Use distutils_enable_tests, it will take care of IUSE and RESTRICT. > >BDEPEND=" > dev-python/twine[${PYTHON_USEDEP}] Why do you need twine? I don't think you're going to upload packages to pypi. > dev-python/setuptools[${PYTHON_USEDEP}]" Eclass adds setuptools dep these days, so skip it. >RDEPEND=" > dev-python/lockfile[${PYTHON_USEDEP}]" >DEPEND=" > ${RDEPEND} Also this will be unnecessary with distutils_enable_tests. > dev-python/docutils[${PYTHON_USEDEP}] How is it used? Some implicit build target in setup.py? > test? ( > dev-python/mock[${PYTHON_USEDEP}] > dev-python/testtools[${PYTHON_USEDEP}] > dev-python/testscenarios[${PYTHON_USEDEP}] > )" > >python_test() { > esetup.py test >} Also this.
(In reply to Michał Górny from comment #5) > Comment on attachment 642364 [details] > Ebuild for v2.2.4 > > ># Copyright 1999-2020 Gentoo Authors > ># Distributed under the terms of the GNU General Public License v2 > > > >EAPI=7 > > > >PYTHON_COMPAT=( python3_{6,7,8} ) > > > >inherit distutils-r1 > > > >DESCRIPTION="Library to implement a well-behaved Unix daemon process" > >HOMEPAGE="https://pypi.org/project/python-daemon/" > >SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" > > > >LICENSE="PSF-2" > >SLOT="0" > >KEYWORDS="~amd64 ~arm ~x86" > >IUSE="test" > >RESTRICT="!test? ( test )" > > Use distutils_enable_tests, it will take care of IUSE and RESTRICT. > > > > >BDEPEND=" > > dev-python/twine[${PYTHON_USEDEP}] > > Why do you need twine? I don't think you're going to upload packages to > pypi. > > > dev-python/setuptools[${PYTHON_USEDEP}]" > > Eclass adds setuptools dep these days, so skip it. > > >RDEPEND=" > > dev-python/lockfile[${PYTHON_USEDEP}]" > >DEPEND=" > > ${RDEPEND} > > Also this will be unnecessary with distutils_enable_tests. > > > dev-python/docutils[${PYTHON_USEDEP}] > > How is it used? Some implicit build target in setup.py? > > > test? ( > > dev-python/mock[${PYTHON_USEDEP}] > > dev-python/testtools[${PYTHON_USEDEP}] > > dev-python/testscenarios[${PYTHON_USEDEP}] > > )" > > > >python_test() { > > esetup.py test > >} > > Also this. Thank you for detailed feedback! I will try to fix the things you've mentioned, even though I have to admit that I lack some knowledge regarding both Python and ebuilds to understand it off-the-bat. > > > >BDEPEND=" > > dev-python/twine[${PYTHON_USEDEP}] > > Why do you need twine? I don't think you're going to upload packages to > pypi. When trying to install the ebuild, I got this error message. I checked the projects page and it seemed they had added Twine (which I don't know what it's for), so I assumed it was a dependency based on the error below. ">>> Existing ${T}/environment for 'python-daemon-2.2.4' will be sourced. >>> Run 'clean' to start with a fresh environment. >>> Checking python-daemon-2.2.4.tar.gz's mtime... >>> WORKDIR is up-to-date, keeping... * checking ebuild checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> It appears that 'pretend' has already executed for 'python-daemon-2.2.4'; skipping. >>> Remove '/var/tmp/portage/dev-python/python-daemon-2.2.4/.pretended' to force pretend. >>> It appears that 'setup' has already executed for 'python-daemon-2.2.4'; skipping. >>> Remove '/var/tmp/portage/dev-python/python-daemon-2.2.4/.setuped' to force setup. >>> It appears that 'unpack' has already executed for 'python-daemon-2.2.4'; skipping. >>> Remove '/var/tmp/portage/dev-python/python-daemon-2.2.4/.unpacked' to force unpack. >>> It appears that 'prepare' has already executed for 'python-daemon-2.2.4'; skipping. >>> Remove '/var/tmp/portage/dev-python/python-daemon-2.2.4/.prepared' to force prepare. >>> It appears that 'configure' has already executed for 'python-daemon-2.2.4'; skipping. >>> Remove '/var/tmp/portage/dev-python/python-daemon-2.2.4/.configured' to force configure. >>> Compiling source in /var/tmp/portage/dev-python/python-daemon-2.2.4/work/python-daemon-2.2.4 ... * python3_8: running distutils-r1_run_phase distutils-r1_python_compile python3.8 setup.py build -j 16 WARNING: The wheel package is not available. WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc0a6b334f0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/twine/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc0a6b339d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/twine/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc0a6b33ac0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/twine/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc0a6ac1e80>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/twine/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc0a6ae81f0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/twine/ ERROR: Could not find a version that satisfies the requirement twine (from versions: none) ERROR: No matching distribution found for twine Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/setuptools/installer.py", line 128, in fetch_build_egg subprocess.check_call(cmd) File "/usr/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/bin/python3.8', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/var/tmp/portage/dev-python/python-daemon-2.2.4/temp/tmp16rfqjm1', '--quiet', 'twine']' returned non-zero exit status 1. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "setup.py", line 111, in <module> setup(**setup_kwargs) File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 143, in setup _install_setup_requires(attrs) File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 138, in _install_setup_requires dist.fetch_build_eggs(dist.setup_requires) File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 695, in fetch_build_eggs resolved_dists = pkg_resources.working_set.resolve( File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 780, in resolve dist = best[req.key] = env.best_match( File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1065, in best_match return self.obtain(req, installer) File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1077, in obtain return installer(requirement) File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 754, in fetch_build_egg return fetch_build_egg(self, req) File "/usr/lib/python3.8/site-packages/setuptools/installer.py", line 130, in fetch_build_egg raise DistutilsError(str(e)) distutils.errors.DistutilsError: Command '['/usr/bin/python3.8', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/var/tmp/portage/dev-python/python-daemon-2.2.4/temp/tmp16rfqjm1', '--quiet', 'twine']' returned non-zero exit status 1. * ERROR: dev-python/python-daemon-2.2.4::AzP failed (compile phase): * (no error message) * * Call stack: * ebuild.sh, line 125: Called src_compile * environment, line 3738: Called distutils-r1_src_compile * environment, line 1166: Called _distutils-r1_run_foreach_impl 'distutils-r1_python_compile' * environment, line 361: Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_compile' * environment, line 3369: Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile' * environment, line 2688: Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile' * environment, line 2686: Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_compile' * environment, line 808: Called distutils-r1_run_phase 'distutils-r1_python_compile' * environment, line 1157: Called distutils-r1_python_compile * environment, line 1027: Called esetup.py 'build' '-j' '16' * environment, line 1823: Called die * The specific snippet of code: * "${@}" || die "${die_args[@]}"; * * If you need support, post the output of `emerge --info '=dev-python/python-daemon-2.2.4::AzP'`, * the complete build log and the output of `emerge -pqv '=dev-python/python-daemon-2.2.4::AzP'`. * The complete build log is located at '/var/tmp/portage/dev-python/python-daemon-2.2.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/python-daemon-2.2.4/temp/environment'. * Working directory: '/var/tmp/portage/dev-python/python-daemon-2.2.4/work/python-daemon-2.2.4' * S: '/var/tmp/portage/dev-python/python-daemon-2.2.4/work/python-daemon-2.2.4'"
I suspect that's an extraneous dependency, something to sed out.
Created attachment 642580 [details] Ebuild for v2.2.4 Here we go! I read through most of the distutils-r1 based on your feedback. I sed'd out twine, unittest2 (from your upstream pull request) and coverage. The tests fail to run if you don't have them installed (since the installer can't download them, resulting in the same error log as previous comment), but I interpreted the distutils-r1 documentation that that was the way to go. But would it now be better to put them behind a test? use flag? I also removed IUSE and the other parts.
Created attachment 642910 [details] Updated ebuild for 2.2.4. See previous comment.
Small bump on this bug (with ebuild). I often supply ebuilds via bugzilla. Is it preferable that I create pull requests via git instead?
This bug report is now obsolete since 2.3.0 was just brought into the tree.