Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 169500 - re-adding an ebuild that's in the Attic causes repoman to generate a broken Manifest
Summary: re-adding an ebuild that's in the Attic causes repoman to generate a broken M...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Repoman (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 181949 187293
  Show dependency tree
 
Reported: 2007-03-05 20:44 UTC by Zac Medico
Modified: 2007-07-22 22:54 UTC (History)
0 users

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


Attachments
automatically detect "/Attic/" in the $Header path and correct it (attic.patch,1.01 KB, patch)
2007-07-21 11:40 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.