diff options
Diffstat (limited to 'repoman/lib/repoman/modules/scan/directories/mtime.py')
-rw-r--r-- | repoman/lib/repoman/modules/scan/directories/mtime.py | 30 |
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]) |