summaryrefslogtreecommitdiff
path: root/extensions/strip-gplv3.configure
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-11-02 17:33:45 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-11-02 17:33:45 +0000
commit398a7fa93a05b44adba1d7557b1ad4a24f466369 (patch)
tree0d29311eecdb4dd8dade15b88884b991fec0f82e /extensions/strip-gplv3.configure
parent8a575a776e7476cb3beb22bb6b71e269c6b55580 (diff)
parent6cb63998328664c5c234b5a5da7ea3a9026e4d2a (diff)
downloadinfrastructure-398a7fa93a05b44adba1d7557b1ad4a24f466369.tar.gz
Merge tag 'baserock-15.34'
Conflicts: README clusters/release.morph scripts/release-build Change-Id: If289bcb168478405400c66717d7f33dcdde63cb6
Diffstat (limited to 'extensions/strip-gplv3.configure')
-rwxr-xr-xextensions/strip-gplv3.configure29
1 files changed, 17 insertions, 12 deletions
diff --git a/extensions/strip-gplv3.configure b/extensions/strip-gplv3.configure
index c08061ad..bf28223d 100755
--- a/extensions/strip-gplv3.configure
+++ b/extensions/strip-gplv3.configure
@@ -21,12 +21,15 @@ to find the files created by that chunk, then remove them.
'''
-import cliapp
-import re
-import os
import json
+import os
+import re
+import subprocess
+import sys
+
+import writeexts
-class StripGPLv3ConfigureExtension(cliapp.Application):
+class StripGPLv3ConfigureExtension(writeexts.Extension):
gplv3_chunks = [
['autoconf', ''],
['automake', ''],
@@ -57,7 +60,8 @@ class StripGPLv3ConfigureExtension(cliapp.Application):
for chunk in self.gplv3_chunks:
regex = os.path.join(meta_dir, "%s-[^-]\+\.meta" % chunk[0])
- artifacts = self.runcmd(['find', meta_dir, '-regex', regex])
+ artifacts = subprocess.check_output(['busybox', 'find', meta_dir,
+ '-regex', regex])
for artifact in artifacts.split():
self.remove_chunk(target_root, artifact, chunk[1])
@@ -72,8 +76,8 @@ class StripGPLv3ConfigureExtension(cliapp.Application):
chunk_meta_data = json.load(f)
if not 'contents' in chunk_meta_data:
- raise cliapp.AppError('Chunk %s does not have a "contents" list'
- % chunk)
+ raise writeexts.ExtensionError(
+ 'Chunk %s does not have a "contents" list' % chunk)
updated_contents = []
for content_entry in reversed(chunk_meta_data['contents']):
pat = re.compile(pattern)
@@ -85,8 +89,8 @@ class StripGPLv3ConfigureExtension(cliapp.Application):
def remove_content_entry(self, target_root, content_entry):
entry_path = os.path.join(target_root, './' + content_entry)
if not entry_path.startswith(target_root):
- raise cliapp.AppException('%s is not in %s'
- % (entry_path, target_root))
+ raise writeexts.ExtensionError(
+ '%s is not in %s' % (entry_path, target_root))
if os.path.exists(entry_path):
if os.path.islink(entry_path):
os.unlink(entry_path)
@@ -96,6 +100,7 @@ class StripGPLv3ConfigureExtension(cliapp.Application):
if not os.listdir(entry_path):
os.rmdir(entry_path)
else:
- raise cliapp.AppException('%s is not a link, file or directory'
- % entry_path)
-StripGPLv3ConfigureExtension().run()
+ raise writeexts.ExtensionError(
+ '%s is not a link, file or directory' % entry_path)
+
+StripGPLv3ConfigureExtension().run(sys.argv[1:])