Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 656698 - app-portage/repoman-2.3.9: Repoman updates copyright headers after creating Manifest during commit
Summary: app-portage/repoman-2.3.9: Repoman updates copyright headers after creating M...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Repoman (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: Bug, InVCS
Depends on:
Blocks: 666776
  Show dependency tree
 
Reported: 2018-05-27 16:06 UTC by konsolebox
Modified: 2018-11-04 00:31 UTC (History)
1 user (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 konsolebox 2018-05-27 16:06:50 UTC
This causes wrong checksums / verification failures.

Reproducible: Always

Steps to Reproduce:
1. Copy an ebuild from last year to a new ebuild that targets a new version.
2. Update necessary stuff in the new ebuild besides the copyright header, then run 'repoman commit'.
3. Merge the new ebuild with 'ebuild'. Or maybe just run 'repoman'.
Actual Results:  
* Digest verification failed:
* ...
* Reason: Failed on BLAKE2B verification
* Got: 1b9a64d97924c1c61d2015c1561332812a4d843da03e38e66698540743a81101bfbd96f92ffd3f448d6bd7f22cd04f8c485d0d8ad156786486690fde7c7f2f66
* Expected: 5a33d2b8d312a121a9e8092df209ceef6941c14f5be011a395faae293c379fb8887532eb62fc9840af8731ac9981663fdf567a7534caab91317ccb7d1fd824ee
Comment 1 Zac Medico gentoo-dev 2018-05-27 18:56:09 UTC
It calls the update_copyright function here:

https://gitweb.gentoo.org/proj/portage.git/tree/repoman/pym/repoman/actions.py?h=repoman-2.3.9#n157

When needs_keyword_expansion is False it skips the thick_manifest call here:

https://gitweb.gentoo.org/proj/portage.git/tree/repoman/pym/repoman/actions.py?h=repoman-2.3.9#n173

It calls digest_regen unconditionally here:

https://gitweb.gentoo.org/proj/portage.git/tree/repoman/pym/repoman/actions.py?h=repoman-2.3.9#n209

However, the digest_regen implementation for git does nothing unless changelog generation is enabled, since it relies on the broken_changelog_manifests variable:

https://gitweb.gentoo.org/proj/portage.git/tree/repoman/pym/repoman/modules/vcs/git/changes.py?h=repoman-2.3.9#n67
Comment 2 Manuel Mommertz 2018-09-18 04:42:03 UTC
So what is the plan with this? I just was hit by this. It is annoying when repoman gives you this nice warm feeling when it says: "If everyone were like you, I'd be out of business!" Just to laugh at you behind your back 'cause it broke the manifest again without you noticing.
Comment 3 Zac Medico gentoo-dev 2018-09-19 17:07:55 UTC
I'd like to get this fixed for the next repoman release.
Comment 5 Larry the Git Cow gentoo-dev 2018-09-22 09:44:48 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=4ff4e4200b984a88109b10de9e82b20451751aee

commit 4ff4e4200b984a88109b10de9e82b20451751aee
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2018-09-20 20:35:42 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2018-09-22 08:23:14 +0000

    repoman: regen thick manifest after copyright update (bug 656698)
    
    Bug: https://bugs.gentoo.org/656698

 repoman/lib/repoman/actions.py    | 40 ++++++++++++++++++++++++++++++++++++++-
 repoman/lib/repoman/copyrights.py | 10 ++++++++++
 2 files changed, 49 insertions(+), 1 deletion(-)
Comment 6 Zac Medico gentoo-dev 2018-09-22 09:47:28 UTC
Please test with repoman-2.3.11 which includes the fix.