summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement GLEP 59 with control via layout.conf.Zac Medico2011-10-023-7/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The portage.const changes are derived from an earlier patch that was submitted by Robin H. Johnson <robbat2@gentoo.org>: http://archives.gentoo.org/gentoo-portage-dev/msg_911574e7cb615f67e4c21fc75c043f65.xml This patch has no affect on a repository unless it contains a metadata/layout.conf file which contains boolean flags that enable or disable manifest hash types. The plan is to deploy portage with this patch, and once it has been stabilized, add the following metadata/layout.conf settings to gentoo-x86: manifest-rmd160 = false manifest-sha1 = false manifest-whirlpool = true The above settings will become the default settings in a future portage release, making them redundant and eligible for removal from layout.conf (in order to avoid cluttering layout.conf with obsolete information). Future events: After WHIRLPOOL is supported in stable portage: - Add WHIRLPOOL to MANIFEST2_HASH_DEFAULTS. - Remove SHA1 and RMD160 from MANIFEST2_HASH_*. - Toggle gentoo-x86/metadata/layout.conf settings to match. After WHIRLPOOL is supported in stable portage for at least 1 year: - Change MANIFEST2_REQUIRED_HASH to WHIRLPOOL. - Remove SHA256 from MANIFEST2_HASH_*. - Toggle gentoo-x86/metadata/layout.conf settings to match. After SHA-3 is approved: - Add new hashes to MANIFEST2_HASH_*. After SHA-3 is supported in stable portage: - Toggle gentoo-x86/metadata/layout.conf settings to match. After layout.conf settings correspond to defaults in stable portage: - Remove redundant settings from gentoo-x86/metadata/layout.conf.
* Manifest.create(): tweak assume-digests codeZac Medico2011-10-021-1/+1
| | | | | | If we have a local file, before we assume that we don't need to compute any digests, make sure that the pre-computed digest types are exactly the same types that we desire.
* Manifest.create(): pass allow_* to constructorZac Medico2011-10-021-1/+2
| | | | | This fixes commit f3101b3adce6731790f80f83fafece54b7bd8a63 to ensure that Manifest.create() works correctly.
* Prefer slot conflict over blocker display.Zac Medico2011-10-021-5/+6
| | | | | | | | The slot conflict display has better noise reduction than the unsatisfied blockers display, so skip unsatisfied blockers display if there are slot conflicts (see bug #385391). Note that this reverses the logic from bug 159310, since the slot conflict display has evolved a lot since then.
* print_changelog: if no changelogs, no newlineZac Medico2011-10-021-0/+2
| | | | This will fix bug #385413.
* dblink._elog_process: handle newlines in messagesZac Medico2011-10-021-3/+6
| | | | This will fix bug #385341.
* checksum.py: use fchksum.fmd5t directlyZac Medico2011-10-011-4/+1
|
* checksum.py: lazily import bundled whirlpoolZac Medico2011-10-011-7/+7
|
* Manifest2 hash backend provider: mhashRobin H. Johnson2011-10-011-0/+19
| | | | | | | | | | Offer mhash as a provider for Manifest2 hash generation and validation. This is important as either of pycrypto or fchksum offer an accelerated Whirlpool implementation, and hashlib might not offer it. Additionally, the mhash implementation is accelerated and ships with a rigorious testsuite. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* whirlpool.py: handle xrange for python3Zac Medico2011-10-011-0/+4
|
* Manifest2 hash: SHA512Robin H. Johnson2011-10-011-0/+1
| | | | | | Provide SHA512 hash algorithm to be used as new Manifest2 hash. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* Manifest2 hash: WhirlpoolRobin H. Johnson2011-10-012-2/+794
| | | | | | | Provide public-domain implementation of the Whirlpool hash algorithm to be used as new Manifest2 hash. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* Refactor RMD160 hashlib code for less-hardcodingRobin H. Johnson2011-10-011-9/+12
| | | | | | To be used shortly for WHIRLPOOL as well as RMD160. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* Convert _generate_hash_function into a class.Zac Medico2011-10-011-6/+11
|
* Convert create_color_func into a class.Zac Medico2011-10-011-6/+6
|
* Add tests for KEYWORDS masking.Zac Medico2011-10-012-1/+357
|
* KeywordsManager: support ~* in KEYWORDSZac Medico2011-10-011-6/+10
| | | | | | | | | | | | This allows ~* in KEYWORDS to be match by any unstable keyword in the user's configuration, similar to how * in KEYWORDS already matches any user configuration. Thanks to Daniel Robbins <drobbins@funtoo.org> for the suggestion. Also, the warning about * or -* in KEYWORDS is now gone, so that ebuilds from the funtoo tree will be usable without triggering warnings like this. If necessary, we can add ways to selectively enable these kinds of warnings via layout.conf and/or repos.conf.
* dispatch-conf: fix replace-wscomments patternRyan Hill2011-10-011-1/+1
| | | | This will fix bug #375613.
* repos.conf: implement trust-authoritative-cacheZac Medico2011-09-301-1/+23
| | | | | | | | This controls whether or not the layout.conf "authoritative-cache = true" setting will be trusted for a particular repo. It can be enabled globally by setting "trust-authoritative-cache = true" in the [DEFAULT] section of repos.conf.
* Fix 'authoritative' spelling.Zac Medico2011-09-303-6/+6
|
* layout.conf: allow a repository to state the cache is authorativeBrian Harring2011-09-303-7/+13
| | | | | | | | | | | | | | | | By authorative, this means "the cache is accurate; skip validation". While a useful hint for a slight speedup in validation, the true gain is for repositories that are distributed in a fashion that doesn't preserve mtime; git primarily. Setting authorative-cache = true results in portage skipping mtime validation checks for the bundled cache, allowing for git vcs based repos to distribute a cache. BUG=chromium-os:21049 TEST=dump a cache into metadata/cache, touch it to now, set layout.conf to authorative-cache=true, verify it doesn't generate cache entries for that repo. Change-Id: I92423e679bc171d2411a18d6d3ac22e8ef457753
* depgraph: tweak virtual transition codeZac Medico2011-09-301-5/+5
| | | | | | This fixes a false --binpkg-respect-use warning that's triggered by erroneous USE/IUSE comparison between the new-style virtual and an old-style virtual match.
* depgraph: pull in new-style virtuals moreZac Medico2011-09-303-0/+63
| | | | | | | This causes new-style virtuals to get pulled in for virtuals that are already satisfied by installed old-style virtuals. This case is common, due to PROVIDE being (removed without revision bump) from lots of ebuilds.
* repoman: never force unsigned manifest commitv2.2.0_alpha60Zac Medico2011-09-291-33/+0
| | | | | | | | This removes a special case where manifests would first be commited without signatures for category-level or greater commits. This case behavior wasn't very useful anyway, and would be a problem if the unsigned manifests got rejected by a commit hook (as may happen in the near future).
* tweak "missed updates" code from last commitZac Medico2011-09-281-3/+3
|
* depgraph: verify "missed updates"Zac Medico2011-09-281-0/+4
| | | | | | Since the change involving slot conflict parent atoms in commit 6cea2091526659521d35be6c8dc7733f69f1a760, we want to check to make sure we don't display any false positives in the "missed updates".
* dispatch-conf: tweak pager basename comparisonZac Medico2011-09-281-2/+3
|
* dispatch-conf: support PAGER var for bug #384663Zac Medico2011-09-282-1/+41
|
* etc-update: support PAGER env var for bug #384663Zac Medico2011-09-282-7/+16
|
* archive-conf: dispatch_conf import bug #384665Ruggero Morsucci2011-09-281-1/+1
|
* doebuild: allow_missing_manifests AttributeErrorZac Medico2011-09-281-1/+1
|
* Manifest.write(): tweak unlink logicZac Medico2011-09-271-2/+6
| | | | | | | This narrows the range of possible behaviors, such that the manifest will always be either written or unlinked, eliminating the possiblity that a stale manifest will ever be allowed to slip through without being overwritten or unlinked.
* manifest: controllable per repoBrian Harring2011-09-279-23/+48
| | | | | | | | | | | This adds three states to layout.conf key use-manifest; false, true, and strict. false means "don't use manifests at all" true means "use and generate manifests, but allow them to be missing" strict means "manifests must be used everywhere in this repo" BUG=chromium-os:11308 TEST=repoman manifest usage.
* depgraph: handle unicode exception for bug 384749Zac Medico2011-09-271-2/+3
|
* merge: handle \r in file names for bug #384597Zac Medico2011-09-271-3/+4
|
* porttree.py: remove unused variablesZac Medico2011-09-271-7/+5
|
* Cleanup unused variables / imports reported by pyflakes.David James2011-09-262-4/+1
| | | | Change-Id: I92890279dc69974da94cc9a8a5483ddd295512d4
* tests/emerge: call ebuild(1)Zac Medico2011-09-261-0/+9
|
* portdbapi.xmatch: fix unknown repo / return emptyZac Medico2011-09-241-1/+4
| | | | | We want to return an empty list for the match-* methods, otherwise an empty string.
* portdbapi: deprecate unused 'visible' methodZac Medico2011-09-241-7/+6
|
* portdbapi.xmatch: combine match-all with othersZac Medico2011-09-241-22/+3
| | | | This eliminates redundant code.
* portdbapi.xmatch: combine minimum-all/*-visibleZac Medico2011-09-241-25/+4
| | | | This eliminates redundant code.
* portdbapi.xmatch: combine *-visible codeZac Medico2011-09-241-13/+17
| | | | | This allows match-visible to avoid calling match-all, which allows it to avoid an extra loop over all repos.
* portdbapi.xmatch: optimize minimum-visibleZac Medico2011-09-242-11/+5
| | | | | | Also, make repoman cache IUSE, since that's required for _match_use to work effciently. This will eliminate lots of redundant aux_get calls for repoman, triggered by USE deps.
* dbapi: split _match_use from _iter_match_useZac Medico2011-09-241-47/+53
|
* portdbapi: tweak single-tree optimizationZac Medico2011-09-241-8/+21
| | | | | This optimizes aux_get and cp_list for cases where we only have a single tree, which is common for repoman and ebuild(1).
* portdbapi.xmatch: use _visible moreZac Medico2011-09-241-21/+4
|
* Invalidate 'no-herd', there will be no special herds.Michał Górny2011-09-241-4/+0
|
* portdbapi: split _visible from _iter_visibleZac Medico2011-09-241-33/+35
|
* portdbapi: move repo loop to _iter_visibleZac Medico2011-09-241-58/+65
| | | | | | This allows use to avoid using a set to eliminate duplicates, since we can break out of the repo loop as soon as a given cpv is found to be visible.