Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 820578 - GLEP 78: Gentoo binpkg container format draft update
Summary: GLEP 78: Gentoo binpkg container format draft update
Status: RESOLVED FIXED
Alias: None
Product: Documentation
Classification: Unclassified
Component: GLEP Changes (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: GLEP Editors
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 672672
  Show dependency tree
 
Reported: 2021-10-28 09:31 UTC by Sheng Yu
Modified: 2022-07-14 10:33 UTC (History)
6 users (show)

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


Attachments
New GLEP 78 draft (glep-0078.rst,26.26 KB, text/x-rst)
2021-10-28 09:31 UTC, Sheng Yu
Details
GLEP 78 draft update (0001-GLEP-78-draft-update.patch,8.12 KB, patch)
2022-05-28 16:32 UTC, Sheng Yu
Details | Diff
GLEP 78 draft update (0001-GLEP-78-draft-update.patch,8.20 KB, patch)
2022-05-28 19:19 UTC, Sheng Yu
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sheng Yu 2021-10-28 09:31:14 UTC
New draft, added Manifest and tar related content.

Reproducible: Always
Comment 1 Sheng Yu 2021-10-28 09:31:52 UTC
Created attachment 747027 [details]
New GLEP 78 draft
Comment 2 Larry the Git Cow gentoo-dev 2022-01-24 01:17:18 UTC
The bug has been referenced in the following commit(s):

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

commit b094ba47368bb9b16fb17ee47a54644a09860823
Author:     Rin Cat (鈴猫) <dev@rincat.ch>
AuthorDate: 2022-01-23 23:23:14 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-01-24 01:17:10 +0000

    */*: GPKG (new binpkg format) Support (GLEP 78, provisionally)
    
    Bug: https://bugs.gentoo.org/500630
    Bug: https://bugs.gentoo.org/659864
    Bug: https://bugs.gentoo.org/672672
    Bug: https://bugs.gentoo.org/773259
    Bug: https://bugs.gentoo.org/820578
    Signed-off-by: Rin Cat (鈴猫) <dev@rincat.ch>
    Closes: https://github.com/gentoo/portage/pull/562
    Signed-off-by: Sam James <sam@gentoo.org>

 MANIFEST.in                                        |    3 +
 bin/gpkg-helper.py                                 |   71 +
 bin/misc-functions.sh                              |   67 +-
 bin/quickpkg                                       |  108 +-
 cnf/make.conf.example                              |   36 +
 cnf/make.globals                                   |   21 +
 lib/_emerge/Binpkg.py                              |   13 +-
 lib/_emerge/BinpkgExtractorAsync.py                |    9 +
 lib/_emerge/BinpkgFetcher.py                       |   31 +-
 lib/_emerge/EbuildBinpkg.py                        |   16 +-
 lib/_emerge/EbuildPhase.py                         |   33 +-
 lib/_emerge/Package.py                             |    1 +
 lib/_emerge/actions.py                             |   44 +-
 lib/_emerge/depgraph.py                            |   30 +-
 lib/portage/__init__.py                            |    1 +
 lib/portage/binpkg.py                              |   56 +
 lib/portage/const.py                               |   12 +
 lib/portage/dbapi/bintree.py                       |  445 ++++-
 lib/portage/dbapi/vartree.py                       |   77 +-
 lib/portage/exception.py                           |   20 +
 lib/portage/gpg.py                                 |  106 +
 lib/portage/gpkg.py                                | 2015 ++++++++++++++++++++
 .../package/ebuild/_config/special_env_vars.py     |    1 +
 lib/portage/package/ebuild/config.py               |   10 +
 lib/portage/package/ebuild/doebuild.py             |   13 +
 .../06B3A311BD775C280D22A9305D90EA06352177F6.rev   |   37 +
 .../8DEDA2CDED49C8809287B89D8812797DDF1DD192.rev   |   37 +
 .../273B030399E7BEA66A9AD42216DE7CA17BA5D42E.key   |  Bin 0 -> 2055 bytes
 .../C99796FB85B0C3DF03314A11B5850C51167D6282.key   |  Bin 0 -> 2055 bytes
 lib/portage/tests/.gnupg/pubring.kbx               |  Bin 0 -> 2774 bytes
 lib/portage/tests/.gnupg/trustdb.gpg               |  Bin 0 -> 1360 bytes
 lib/portage/tests/__init__.py                      |   37 +-
 lib/portage/tests/emerge/test_simple.py            |   47 +-
 lib/portage/tests/gpkg/__init__.py                 |    2 +
 lib/portage/tests/gpkg/__test__.py                 |    0
 lib/portage/tests/gpkg/test_gpkg_checksum.py       |  396 ++++
 lib/portage/tests/gpkg/test_gpkg_gpg.py            |  398 ++++
 .../tests/gpkg/test_gpkg_metadata_update.py        |   59 +
 lib/portage/tests/gpkg/test_gpkg_metadata_url.py   |  173 ++
 lib/portage/tests/gpkg/test_gpkg_path.py           |  390 ++++
 lib/portage/tests/gpkg/test_gpkg_size.py           |   58 +
 lib/portage/tests/gpkg/test_gpkg_stream.py         |  112 ++
 lib/portage/tests/resolver/ResolverPlayground.py   |   55 +-
 .../test_build_id_profile_format.py                |   50 +-
 .../binpkg_multi_instance/test_rebuilt_binaries.py |   44 +-
 .../tests/resolver/soname/test_autounmask.py       |   38 +-
 .../tests/resolver/soname/test_downgrade.py        |   84 +-
 .../tests/resolver/soname/test_or_choices.py       |   39 +-
 .../tests/resolver/soname/test_reinstall.py        |   40 +-
 .../tests/resolver/soname/test_skip_update.py      |   39 +-
 .../soname/test_slot_conflict_reinstall.py         |  135 +-
 .../resolver/soname/test_slot_conflict_update.py   |   38 +-
 .../tests/resolver/soname/test_soname_provided.py  |   45 +-
 .../tests/resolver/soname/test_unsatisfiable.py    |   40 +-
 .../tests/resolver/soname/test_unsatisfied.py      |   40 +-
 .../tests/resolver/test_autounmask_binpkg_use.py   |   38 +-
 lib/portage/tests/resolver/test_bdeps.py           |   44 +-
 .../resolver/test_binary_pkg_ebuild_visibility.py  |   35 +-
 lib/portage/tests/resolver/test_changed_deps.py    |   41 +-
 ...test_complete_if_new_subslot_without_revbump.py |   40 +-
 .../resolver/test_disjunctive_depend_order.py      |   34 +-
 lib/portage/tests/resolver/test_multirepo.py       |   62 +-
 .../test_regular_slot_change_without_revbump.py    |   41 +-
 lib/portage/tests/resolver/test_simple.py          |   34 +-
 lib/portage/tests/resolver/test_slot_abi.py        |  113 +-
 .../tests/resolver/test_slot_abi_downgrade.py      |   77 +-
 .../resolver/test_slot_change_without_revbump.py   |   40 +-
 .../resolver/test_slot_operator_autounmask.py      |   40 +-
 .../tests/resolver/test_slot_operator_bdeps.py     |   74 +-
 .../tests/resolver/test_slot_operator_rebuild.py   |   40 +-
 .../tests/resolver/test_slot_operator_unsolved.py  |   41 +-
 lib/portage/tests/resolver/test_useflags.py        |   37 +-
 lib/portage/tests/runTests.py                      |   12 +
 lib/portage/tests/update/test_move_ent.py          |  129 +-
 lib/portage/tests/update/test_move_slot_ent.py     |  139 +-
 lib/portage/tests/update/test_update_dbentry.py    |  182 +-
 lib/portage/util/_urlopen.py                       |    4 +-
 lib/portage/versions.py                            |   16 +
 man/make.conf.5                                    |   80 +
 .../06B3A311BD775C280D22A9305D90EA06352177F6.rev   |   37 +
 .../8DEDA2CDED49C8809287B89D8812797DDF1DD192.rev   |   37 +
 .../273B030399E7BEA66A9AD42216DE7CA17BA5D42E.key   |  Bin 0 -> 2055 bytes
 .../C99796FB85B0C3DF03314A11B5850C51167D6282.key   |  Bin 0 -> 2055 bytes
 repoman/lib/repoman/tests/.gnupg/pubring.kbx       |  Bin 0 -> 2774 bytes
 repoman/lib/repoman/tests/.gnupg/trustdb.gpg       |  Bin 0 -> 1360 bytes
 repoman/lib/repoman/tests/runTests.py              |   10 +
 repoman/setup.py                                   |   12 +-
 setup.py                                           |   14 +-
 88 files changed, 6272 insertions(+), 903 deletions(-)
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-05-28 01:50:37 UTC
Ping glep@. This has been discussed on the ML:
- https://marc.info/?t=163152026700003&r=1&w=2
- https://marc.info/?t=163235107200002&r=1&w=2

It looks like ulm might have had an outstanding question on the ML:
https://marc.info/?l=gentoo-dev&m=163239301330312&w=2
Comment 4 Ulrich Müller gentoo-dev 2022-05-28 07:07:35 UTC
Please attach the update in git-format-patch format.

The version attached here says that it was posted to the mailing list on 2021-10-10 but I cannot find it in our archives. Was it posted?
Comment 5 Sheng Yu 2022-05-28 16:25:17 UTC
I just noticed "[GLEP78] Updating specification r3" that I sent to gentoo-dev did not shows in the mailing list. But I didn't get a bounce notice either.
Comment 6 Sheng Yu 2022-05-28 16:32:50 UTC
Created attachment 781268 [details, diff]
GLEP 78 draft update
Comment 7 Ulrich Müller gentoo-dev 2022-05-28 18:55:34 UTC
Not sure what do to about Post-History, but the current "2018-11-17, 2019-07-08, 2021-10-10" is not accurate. So I'd suggest to drop 2021-10-10 from the list. Add 2021-09-13, 2021-09-22 (when the previous revisions where actually posted) and the current date instead, and re-post r3 to the mailing list.

We also need a Signed-off-by line for the patch, see https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin for details.
Comment 8 Sheng Yu 2022-05-28 19:19:32 UTC
Created attachment 781304 [details, diff]
GLEP 78 draft update

OK, I just updated the Post-History and re-posted it to the mailing list with signature.
Comment 9 Ulrich Müller gentoo-dev 2022-05-28 20:22:13 UTC
Committed to branch glep-0078-update:
https://gitweb.gentoo.org/data/glep.git/commit/?h=glep-0078-update

Pending mailing list review. Submit to Council for approval whenever you think that it is ready.
Comment 10 Ulrich Müller gentoo-dev 2022-05-29 10:14:31 UTC
@mgorny, @Sheng Yu: I also notice that this still has the old footer with CC-BY-SA-3.0. Is it OK to update this to CC-BY-SA-4.0 (see e.g. footer of GLEP 1)?
Comment 11 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2022-05-29 10:17:40 UTC
(In reply to Ulrich Müller from comment #10)
> @mgorny, @Sheng Yu: I also notice that this still has the old footer with
> CC-BY-SA-3.0. Is it OK to update this to CC-BY-SA-4.0 (see e.g. footer of
> GLEP 1)?

ACK from me.
Comment 12 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-14 04:07:22 UTC
Support is in portage-3.0.31+ and GLEP should be submitted to council for approval shortly. I've asked syu to submit it when the next agenda is sent out.
Comment 13 Oskari Pirhonen 2022-07-14 04:27:50 UTC
In the rationale section [1]:

> Arch Linux is using xz-compressed tarballs (suffixed ``.pkg.tar.xz``)
> as its binary package format.

Arch has switched to using zstd (and .pkg.tar.zst) as of a few years ago[2], so should this bit be updated accordingly?

[1]: https://gitweb.gentoo.org/data/glep.git/tree/glep-0078.rst?h=glep-0078-update&id=9e698f27e3d90c3b2bb5e477169f661f82bee0d7#n378
[2]: https://archlinux.org/news/required-update-to-recent-libarchive/
Comment 14 Ulrich Müller gentoo-dev 2022-07-14 07:31:54 UTC
(In reply to Sam James from comment #12)
> Support is in portage-3.0.31+ and GLEP should be submitted to council for
> approval shortly. I've asked syu to submit it when the next agenda is sent
> out.

@mgorny: I believe that we don't have your acknowledgement yet for merging glep-0078-update to master?
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2022-07-14 10:14:12 UTC
I've pushed some typographic fixes to the branch and I think it's ready now.  Overall, this is amazing work.
Comment 16 Larry the Git Cow gentoo-dev 2022-07-14 10:30:07 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/data/glep.git/commit/?id=22ecc72d5b66a765e2d6ed58df26519a90633167

commit 22ecc72d5b66a765e2d6ed58df26519a90633167
Author:     Sheng Yu <syu.os@protonmail.com>
AuthorDate: 2022-05-28 19:06:46 +0000
Commit:     Ulrich Müller <ulm@gentoo.org>
CommitDate: 2022-07-14 10:28:50 +0000

    glep-0078: draft update
    
    Bug: https://bugs.gentoo.org/820578
    Signed-off-by: Sheng Yu <syu.os@protonmail.com>
    Signed-off-by: Ulrich Müller <ulm@gentoo.org>

 glep-0078.rst | 114 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 96 insertions(+), 18 deletions(-)
Comment 17 Ulrich Müller gentoo-dev 2022-07-14 10:33:18 UTC
Closing. Let's proceed with approval of the GLEP in bug 672672.