From: Zac Medico Date: Tue, 15 Jun 2010 17:53:36 +0000 (-0700) Subject: Bug #324075 - Avoid erroneous 'Invalid Gentoo Copyright' warnings when X-Git-Tag: v2.2_rc68~550 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=04cdd7c9ecb92caacada00d78d80a9b159d7390c;p=portage.git Bug #324075 - Avoid erroneous 'Invalid Gentoo Copyright' warnings when the vcs (git) does not support mtime preservation. Also, fix the same check to work for ebuilds wiht copyrigh beginning in 2011 and later. --- diff --git a/bin/repoman b/bin/repoman index 14d442dc7..6124f0408 100755 --- a/bin/repoman +++ b/bin/repoman @@ -494,6 +494,9 @@ elif os.path.isdir(os.path.join(portdir_overlay, ".hg")): # This is needed because we try to avoid merge collisions. check_changelog = vcs in ('CVS', 'SVN') +# Disable copyright/mtime check if vcs does not preserve mtime (bug #324075). +check_copyright_mtime = vcs not in ('git',) + vcs_local_opts = repoman_settings.get("REPOMAN_VCS_LOCAL_OPTS", "").split() vcs_global_opts = repoman_settings.get("REPOMAN_VCS_GLOBAL_OPTS") if vcs_global_opts is None: @@ -1769,6 +1772,8 @@ for x in scanlist: # Syntax Checks relative_path = os.path.join(x, y + ".ebuild") full_path = os.path.join(repodir, relative_path) + if not check_copyright_mtime: + pkg.mtime = None try: # All ebuilds should have utf_8 encoding. f = codecs.open(_unicode_encode(full_path, diff --git a/pym/repoman/checks.py b/pym/repoman/checks.py index 23f1267d9..4d12b07fd 100644 --- a/pym/repoman/checks.py +++ b/pym/repoman/checks.py @@ -67,14 +67,17 @@ class EbuildHeader(LineCheck): repoman_check_name = 'ebuild.badheader' - gentoo_copyright = r'^# Copyright ((1999|200\d)-)?%s Gentoo Foundation$' + gentoo_copyright = r'^# Copyright ((1999|2\d\d\d)-)?%s Gentoo Foundation$' # Why a regex here, use a string match # gentoo_license = re.compile(r'^# Distributed under the terms of the GNU General Public License v2$') gentoo_license = r'# Distributed under the terms of the GNU General Public License v2' cvs_header = re.compile(r'^#\s*\$Header.*\$$') def new(self, pkg): - self.modification_year = str(time.gmtime(pkg.mtime)[0]) + if pkg.mtime is None: + self.modification_year = r'2\d\d\d' + else: + self.modification_year = str(time.gmtime(pkg.mtime)[0]) self.gentoo_copyright_re = re.compile( self.gentoo_copyright % self.modification_year)