Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 910035 - sys-apps/portage: needs to use PEP517 build (DistutilsNonPEP517Build)
Summary: sys-apps/portage: needs to use PEP517 build (DistutilsNonPEP517Build)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on: 908971
Blocks: pep517-porting
  Show dependency tree
 
Reported: 2023-07-08 06:58 UTC by Michał Górny
Modified: 2024-02-27 17:01 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2023-07-08 06:58:34 UTC
This package still uses the legacy eclass code paths.  These paths are deprecated and pose a significant maintenance cost.  Please update the package to use PEP517 build mode.  For more information, please see the Python Guide, particularly; https://projects.gentoo.org/python/guide/migration.html#migrating-to-pep-517-builds
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-07-08 20:40:55 UTC
[Adding this comment en-masse, sorry for the noise, but it's important.)

1. Please take particular care to check file diffs before/after, possibly using `iwdevtools`. Keep a particular eye out for e.g. config files now missing from /etc and instead being in /usr/lib/python*/site-packages, etc.

2. Please make sure to do the migration in a new revision in ~arch, partly because of 1.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-07-15 08:18:57 UTC
See the discussion at https://marc.info/?l=gentoo-portage-dev&m=164753775721144&w=2.
Comment 3 Larry the Git Cow gentoo-dev 2023-08-02 06:31:23 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=ad3994394af0bc975ec7c28bd60de496b580c25e

commit ad3994394af0bc975ec7c28bd60de496b580c25e
Author:     James Le Cuirot <chewi@gentoo.org>
AuthorDate: 2023-07-15 11:20:27 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-08-02 06:31:19 +0000

    Migrate from setuptools to Meson and meson-python
    
    This makes Portage PEP 517 compliant.
    
    When building via meson-python, the man pages and logrotate config are
    no longer included as there seems little point.
    
    Bug: https://bugs.gentoo.org/910035
    Signed-off-by: James Le Cuirot <chewi@gentoo.org>
    Signed-off-by: Sam James <sam@gentoo.org>

 .builds/ci.yml                                     |  22 +-
 .builds/lint.yml                                   |  10 +-
 .github/workflows/ci.yml                           |  21 +-
 .github/workflows/lint.yml                         |  11 +-
 DEVELOPING                                         |  13 +-
 MANIFEST.in                                        |  30 -
 NEWS                                               |   2 +
 bin/meson.build                                    |  73 ++
 cnf/meson.build                                    | 144 ++++
 doc/api/meson.build                                |  43 +
 doc/fragment/meson.build                           |   5 +
 doc/fragment/version.in                            |   1 +
 doc/meson.build                                    |  57 ++
 doc/portage.docbook                                |   2 -
 lib/_emerge/AbstractEbuildProcess.py               |   7 +-
 lib/_emerge/create_depgraph_params.py              |  10 +-
 lib/_emerge/meson.build                            | 101 +++
 lib/_emerge/resolver/meson.build                   |  14 +
 lib/meson.build                                    |   2 +
 lib/portage/__init__.py                            |  11 +-
 lib/portage/_compat_upgrade/meson.build            |  10 +
 lib/portage/_emirrordist/meson.build               |  15 +
 lib/portage/_sets/meson.build                      |  15 +
 lib/portage/binrepo/meson.build                    |   8 +
 lib/portage/cache/index/meson.build                |   9 +
 lib/portage/cache/meson.build                      |  20 +
 lib/portage/const.py                               |  61 +-
 lib/portage/dbapi/meson.build                      |  22 +
 lib/portage/dep/meson.build                        |  12 +
 lib/portage/dep/soname/meson.build                 |  10 +
 lib/portage/elog/meson.build                       |  16 +
 lib/portage/emaint/meson.build                     |  11 +
 lib/portage/emaint/modules/binhost/meson.build     |   8 +
 lib/portage/emaint/modules/config/meson.build      |   8 +
 lib/portage/emaint/modules/logs/meson.build        |   8 +
 lib/portage/emaint/modules/merges/meson.build      |   8 +
 lib/portage/emaint/modules/meson.build             |  16 +
 lib/portage/emaint/modules/move/meson.build        |   8 +
 lib/portage/emaint/modules/resume/meson.build      |   8 +
 lib/portage/emaint/modules/sync/meson.build        |   8 +
 lib/portage/emaint/modules/world/meson.build       |   8 +
 lib/portage/env/meson.build                        |  10 +
 lib/portage/installation.py                        |  21 +
 lib/portage/meson.build                            |  74 ++
 lib/portage/package/ebuild/_config/meson.build     |  17 +
 lib/portage/package/ebuild/_ipc/meson.build        |  10 +
 .../package/ebuild/_parallel_manifest/meson.build  |  10 +
 lib/portage/package/ebuild/meson.build             |  23 +
 lib/portage/package/meson.build                    |   9 +
 lib/portage/proxy/meson.build                      |   9 +
 lib/portage/repository/meson.build                 |  10 +
 lib/portage/repository/storage/meson.build         |  11 +
 lib/portage/sync/meson.build                       |  14 +
 lib/portage/sync/modules/cvs/meson.build           |   8 +
 lib/portage/sync/modules/git/meson.build           |   8 +
 lib/portage/sync/modules/mercurial/meson.build     |   8 +
 lib/portage/sync/modules/meson.build               |  14 +
 lib/portage/sync/modules/rsync/meson.build         |   8 +
 lib/portage/sync/modules/svn/meson.build           |   8 +
 lib/portage/sync/modules/webrsync/meson.build      |   8 +
 lib/portage/tests/bin/meson.build                  |  14 +
 lib/portage/tests/conftest.py                      |   7 +-
 lib/portage/tests/dbapi/meson.build                |  12 +
 lib/portage/tests/dep/meson.build                  |  28 +
 lib/portage/tests/ebuild/meson.build               |  17 +
 lib/portage/tests/emerge/meson.build               |  14 +
 lib/portage/tests/env/config/meson.build           |  12 +
 lib/portage/tests/env/meson.build                  |  10 +
 lib/portage/tests/glsa/meson.build                 |   9 +
 lib/portage/tests/gpkg/meson.build                 |  15 +
 lib/portage/tests/lafilefixer/meson.build          |   9 +
 lib/portage/tests/lazyimport/meson.build           |  10 +
 .../test_lazy_import_portage_baseline.py           |   1 +
 lib/portage/tests/lint/meson.build                 |  12 +
 lib/portage/tests/locks/meson.build                |  10 +
 lib/portage/tests/meson.build                      |  32 +
 lib/portage/tests/news/meson.build                 |   9 +
 lib/portage/tests/process/meson.build              |  16 +
 .../resolver/binpkg_multi_instance/meson.build     |  10 +
 lib/portage/tests/resolver/meson.build             |  96 +++
 lib/portage/tests/resolver/soname/meson.build      |  19 +
 lib/portage/tests/runTests.py                      |   7 +-
 lib/portage/tests/sets/base/meson.build            |  10 +
 lib/portage/tests/sets/files/meson.build           |  10 +
 lib/portage/tests/sets/meson.build                 |  12 +
 lib/portage/tests/sets/shell/meson.build           |   9 +
 lib/portage/tests/sync/meson.build                 |   9 +
 lib/portage/tests/unicode/meson.build              |   9 +
 lib/portage/tests/update/meson.build               |  11 +
 lib/portage/tests/util/dyn_libs/meson.build        |   9 +
 lib/portage/tests/util/eventloop/meson.build       |   9 +
 lib/portage/tests/util/file_copy/meson.build       |   9 +
 lib/portage/tests/util/futures/asyncio/meson.build |  15 +
 lib/portage/tests/util/futures/meson.build         |  15 +
 lib/portage/tests/util/meson.build                 |  31 +
 lib/portage/tests/versions/meson.build             |  10 +
 lib/portage/tests/xpak/meson.build                 |   9 +
 lib/portage/util/_async/meson.build                |  20 +
 lib/portage/util/_dyn_libs/meson.build             |  14 +
 lib/portage/util/_eventloop/meson.build            |   9 +
 lib/portage/util/elf/meson.build                   |   9 +
 lib/portage/util/endian/meson.build                |   8 +
 lib/portage/util/file_copy/meson.build             |   7 +
 lib/portage/util/futures/_asyncio/meson.build      |   8 +
 lib/portage/util/futures/executor/meson.build      |   8 +
 lib/portage/util/futures/meson.build               |  17 +
 lib/portage/util/iterators/meson.build             |   8 +
 lib/portage/util/meson.build                       |  49 ++
 lib/portage/xml/meson.build                        |   8 +
 man/color.map.5                                    |   2 +-
 man/dispatch-conf.1                                |   2 +-
 man/ebuild.1                                       |   2 +-
 man/ebuild.5                                       |   2 +-
 man/egencache.1                                    |   2 +-
 man/emaint.1                                       |   2 +-
 man/emerge.1                                       |   2 +-
 man/emirrordist.1                                  |   2 +-
 man/env-update.1                                   |   2 +-
 man/etc-update.1                                   |   2 +-
 man/fixpackages.1                                  |   2 +-
 man/glsa-check.1                                   |   2 +-
 man/make.conf.5                                    |   2 +-
 man/meson.build                                    |  31 +
 man/portage.5                                      |   2 +-
 man/quickpkg.1                                     |   2 +-
 man/ru/color.map.5                                 |   2 +-
 man/ru/dispatch-conf.1                             |   2 +-
 man/ru/ebuild.1                                    |   2 +-
 man/ru/env-update.1                                |   2 +-
 man/ru/etc-update.1                                |   2 +-
 man/ru/fixpackages.1                               |   2 +-
 man/ru/meson.build                                 |  19 +
 meson.build                                        | 123 +++
 meson_options.txt                                  |  59 ++
 pyproject.toml                                     |  37 +-
 setup.py                                           | 925 ---------------------
 src/meson.build                                    |  50 ++
 tox.ini                                            |   2 +-
 138 files changed, 2087 insertions(+), 1060 deletions(-)
Comment 4 Larry the Git Cow gentoo-dev 2023-08-02 06:40:09 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be37f979f5f838c8a4039aaba379a3e373af0b6f

commit be37f979f5f838c8a4039aaba379a3e373af0b6f
Author:     James Le Cuirot <chewi@gentoo.org>
AuthorDate: 2023-07-29 16:00:31 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-08-02 06:39:51 +0000

    sys-apps/portage: Migrate 9999 to use Meson
    
    Bug: https://bugs.gentoo.org/910035
    Signed-off-by: James Le Cuirot <chewi@gentoo.org>
    Closes: https://github.com/gentoo/gentoo/pull/32098
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-apps/portage/portage-9999.ebuild | 187 +++++++++++------------------------
 1 file changed, 58 insertions(+), 129 deletions(-)
Comment 5 Larry the Git Cow gentoo-dev 2023-08-09 02:57:32 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=858dfd771ac4c6c9315ac5851f4aeeb233fc21d5

commit 858dfd771ac4c6c9315ac5851f4aeeb233fc21d5
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-08-09 02:54:12 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-08-09 02:54:12 +0000

    sys-apps/portage: add 3.0.50
    
    Closes: https://bugs.gentoo.org/908971
    Closes: https://bugs.gentoo.org/640658
    Closes: https://bugs.gentoo.org/894398
    Closes: https://bugs.gentoo.org/895908
    Closes: https://bugs.gentoo.org/909067
    Closes: https://bugs.gentoo.org/909148
    Closes: https://bugs.gentoo.org/909853
    Closes: https://bugs.gentoo.org/910035
    Closes: https://bugs.gentoo.org/910376
    Closes: https://bugs.gentoo.org/911594
    Closes: https://bugs.gentoo.org/911574
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-apps/portage/Manifest              |   1 +
 sys-apps/portage/portage-3.0.50.ebuild | 229 +++++++++++++++++++++++++++++++++
 2 files changed, 230 insertions(+)