Steve Long wrote: > Danny van Dyk wrote: >>> In practice I find it's rare that a user has been hacking around in >>> the eclasses. All the SHA1 tells you is that it's not the most >>> recent, but it's not easy to determine from the SHA1 exactly which >>> version they do have (so it's not enough to determine what's >>> different). >>> >>> Having said that, the most accurate way to find out what they have is >>> to get them to attach the eclass and diff it yourself. However >>> relying on the SHA1 also means you can't just say things like, "Check >>> eclass <blah> is version 1.836 (look at the "$Header" line at the top >>> of the file)." >> In the case of GIT you can just use 'git diff SHA1SUM' to see what has >> changed or 'git log SHA1SUM..HEAD' to show a list of revisions in >> between. So _if_ we changed to git, this would be no problem as long as >> every user has sha1sum installed [which is part of coreutils]. >> > Well since that appears to be some way off, is there any way to get the > needed functionality (version string inside ebuild) without a double > commit? (Did i read that right?) I'm thinking at worst someone might have > to add something to repoman, or a hook on the server end. > Not really, the Manifest needs to checksum the ebuild, and the ebuild will be updated as it is commited. A server side hook would at a minimum be able to checksum files and generate manifest entries; I doubt it's even possible to do though (most pre-commit scripts don't let you touch the files being commited, although I'm no expert on CVS).
Current Scenario: Commit Ebuild Checksum ebuild Commit Manifest The worst part is that for those crazy people who want the entire tree signed: Commit ebuild Checksum ebuild Commit Package Manifest Checksum Package Manifest Commit Category Manifest Checksum Category Manifest Commit Tree-wide Manifest Checksum Tree-Wide Manifest and put it somewhere as a verification of the entire tree at time T. Notice now there are 4 commits instead of two, because each commit in sequence requires the $header$ to be updated (which in itself requires a commit). Yay! -Alec -- [EMAIL PROTECTED] mailing list