Summary: | sys-apps/portage: let emerge use installed packages as a binary package repository (quickpkg like) | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Zac Medico <zmedico> |
Component: | Core - Interface (emerge) | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | esigra, leho |
Priority: | Normal | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=752066 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 240187, 701268 |
Description
Zac Medico
2019-11-13 09:08:22 UTC
I've got a working patch but I need to clean in up and review it some more: https://github.com/zmedico/portage/compare/master...bug_699986_quickpkg-direct The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=b24a484ab190af9c9b96b9ef01837aded845fb54 commit b24a484ab190af9c9b96b9ef01837aded845fb54 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2019-11-18 01:32:38 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2019-11-18 01:41:27 +0000 dblink: add quickpkg method Bug: https://bugs.gentoo.org/699986 Signed-off-by: Zac Medico <zmedico@gentoo.org> bin/quickpkg | 34 ++++-------------------------- lib/portage/dbapi/vartree.py | 50 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 30 deletions(-) Completed patch posted for review: https://archives.gentoo.org/gentoo-portage-dev/message/d0e5e694be1e4a3f479a1f55e5a60290 https://github.com/gentoo/portage/pull/479 The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=8faad11a18fcc33329931a75002f293e8fa462eb commit 8faad11a18fcc33329931a75002f293e8fa462eb Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2019-11-25 05:08:14 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2019-11-27 03:19:20 +0000 emerge: add --quickpkg-direct option Enable use of installed packages directly as binary packages. This is similar to using binary packages produced by quickpkg(1), but installed packages are used directly as though they are binary packages. This option only works in combination with the --root=DIR option, and it comes with the caveat that packages are only allowed to be installed into the root that is specified by the --root=DIR option. The other root which serves as a source of packages is assumed to be immutable during the entire operation (similar to --buildpkgonly mode). Default behavior for handling of protected configuration files is controlled by the QUICKPKG_DEFAULT_OPTS variable. When a configuration file is not included because it is protected, an ewarn message is logged. Suggested use cases: * Install packages from a buildtime container into an empty root, in order to create a minimal runtime container (which need not include a package manager). In a multi-stage Dockerfile, install runtime files to an empty directory in the build stage, and in the final stage use COPY to populate a container with the contents of that directory. For greater efficiency, use buildah to install directly into a mounted container, avoiding the COPY step. Use the emerge --usepkgonly and --ignore-soname-deps=n options to account for soname dependencies, allowing implicit system dependencies such as glibc to be automatically pulled into the runtime image. * Enable a live usb, iso, or pxe image to act as a binary installer that uses packages installed in the live image as a source of binary packages. Bug: https://bugs.gentoo.org/699986 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/_emerge/Binpkg.py | 59 +++++++++------- lib/_emerge/Scheduler.py | 7 +- lib/_emerge/actions.py | 37 ++++++++-- lib/_emerge/depgraph.py | 19 ++++++ lib/_emerge/main.py | 7 +- lib/portage/dbapi/__init__.py | 5 +- lib/portage/dbapi/bintree.py | 112 ++++++++++++++++++++++++++++-- lib/portage/dbapi/vartree.py | 117 ++++++++++++++++++++++++++++++-- lib/portage/tests/emerge/test_simple.py | 3 +- man/emerge.1 | 19 +++++- 10 files changed, 338 insertions(+), 47 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e36007163e56015301e2146c671fb14b3b0af57 commit 3e36007163e56015301e2146c671fb14b3b0af57 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2019-11-27 03:39:22 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2019-11-27 03:39:57 +0000 sys-apps/portage: Bump to version 2.3.80 #667432 Rename DCO_SIGNED_OFF_BY config variable to SIGNED_OFF_BY. #674562 eapply: Drop -s option for patch. #689226 emerge --buildpkgonly: respect buildtime hard blockers #699986 emerge: add --quickpkg-direct option Bug: https://bugs.gentoo.org/701268 Bug: https://bugs.gentoo.org/667432 Bug: https://bugs.gentoo.org/674562 Bug: https://bugs.gentoo.org/689226 Bug: https://bugs.gentoo.org/699986 Package-Manager: Portage-2.3.80, Repoman-2.3.18 Signed-off-by: Zac Medico <zmedico@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-2.3.80.ebuild | 261 +++++++++++++++++++++++++++++++++ 2 files changed, 262 insertions(+) |