aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'repoman/lib/repoman/modules/scan/directories/mtime.py')
-rw-r--r--repoman/lib/repoman/modules/scan/directories/mtime.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/repoman/lib/repoman/modules/scan/directories/mtime.py b/repoman/lib/repoman/modules/scan/directories/mtime.py
new file mode 100644
index 000000000..134a86b80
--- /dev/null
+++ b/repoman/lib/repoman/modules/scan/directories/mtime.py
@@ -0,0 +1,30 @@
+
+from repoman.modules.scan.scanbase import ScanBase
+
+
+class MtimeChecks(ScanBase):
+
+ def __init__(self, **kwargs):
+ self.vcs_settings = kwargs.get('vcs_settings')
+
+ def check(self, **kwargs):
+ '''Perform a changelog and untracked checks on the ebuild
+
+ @param pkg: Package in which we check (object).
+ @param ebuild: Ebuild which we check (object).
+ @param changed: dictionary instance
+ @returns: dictionary
+ '''
+ ebuild = kwargs.get('ebuild').get()
+ changed = kwargs.get('changed')
+ pkg = kwargs.get('pkg').get()
+ if not self.vcs_settings.vcs_preserves_mtime:
+ if ebuild.ebuild_path not in changed.new_ebuilds and \
+ ebuild.ebuild_path not in changed.ebuilds:
+ pkg.mtime = None
+ return False
+
+ @property
+ def runInEbuilds(self):
+ '''Ebuild level scans'''
+ return (True, [self.check])