Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 528394
Collapse All | Expand All

(-)a/lib/portage/dbapi/porttree.py (-2 / +3 lines)
Lines 616-622 class portdbapi(dbapi): Link Here
616
        if ro_auxdb is not None:
616
        if ro_auxdb is not None:
617
            auxdbs.append(ro_auxdb)
617
            auxdbs.append(ro_auxdb)
618
        auxdbs.append(self.auxdb[repo_path])
618
        auxdbs.append(self.auxdb[repo_path])
619
        eclass_db = self.repositories.get_repo_for_location(repo_path).eclass_db
619
        repo = self.repositories.get_repo_for_location(repo_path)
620
        eclass_db = repo.eclass_db
620
621
621
        for auxdb in auxdbs:
622
        for auxdb in auxdbs:
622
            try:
623
            try:
Lines 639-645 class portdbapi(dbapi): Link Here
639
                # EAPI from _parse_eapi_ebuild_head, we disregard cache entries
640
                # EAPI from _parse_eapi_ebuild_head, we disregard cache entries
640
                # for unsupported EAPIs.
641
                # for unsupported EAPIs.
641
                continue
642
                continue
642
            if auxdb.validate_entry(metadata, ebuild_hash, eclass_db):
643
            if repo.immutable or auxdb.validate_entry(metadata, ebuild_hash, eclass_db):
643
                break
644
                break
644
        else:
645
        else:
645
            metadata = None
646
            metadata = None
(-)a/lib/portage/repository/config.py (-1 / +7 lines)
Lines 120-125 class RepoConfig: Link Here
120
        "find_invalid_path_char",
120
        "find_invalid_path_char",
121
        "force",
121
        "force",
122
        "format",
122
        "format",
123
        "immutable",
123
        "local_config",
124
        "local_config",
124
        "location",
125
        "location",
125
        "main_repo",
126
        "main_repo",
Lines 200-205 class RepoConfig: Link Here
200
        self.eclass_db = None
201
        self.eclass_db = None
201
        self.eclass_locations = None
202
        self.eclass_locations = None
202
203
204
        self.immutable = repo_opts.get("immutable", "false").lower() in ("true", "yes")
205
203
        if local_config or "masters" in force:
206
        if local_config or "masters" in force:
204
            # Masters from repos.conf override layout.conf.
207
            # Masters from repos.conf override layout.conf.
205
            masters = repo_opts.get("masters")
208
            masters = repo_opts.get("masters")
Lines 660-665 class RepoConfigLoader: Link Here
660
                    if repos_conf_opts is not None:
663
                    if repos_conf_opts is not None:
661
                        # Selectively copy only the attributes which
664
                        # Selectively copy only the attributes which
662
                        # repos.conf is allowed to override.
665
                        # repos.conf is allowed to override.
666
                        # 'immutable' is intentionally not here as
667
                        # the use case for this is local modifications for development
668
                        # and we can't assume people are generating metadata for each change.
663
                        for k in (
669
                        for k in (
664
                            "aliases",
670
                            "aliases",
665
                            "auto_sync",
671
                            "auto_sync",
Lines 1211-1216 class RepoConfigLoader: Link Here
1211
1217
1212
    def config_string(self):
1218
    def config_string(self):
1213
        bool_keys = (
1219
        bool_keys = (
1220
            "immutable",
1214
            "strict_misc_digests",
1221
            "strict_misc_digests",
1215
            "sync_allow_hardlinks",
1222
            "sync_allow_hardlinks",
1216
            "sync_openpgp_key_refresh",
1223
            "sync_openpgp_key_refresh",
1217
- 

Return to bug 528394