Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 725874 - dev-python/python-daemon: Version bump to 2.2.4
Summary: dev-python/python-daemon: Version bump to 2.2.4
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL: https://pypi.org/project/python-daemo...
Whiteboard:
Keywords:
Depends on:
Blocks: 725518
  Show dependency tree
 
Reported: 2020-05-28 11:42 UTC by Peter Asplund
Modified: 2021-02-22 22:36 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Ebuild for v2.2.4 (python-daemon-2.2.4.ebuild,805 bytes, text/plain)
2020-05-28 12:42 UTC, Peter Asplund
Details
Ebuild for v2.2.4 (python-daemon-2.2.4.ebuild,728 bytes, text/plain)
2020-05-29 19:33 UTC, Peter Asplund
Details
Updated ebuild for 2.2.4. (python-daemon-2.2.4.ebuild,728 bytes, text/plain)
2020-05-31 18:54 UTC, Peter Asplund
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Asplund 2020-05-28 11:42:44 UTC
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
Comment 1 Peter Asplund 2020-05-28 12:42:32 UTC
Created attachment 642364 [details]
Ebuild for v2.2.4
Comment 2 Peter Asplund 2020-05-28 12:43:18 UTC
(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.
Comment 3 Peter Asplund 2020-05-28 12:44:12 UTC
(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.
Comment 4 Peter Asplund 2020-05-28 12:45:28 UTC
Also removed unittest2 from the dependencies, based on mgorny's pull request here:

https://pagure.io/python-daemon/pull-request/48
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2020-05-28 13:36:32 UTC
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.
Comment 6 Peter Asplund 2020-05-28 16:55:46 UTC
(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'"
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2020-05-28 17:02:08 UTC
I suspect that's an extraneous dependency, something to sed out.
Comment 8 Peter Asplund 2020-05-29 19:33:38 UTC
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.
Comment 9 Peter Asplund 2020-05-31 18:54:49 UTC
Created attachment 642910 [details]
Updated ebuild for 2.2.4.

See previous comment.
Comment 10 Peter Asplund 2020-07-12 15:11:57 UTC
Small bump on this bug (with ebuild).

I often supply ebuilds via bugzilla. Is it preferable that I create pull requests via git instead?
Comment 11 Peter Asplund 2021-02-22 22:35:52 UTC
This bug report is now obsolete since 2.3.0 was just brought into the tree.