diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-09-17 08:51:58 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-09-17 08:51:58 +0300 |
commit | e61c54196ead96b7efcdc0794ced2314de26d030 (patch) | |
tree | cd1eb6aefae89da0a70ff648fa185b614995a406 /ick2/actions.py | |
parent | 4519bdb40920bdec5d2d09084da52e37ea4d570d (diff) | |
download | ick2-e61c54196ead96b7efcdc0794ced2314de26d030.tar.gz |
Change: worker-manager gets APT server from controller
Diffstat (limited to 'ick2/actions.py')
-rw-r--r-- | ick2/actions.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/ick2/actions.py b/ick2/actions.py index daab0e5..0c4aa7f 100644 --- a/ick2/actions.py +++ b/ick2/actions.py @@ -597,11 +597,28 @@ class DputAction(Action): # pragma: no cover env = self.get_env() workspace = env.get_workspace_directory() - argv = ['sh', '-c', 'dput ick *.changes'] + apt_server = self._cc.get_apt_server() + config = self.configure_dput(apt_server) + argv = ['sh', '-c', 'dput -c {} ick *.changes'.format(config)] exit_code = env.host_runcmd(argv, cwd=workspace) env.report(exit_code, 'dput finished (exit code %d)\n' % exit_code) + os.remove(config) return exit_code + def configure_dput(self, apt_server): + fd, filename = tempfile.mkstemp() + os.close(fd) + with open(filename, 'w') as f: + f.write('[ick]\n') + f.write('login = incoming\n') + f.write('fqdn = {}\n'.format(apt_server)) + f.write('method = scp\n') + f.write('incoming = /srv/apt/incoming\n') + f.write('allow_unsigned_uploads = 1\n') + f.write('check_version = 0\n') + f.write('run_dinstall = 0\n') + return filename + class NotifyAction(Action): # pragma: no cover |