2 from __future__
import print_function
4 from zeroinstall
import zerostore
, SafeException
5 from zeroinstall
.zerostore
import cli
, manifest
7 # import logging; logging.getLogger().setLevel(logging.DEBUG)
10 if 'ENV_NOT_CLEARED' in os
.environ
:
11 raise SafeException("Environment not cleared. Check your sudoers file.")
12 if os
.environ
['HOME'] == 'Unclean':
13 raise SafeException("$HOME not set. Check your sudoers file has 'always_set_home' turned on for zeroinst.")
15 if len(sys
.argv
) != 2:
16 raise cli
.UsageError('Usage: %s DIGEST' % sys
.argv
[0])
17 required_digest
= sys
.argv
[1]
19 manifest_data
= file('.manifest', 'rb').read()
21 stores
= zerostore
.Stores()
23 manifest
.copy_tree_with_verify('.', '/var/cache/0install.net/implementations',
24 manifest_data
, required_digest
)
25 except (IOError, SafeException
) as ex
:
26 print(ex
, file=sys
.stderr
)