repoman: get default to update changelog from layout.conf
authorFabian Groffen <grobian@gentoo.org>
Thu, 20 Oct 2011 16:58:04 +0000 (18:58 +0200)
committerFabian Groffen <grobian@gentoo.org>
Thu, 20 Oct 2011 16:58:04 +0000 (18:58 +0200)
Updating the ChangeLog file may be desirable in more repos than just the
one named 'gentoo', like e.g. the Prefix one.  Hence, make this default
configurable though metadata/layout.conf.

This commit must go accompanied by a commit to
gentoo-x86/metadata/layout.conf that adds the following bit:

# Bug #337853 - gentoo's council says to enable
# --echangelog by default for the "gentoo" repo
update-changelog = true

bin/repoman
pym/portage/repository/config.py

index 4966d22c823d8892bad0d153818faeedfe7447ef..bec3b1e015a6f8efc26835eccb1600673e196cc7 100755 (executable)
@@ -637,10 +637,7 @@ if "commit" == options.mode and \
                print(prefix + line)
        sys.exit(1)
 
-if options.echangelog is None and \
-       repo_config.name == "gentoo":
-       # Bug #337853 - gentoo's council says to enable
-       # --echangelog by default for the "gentoo" repo
+if options.echangelog is None and repo_config.update_changelog:
        options.echangelog = 'y'
 
 if vcs is None:
index 12829c33b2a60b7e901b02096712ce38974582df..fddba6cf4537e72baf250d329dbcc7dad88758a4 100644 (file)
@@ -48,7 +48,7 @@ class RepoConfig(object):
                'eclass_overrides', 'eclass_locations', 'format', 'location',
                'main_repo', 'manifest_hashes', 'masters', 'missing_repo_name',
                'name', 'priority', 'sign_manifest', 'sync', 'thin_manifest',
-               'user_location')
+               'update_changelog', 'user_location')
 
        def __init__(self, name, repo_opts):
                """Build a RepoConfig with options in repo_opts
@@ -126,6 +126,7 @@ class RepoConfig(object):
                self.create_manifest = True
                self.disable_manifest = False
                self.manifest_hashes = None
+               self.update_changelog = False
                self.cache_format = None
 
        def get_pregenerated_cache(self, auxdbkeys, readonly=True, force=False):
@@ -431,6 +432,9 @@ class RepoConfigLoader(object):
                                                DeprecationWarning)
                        repo.manifest_hashes = manifest_hashes
 
+                       if layout_data.get('update-changelog', '').lower() == 'true':
+                               repo.update_changelog = True
+
                #Take aliases into account.
                new_prepos = {}
                for repo_name, repo in prepos.items():