| « Graphics shuffle | Benchmarks: gtk+ engines » |
December public service announcement
For all the forumites, bloggers, wikifolks, mailing list members, bugzilla commenters, and general Gentoo netizens:
Please stop spreading bad advice such as ebuild foo digest. It does not exist. Digests have not been present in the Portage tree for a year, ever since the tree was converted to Manifest2 format.
If you've made a local modification to an ebuild, patch, or added anything else to your local overlay and need to make Portage aware of the changes so the package can be properly merged, do not use the "digest" command. Use "manifest" instead. For example:
ebuild foo-1.0.17.ebuild manifest
Digests have been dead for a long time. Please don't encourage bad practices.
This has been a December public service announcement. Thank you for flying Gentoo Air, and please enjoy the rest of your Christmas!
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
10 comments
The digest command is even valid according to the man page:
digest This is now equivalent to the manifest command.
Personally, since it does exactly what people want it to do and is, according to the documentation, a valid command, I don't see how it can be considered a "bad practice" - bad practices are usually things which don't do what people want or are at the very least deprecated (which this command is not marked as)
Also, what manpage are you reading? Here's what I have in "man ebuild", for Portage 2.1.4.5:
digest: Creates a digest file for the package in /usr/portage/[category]/[package]/files/. This digest file lists the checksums of all the files found in the SRC_URI. See the --force option if you would like to prevent digests from being assumed. For further information regarding the behavior of this command, see the documentation for the assume-digests value of the FEATURES variable in make.conf(5).
manifest: Updates the manifest file for the package. This performs the second half of the digest command, creating md5sums for the files in the files directory as well as the ebuild.
I'll go as far as to argue the lexicon. By digesting (processing, summarizing, etc.) you build a manifest(a proof, list,etc.). Either or make sense still.
In fact, the biggest bother (even with tab completion) is that ebuild takes the full path.
ebuild /full/path/to/cat-egory/pkg/pkg-x.y-rz.ebuild manifest
becomes something like (with * indicating tab):
"eb* /f*pa*t*ca*eg*/pk*/p*y* ma*"
Clearly, the path is much more trouble than the ma* bit.
This of course does require the gentoo-bashcomp package and that it is enabled for completion either system-wise or for your particular user, but surely, anyone worried about typing a few extra chars either already has that merged and enabled or is using a similar solution of their own design.