From 04cdd7c9ecb92caacada00d78d80a9b159d7390c Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 15 Jun 2010 10:53:36 -0700 Subject: 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. --- bin/repoman | 5 +++++ pym/repoman/checks.py | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) 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) -- cgit v1.2.3-1-g7c22