Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 380443 - Store checksums of uncompressed versions of distfiles aside with the checksums of the compressed versions
Summary: Store checksums of uncompressed versions of distfiles aside with the checksum...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All All
: Normal enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 240187
  Show dependency tree
 
Reported: 2011-08-24 07:42 UTC by Bodo Thiesen
Modified: 2012-12-25 09:23 UTC (History)
2 users (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 Bodo Thiesen 2011-08-24 07:42:37 UTC
Currently the Manifest files only store the checksums of the compressed versions of the distfiles. As long as users just download the original archives from distfiles.gentoo.org (or other sources, which provide the same files) this is not really a problem. But since the existance of the dynamic deltup network, it could be very useful, to have the checksums of the uncompressed together with a configuration variable to instruct portage to check the uncompressed file instead of the compressed one. This way, the work around of having bzip2-1.0.2 and bzip2-1.0.3 installed can be dropped. Also, it happens that different lzma implementations (including different versions of the same packages) create different files (which obviously means different checksums).

The Manifest file could store the checksums of the uncompressed distfiles as UDIST entry and if that entry is missing, the checkdums of the compressed version is used instead. The configuration option could be the FEATURE "check-uncompressed" with having it switched off by default (users of the dynamic deltup network will then be instructed to switch it on, other users may switch it on as well for other reasons).

Additionally, this feature could be a prearrangement to allow a user to recompress his *.gz or *.bz2 files in $DISTFILES to *.lzma without changing the ebuilds - however that may be discussed at another time ;)

BTW: I'm willing to volunteer to implement this change, if it's consensus among the portage maintainers to get a working patch included in one of the next releases of portage.

Reproducible: Always
Comment 1 Zac Medico gentoo-dev 2011-08-24 20:02:29 UTC
There was a related summer of code project this summer:

  http://dev.gentoo.org/~rafaelmartins/distpatch/
Comment 2 Ulrich Müller gentoo-dev 2011-08-24 20:35:54 UTC
PMS doesn't say anything about the format of Manifest files.
Reassigning to bug-wranglers.
Comment 3 Zac Medico gentoo-dev 2011-08-24 20:41:28 UTC
It seems odd that PMS doesn't cover the manifest format.
Comment 4 Zac Medico gentoo-dev 2011-08-24 20:50:01 UTC
@Rafael: What do you think about including uncompressed checksums in manifests?
Comment 5 SpanKY gentoo-dev 2011-08-24 20:58:54 UTC
Manifest2 was done as a GLEP:
http://www.gentoo.org/proj/en/glep/glep-0044.html

if other PM's dont care, then we should rip out the relevant parts from the GLEP and into a spec we keep with portage so that things stay clear
Comment 6 Rafael Martins (RETIRED) gentoo-dev 2011-08-27 23:30:20 UTC
(In reply to comment #4)
> @Rafael: What do you think about including uncompressed checksums in manifests?

This would heavily reduce the amount of hacks needed to make distpatch works with portage and other package managers, if they also implement uncompressed checksums for manifests. And would reduce ~70% of the delta.db size, splitting part of his content in minor files (the Manifests itself) and avoiding us to have a single point of failure, making the distribution easier, at least for distpatch, not sure about other downsides.
Comment 7 Zac Medico gentoo-dev 2011-11-02 07:18:11 UTC
We could use metadata/layout.conf to specify that the manifests should contain digests of uncompressed distfiles, similar to the manifest-hashes setting that we're using to roll out GLEP 59.