Mercurial > gub
changeset 5482:6b5f592edd98
Add symlink and map_find_files.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Thu, 20 Aug 2009 14:36:05 +0200 |
parents | df03d0971b5d |
children | 3cc4f9ac707f |
files | gub/commands.py gub/context.py gub/loggedos.py gub/runner.py |
diffstat | 4 files changed, 35 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/gub/commands.py Thu Aug 20 14:35:30 2009 +0200 +++ b/gub/commands.py Thu Aug 20 14:36:05 2009 +0200 @@ -85,6 +85,17 @@ def execute (self, logger): loggedos.copy2 (logger, self.src, self.dest) +class Link (SerializedCommand): + def __init__ (self, src, dest): + self.src = src + self.dest = dest + def checksum (self, hasher): + hasher (self.__class__.__name__) + hasher (self.src) + hasher (self.dest) + def execute (self, logger): + loggedos.link (logger, self.src, self.dest) + class Symlink (SerializedCommand): def __init__ (self, src, dest): self.src = src @@ -172,14 +183,16 @@ class MapLocate (SerializedCommand): def __init__ (self, func, directory, pattern, - must_happen=False, silent=False): + must_happen=False, silent=False, + find_func=misc.locate_files): self.func = func + self.find_func = find_func self.directory = directory self.pattern = pattern self.must_happen = must_happen self.silent = silent def execute (self, logger): - files = misc.locate_files (self.directory, self.pattern) + files = self.find_func (self.directory, self.pattern) message = 'MapLocate[%(directory)s] no files matching pattern: %(pattern)s\n' % self.__dict__ logger.write_log (message, 'harmless') if self.must_happen and files == []: @@ -358,7 +371,7 @@ noconfigure = ' --help' if '--noconfigure' in s: noconfigure = ' --noconfigure' + noconfigure - self.system ('cd %(autodir)s && NOCONFIGURE=1 dash autogen.sh %(noconfigure)s' % locals (), + self.system ('cd %(autodir)s && NOCONFIGURE=1 sh autogen.sh %(noconfigure)s' % locals (), logger) else: libtoolize = misc.path_find (PATH, 'libtoolize')
--- a/gub/context.py Thu Aug 20 14:35:30 2009 +0200 +++ b/gub/context.py Thu Aug 20 14:36:05 2009 +0200 @@ -219,9 +219,11 @@ str = self.expand (str, env) return self.runner.dump (str, name, mode=mode, permissions=permissions) - def map_locate (self, func, directory, pattern, **kwargs): - return self.runner.map_locate (func, self.expand (directory), - pattern, **kwargs) + def map_find_files (self, func, directory, pattern, must_happen=False, silent=False, find_func=misc.find_files): + return self.runner.map_find_files (func, self.expand (directory), pattern, must_happen, silent, find_func) + + def map_locate (self, func, directory, pattern, must_happen=False, silent=False, find_func=misc.locate_files): + return self.runner.map_locate (func, self.expand (directory), pattern, must_happen, silent, find_func) def copy (self, src, dest, env={}): return self.runner.copy (self.expand (src, env=env), self.expand (dest, env=env)) @@ -232,8 +234,11 @@ def chmod (self, file, mode, env={}): return self.runner.chmod (self.expand (file, env=env), mode) - def symlink (self, src, dest, env={}): - return self.runner.symlink (self.expand (src, env=env), self.expand (dest, env=env)) + def link (self, src, dest, env={}): + return self.runner.link (self.expand (src, env=env), self.expand (dest, env=env)) + + def symlink (self, src, dest, env={}): + return self.runner.symlink (self.expand (src, env=env), self.expand (dest, env=env)) def rename (self, src, dest, env={}): return self.runner.rename (self.expand (src, env=env), self.expand (dest, env=env))
--- a/gub/loggedos.py Thu Aug 20 14:35:30 2009 +0200 +++ b/gub/loggedos.py Thu Aug 20 14:36:05 2009 +0200 @@ -52,6 +52,7 @@ 'makedirs': os.makedirs, 'copy2': shutil.copy2, 'remove': os.remove, + 'link': os.link, 'symlink': os.symlink, 'rename': os.rename, 'read_pipe': misc.read_pipe}.items ()):
--- a/gub/runner.py Thu Aug 20 14:35:30 2009 +0200 +++ b/gub/runner.py Thu Aug 20 14:36:05 2009 +0200 @@ -113,12 +113,18 @@ def shadow_tree (self, src, target, soft=False): return self._execute (commands.ShadowTree (src, target, soft)) - def map_locate (self, func, directory, pattern, **kwargs): - return self._execute (commands.MapLocate (func, directory, pattern, **kwargs)) + def map_find_files (self, func, directory, pattern, must_happen=False, silent=False, find_func=misc.find_files): + return self._execute (commands.MapLocate (func, directory, pattern, must_happen, silent, find_func)) + + def map_locate (self, func, directory, pattern, must_happen=False, silent=False, find_func=misc.locate_files): + return self._execute (commands.MapLocate (func, directory, pattern, must_happen, silent, find_func)) def copy (self, src, dest): return self._execute (commands.Copy (src, dest)) + def link (self, src, dest): + return self._execute (commands.Link (src, dest)) + def symlink (self, src, dest): return self._execute (commands.Symlink (src, dest))