Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 169500

Summary: re-adding an ebuild that's in the Attic causes repoman to generate a broken Manifest
Product: Portage Development Reporter: Zac Medico <zmedico>
Component: RepomanAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 181949, 187293    
Attachments: automatically detect "/Attic/" in the $Header path and correct it

Description Zac Medico gentoo-dev 2007-03-05 20:44:37 UTC
This problem seems to have plagued us for a very long time and I've finally gotten around to studying it.  The root of the problem is that when an ebuild is re-added to cvs after being removed (it still exists in the Attic), cvs updates the header on the client side with an erroneous "Attic/" element in the ebuild path.  Subsequent checkouts of the ebuild will not have the erroneous "Attic/" element in the header.  Since repoman then generates the Manifest using the client side ebuild (with corrupt header), the Manifest is broken.  The telltale signature for this problem is an ebuild having a size that is exactly 6 bytes smaller than that recorded in the Manifest (6 bytes is the number of characters in "Attic/").

It seems like the ideal solution would be to patch cvs so that it correctly updates the client side header after the commit.  If necessary, a workaround can be added to repoman itself, but that would be suboptimal.
Comment 1 Zac Medico gentoo-dev 2007-03-06 20:50:29 UTC
Another issue which might be similar to this is that initial cvs imports frequently seem to result in broken Manifests.  I've observed this today with the initial import of x11-themes/qtcurve:

!!! Digest verification failed:
!!! /home/gmirror/gentoo-x86/x11-themes/qtcurve/qtcurve-0.46.4.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 701
!!! Expected: 598

In this case the size if off by 103 bytes which is approximately the size that the path in the header should be (perhaps cvs doesn't insert the path into the header for an initial import like this).
Comment 2 Zac Medico gentoo-dev 2007-03-07 07:20:07 UTC
(In reply to comment #1)
> Another issue which might be similar to this is that initial cvs imports
> frequently seem to result in broken Manifests.  I've observed this today with
> the initial import of x11-themes/qtcurve:

Nevermind the above.  The x11-themes/qtcurve Manifest was not committed by repoman.
Comment 3 Zac Medico gentoo-dev 2007-07-21 11:40:54 UTC
Created attachment 125543 [details, diff]
automatically detect "/Attic/" in the $Header path and correct it

This is fixed in svn r7341.
Comment 4 Zac Medico gentoo-dev 2007-07-22 22:54:31 UTC
This has been released in 2.1.3_rc9.