summaryrefslogtreecommitdiff
path: root/scripts/check-build-env
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/check-build-env')
-rwxr-xr-xscripts/check-build-env71
1 files changed, 45 insertions, 26 deletions
diff --git a/scripts/check-build-env b/scripts/check-build-env
index 11e1c66b..7377be64 100755
--- a/scripts/check-build-env
+++ b/scripts/check-build-env
@@ -1,35 +1,54 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
+#
+# Copyright (C) 2015 VyOS maintainers and contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 or later as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# File: check-build-env
+# Purpose:
+# Checks if packages required for package and ISO image build
+# are installed.
+
import os
import sys
-required_packages = [
- 'make',
- 'live-build',
- 'pbuilder',
- 'devscripts',
- 'python-pystache'
-]
-
-
-def is_installed(name):
- result = os.system("dpkg-query -W --showformat='${{Status}}\n' {name} 2>&1 | grep 'install ok installed' >/dev/null".format(name=name))
- return True if result == 0 else False
-
-
-missing_packages = []
+import util
+
+deps = {
+ 'packages': [
+ 'sudo',
+ 'make',
+ 'live-build',
+ 'pbuilder',
+ 'devscripts',
+ 'python3-pystache',
+ 'python3-git'
+ ],
+ 'binaries': []
+}
print("Checking if packages required for VyOS image build are installed")
-for p in required_packages:
- if not is_installed(p):
- missing_packages.append(p)
+checker = util.DependencyChecker(deps)
-if missing_packages:
- print("Your system does not have some of the required packages installed.")
- print("Please install the following packages:")
- print(" ".join(missing_packages))
- sys.exit(1)
-else:
- print("All required packages are installed")
+missing = checker.get_missing_dependencies()
+if not missing:
+ print("All dependencies are installed")
sys.exit(0)
+else:
+ checker.print_missing_deps()
+ sys.exit(1)
+
+sys.exit(0)
+