Lately, I've been seeing a lot of these where I used to never see them:
Code: Select all
!!! Digest verification failed:
!!! /usr/portage/media-video/ffmpeg/ChangeLog
!!! Reason: Filesize does not match recorded size
!!! Got: 5765
!!! Expected: 5295Code: Select all
!!! Digest verification failed:
!!! /usr/portage/kde-plasma/polkit-kde-agent/ChangeLog
!!! Reason: Filesize does not match recorded size
!!! Got: 3888
!!! Expected: 3690Code: Select all
!!! Digest verification failed:
!!! /usr/portage/media-libs/libvpx/ChangeLog
!!! Reason: Filesize does not match recorded size
!!! Got: 3643
!!! Expected: 3420Code: Select all
emaint --auto syncCode: Select all
emerge -f packageThis one has me stumped:
Code: Select all
# emerge -1f =sys-apps/busybox-1.24.1
Calculating dependencies... done!
>>> Fetching (1 of 1) sys-apps/busybox-1.24.1::gentoo
!!! Digest verification failed:
!!! /usr/portage/sys-apps/busybox/busybox-9999.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 8493
!!! Expected: 8580Moreover, if I'm manually fetrching a specific version of a package I want, why is it checking the 9999 version? Though I suspect that last may be the size of the actual 9999 ebuild, not size of the git pulled 9999 package.
I can manually force create an ebuild manifest, but this is not something I want to be doing on a regular basis.
Anyone else having similar problems? or can shed some light on this?
edit -- 8 hours after initial post
From other people's comments, I'm actually happy to see I'm not the only one experiencing this issue.
Several points I gleaned from other peoples comments:
- The main problem (Changelog) is caused by asynchronous updates to package changelogs (process takes longer than portage tree sync interval) as per
comment below.mv wrote:There are currently problems, beacuse the initial updating of ChangeLogs takes longer than the sync interval.
This will presumably no longer be an issue in a few days. - There appears to be a secondary problem of the same type [asynchronous tree updates] involving upstream trunk {9999} type ebuilds with 'busybox' being the prime example.
- There may be a third similar problem but I can't find the example I thought I had. For now, I will assume there are only two of these types of issues with the portage tree but suggest people keep their eyes open for similar failures but not 'Changelog' nor '9999' ebuilds.
- You can work around both problems by forcing your local package digest for the problem package to be re-created. This can have serious secutiry implications and I do not recommend doing this if at all possible. Since the more common 'Changelog' problem can be solved simply by re-pulling the tree, this represents the more secure work-around.
Code: Select all
ebuild /usr/portage/sys-apps/busybox/busybox-9999.ebuild manifestI'd like to repeat and warn. There are security implications to overriding a package digest. The digest is there to assure you that no one has substituted a malicious package in place of the expected/desired package. Do not, repeat, NOT override package digests without having an excellent and well understood reason for doing so. This is because all files for that package in the portage tree will recieve new digests. This means all versions of the package ebuilds, any included patches and all other ancillary files for that package.
Executing my example above:
Code: Select all
# emerge -f =sys-apps/busybox-1.24.1
Calculating dependencies... done!
>>> Fetching (1 of 1) sys-apps/busybox-1.24.1::gentoo
!!! Digest verification failed:
!!! /usr/portage/sys-apps/busybox/busybox-9999.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 8493
!!! Expected: 8580
>>> Failed to emerge sys-apps/busybox-1.24.1Code: Select all
# ebuild /usr/portage/sys-apps/busybox/busybox-9999.ebuild manifest
>>> Creating Manifest for /usr/portage/sys-apps/busyboxCode: Select all
# emerge -f =sys-apps/busybox-1.24.1
Calculating dependencies... done!
>>> Fetching (1 of 1) sys-apps/busybox-1.24.1::gentoo
>>> Downloading 'http://distfiles.gentoo.org/distfiles/busybox-1.24.1.tar.bz2'
--2015-11-13 22:41:25-- http://distfiles.gentoo.org/distfiles/busybox-1.24.1.tar.bz2
Resolving distfiles.gentoo.org... 137.226.34.42, 216.165.129.135, 64.50.236.52, ...
Connecting to distfiles.gentoo.org|137.226.34.42|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2068803 (2.0M) [application/octet-stream]
Saving to: ‘/usr/portage/distfiles/busybox-1.24.1.tar.bz2’
/usr/portage/distfiles/busybox-1.24.1. 100%[=============================================================================>] 1.97M 1.46MB/s in 1.3s
2015-11-13 22:41:27 (1.46 MB/s) - ‘/usr/portage/distfiles/busybox-1.24.1.tar.bz2’ saved [2068803/2068803]
* busybox-1.24.1.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]While the 'changelog' issue seems to be resolved, the '-9999' bad manifest for sys-apps/busybox remains.
Until this is fixed, I'm running my --sync command like this:
Code: Select all
date && time emaint --auto sync && time eix-update && date && ebuild /usr/portage/sys-apps/busybox/busybox-9999.ebuild manifestedit - November 15 ~ 530PM EST
The gentoo bug to follow is 565694
As I read the bug and comments, my interpretation is that the problem is in the automated script{s} used to update the public servers and the problem is not security related.
Disclaimer: I'm not a developer. I'm not related to or part of any gentoo team. I am not a gentoo developer. I could easily be wrong.
Reminder: The manifest is part of Gentoo's security scheme to ensure that no one has inserted a {possibly malicious} package from unknown sources into the protage tree. It is up to you and it is your responsibility to decide if any of the work arounds mentioned here can be performed on your system{s}.
final edit - November 15 ~ 8:00PM EST
As per the above bug, the request was to re-sync to the portage tree after 0:00 UTC Nov 16 and see if the problem was resolved. I re-pulled the portage tree ~ 1:00 UTC {8:00pm EST Nov 15} and can verify that the problem seems resolved. Thank you infr-structure team!
If you think you still have a problem please be sure to perform a --sync now and check again:
Code: Select all
emaint --auto syncIf this is the case for you {still not 'fixed'} you may want to wait one day before trying again. If it's still not fixed for you then I suggest you read the above bug, check the information the devs are asking for and post that in a comment for them. They're basically asking for --sync timestamp information and copies of the actual manifest record{s} you ended up with.
But really wait one day first to give your "local" public server a chance to be synced with the master server.







