View previous topic :: View next topic |
Author |
Message |
curmudgeon Veteran
Joined: 08 Aug 2003 Posts: 1741
|
Posted: Fri Mar 09, 2007 9:01 am Post subject: VERY undesirable change in portage behavior :( |
|
|
I maintain an extensive list of ebuilds in /usr/local/portage.
After editing one, I run the command "ebuild foo-1.2.3.ebuild digest" to generate the Manifest and digest for the ebuild.
This USED to work fine (without any problems), but now (after a recent portage upgrade), this command generates a rebuild of the digests for ALL versions of foo.
In particular, this will start downloading the source for all versions of foo. Much of the time I have already moved the source to other machines (where I might need the ebuild), or possibly even deleted it (wanting to keep an old ebuild as a record or template of the modifications I have made). I absolutely NEVER want to download source code to this machine again (I always have the required files to satisfy the requirements for the ebuild for the version given in the ebuild command).
If I issue a command that says I want a digest for a particular version of foo, it means that I want a digest for that version of foo - not one for EVERY version of foo.
I hope someone knows a workaround for this. I absolutely can not tolerate this behavior, and will downgrade portage to the last version without this "feature" if I can't find a way of restricting the ebuild command to the version given. |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9523 Location: beyond the rim
|
Posted: Fri Mar 09, 2007 10:18 am Post subject: |
|
|
This is due to a change in the checksum system as we now require SHA1 instead of MD5. There is no workaround for that (actually that it worked between 2.1 and 2.1.2-r9 was a bug that got fixed recently) |
|
Back to top |
|
|
curmudgeon Veteran
Joined: 08 Aug 2003 Posts: 1741
|
Posted: Fri Mar 09, 2007 10:43 am Post subject: |
|
|
Genone wrote: | This is due to a change in the checksum system as we now require SHA1 instead of MD5. |
The old digest files already have SHA256 (as well as RMD160) hashes in addition to MD5. No reason exists to recompute them. |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9523 Location: beyond the rim
|
Posted: Fri Mar 09, 2007 10:46 am Post subject: |
|
|
curmudgeon wrote: | Genone wrote: | This is due to a change in the checksum system as we now require SHA1 instead of MD5. |
The old digest files already have SHA256 (as well as RMD160) hashes in addition to MD5. No reason exists to recompute them. |
SHA1 != SHA256, see GLEP 44 for details. |
|
Back to top |
|
|
curmudgeon Veteran
Joined: 08 Aug 2003 Posts: 1741
|
Posted: Fri Mar 09, 2007 11:43 am Post subject: |
|
|
Genone wrote: | SHA1 != SHA256, see GLEP 44 for details. |
I did know that (but I couldn't find SHA1 in the digest files, which I assumed incorrectly would have them).
This looks like a another reasonable idea with a completely bizarre implementation.
I did find a way around this (though it seems to me that portage should NOT allow this to happen).
For a real life example:
Code: | # echo 'DIST ImageMagick-6.2.9-5.tar.bz2 0 SHA1 0000000000000000000000000000000000000000' > /usr/local/portage/media-gfx/imagemagick/Manifest
# ebuild /usr/local/portage/media-gfx/imagemagick/imagemagick-6.3.0.5-r1.ebuild digest
>>> Creating Manifest for /usr/local/portage/media-gfx/imagemagick
digest.assumed 1
digest-imagemagick-6.2.9.5::ImageMagick-6.2.9-5.tar.bz2
# grep 'DIST ImageMagick-6.2.9-5.tar.bz2' /usr/local/portage/media-gfx/imagemagick/Manifest
DIST ImageMagick-6.2.9-5.tar.bz2 5378476 RMD160 58a199b5af7e62a75471a72885f9c8baed43b248 SHA1 0000000000000000000000000000000000000000 SHA256 e0f096ec7939ffc9ac5a7750c9cf6eac4854de7dbf9e7bac8ecec9a66da8cc05 |
Well, what do you know? Portage manages to (apparently) cough up the correct length, RMD160 hash, and SHA256 hash for the missing file, but leaves the SHA1 has as zeros. That actually seems worse than useless to me, but what do I know? - I'm just a stupid user. |
|
Back to top |
|
|
|