Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 878105 - sys-apps/portage-3.0.38.1-r1 creates non compliant Manifest files with --digest option
Summary: sys-apps/portage-3.0.38.1-r1 creates non compliant Manifest files with --dige...
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-10-23 16:13 UTC by Pacho Ramos
Modified: 2022-10-23 20:00 UTC (History)
0 users

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 Pacho Ramos gentoo-dev 2022-10-23 16:13:57 UTC
When running emerge --digest "a new package", it will create a Manifest file but that file is not compliant (as it also includes ebuild and patches) and will be rejected later if trying to push it:
remote: FATAL: VREF/proj-gentoo-05-manifest: helper program exit status 256
remote: Thin Manifests can contain only DIST lines!

IMHO, portage should by default create Manifest files compliant with Gentoo repo policies 

Thanks a lot
Comment 1 John Helmert III archtester Gentoo Infrastructure gentoo-dev Security 2022-10-23 16:20:06 UTC
In general it's best to use dev-util/pkgdev for generating manifests; I wasn't even aware `emerge` was capable of doing it.

Given there's better tooling for it, maybe we should just remove `emerge --digest`?

The manpage even still references repoman as being the proper way to generate Manifests:

       --digest
              Prevent corruption from being noticed. The `repoman manifest` command is the preferred way to generate manifests and it is capable of doing an entire repository or category at once (see repoman(1)).
Comment 2 Pacho Ramos gentoo-dev 2022-10-23 16:30:32 UTC
I guess it is probably doing the right thing as it seems also pkgdev creates the complete Manifest when run out of the git tree. I guess I will need to get used to regenerate the Manifest two times: first time to allow it to be merged and used (as I usually get this when I start working on a new package), a second time when going to commit the package (instead of simply copying the files I was using during the testing)
Comment 3 Mike Gilbert gentoo-dev 2022-10-23 17:08:55 UTC
I am unable to reproduce the issue. emerge --digest creates a thin manifest here.

Are you running emerge --digest in a repo that does not have the "thin-manifests" option set in metadata/layout.conf?
Comment 4 Mike Gilbert gentoo-dev 2022-10-23 17:49:10 UTC
If you are doing development work in a separate repository, you need to set up that repository correctly.
Comment 5 Pacho Ramos gentoo-dev 2022-10-23 20:00:38 UTC
OK, thanks for the tip!