summaryrefslogtreecommitdiff
path: root/components/init
diff options
context:
space:
mode:
authorDaniel Baumann <mail@daniel-baumann.ch>2013-11-05 12:32:59 +0100
committerDaniel Baumann <mail@daniel-baumann.ch>2013-11-06 08:16:31 +0100
commit038b1fa8f627bb83c060f17db3e100b541de8df7 (patch)
tree142186cad476d8caa8733965c6d4f53690075175 /components/init
parent9f37451f92ae0b32561f028844fa0cf051375576 (diff)
downloadvyos-live-build-038b1fa8f627bb83c060f17db3e100b541de8df7.tar.gz
vyos-live-build-038b1fa8f627bb83c060f17db3e100b541de8df7.zip
Moving bootstrapping of derivative archive-keys from config to init.
Diffstat (limited to 'components/init')
-rwxr-xr-xcomponents/init62
1 files changed, 61 insertions, 1 deletions
diff --git a/components/init b/components/init
index e0c8458d1..a54c8e756 100755
--- a/components/init
+++ b/components/init
@@ -15,6 +15,7 @@ import os
import shutil
import subprocess
import sys
+import urllib.request
# TODO:
@@ -50,6 +51,21 @@ def main():
# --project
project = args.project
+ ## Setting defaults
+
+ if not project:
+ # FIXME: hardcoded project information
+ project = 'debian'
+
+ if not distribution:
+ # FIXME hardcoded release information
+ default_distribution = { 'debian' : 'wheezy',
+ 'progress-linux' : 'baureo',
+ 'ubuntu' : 'saucy',
+ }
+
+ distribution = default_distribution[project]
+
## Creating configuration directory
# stagefile
@@ -57,9 +73,53 @@ def main():
if verbose:
print('I: configuration directory already initialized - nothing to do')
- # Note: until further tests, we do not allow to re-run lb init on an already initialized directory.
+ # Notes:
+ # * until further tests, we do not allow to re-run lb init on an already initialized directory.
sys.exit(0)
+ # Configuring default archive-keys
+ if (project == 'progress-linux'):
+ # dependencies
+ if not os.path.isfile('/usr/bin/gpgv'):
+ print('E: /usr/bin/gpgv - no such file', file=sys.stderr)
+
+ if verbose:
+ print('I: gnupg can be obtained from:\n'
+ 'I: http://www.gnupg.org/\n'
+ 'I: On Debian based systems, gnupg can be installed with:\n'
+ 'I: # sudo apt-get install gnupg')
+
+ sys.exit(1)
+
+ os.makedirs('config/archives', exist_ok=True)
+
+ # FIXME hardcoded release information
+ archive_keys_url = 'http://cdn.archive.progress-linux.org/packages/project/keys/'
+
+ archive_keys = { 'artax' : [ 'archive-key-1-artax.asc' , 'archive-key-1+-artax-backports.asc' ],
+ 'artax-backports' : [ 'archive-key-1-artax.asc' , 'archive-key-1+-artax-backports.asc' ],
+ 'baureo' : [ 'archive-key-2-baureo.asc' , 'archive-key-2+-baureo-backports.asc' ],
+ 'baureo-backports' : [ 'archive-key-2-baureo.asc' , 'archive-key-2+-baureo-backports.asc' ],
+ 'cairon' : [ 'archive-key-3-cairon.asc' , 'archive-key-3+-cairon-backports.asc' ],
+ 'cairon-backports' : [ 'archive-key-3-cairon.asc' , 'archive-key-3+-cairon-backports.asc' ],
+ }
+
+ keys = archive_keys[distribution]
+
+ for key in keys:
+ url = archive_keys_url + key
+ target = os.path.splitext(os.path.basename(key))
+
+ if verbose:
+ print('I: Downloading ' + url)
+
+ r = urllib.request.urlopen(url)
+ f = open('config/archives/' + target[0] + '.key', 'b+w')
+
+ f.write(r.read())
+
+ # FIXME: download signatures and verify them against debian-keyring
+
# Configuring default hooks
os.makedirs('config/hooks', exist_ok=True)