From aacec0aadcc7c850ed276eed97c2a3a738e25a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ciro=20Santilli=20=E5=85=AD=E5=9B=9B=E4=BA=8B=E4=BB=B6=20?= =?UTF-8?q?=E6=B3=95=E8=BD=AE=E5=8A=9F?= Date: Tue, 22 Jan 2019 00:00:00 +0000 Subject: [PATCH] build: add --apt option to make things easier on other distros --- README.adoc | 14 ++++++++++++-- build | 33 +++++++++++++++++++++------------ 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/README.adoc b/README.adoc index d114f3a..c837804 100644 --- a/README.adoc +++ b/README.adoc @@ -11276,13 +11276,23 @@ gem5: We tend to test this repo the most on the latest Ubuntu and on the latest link:https://askubuntu.com/questions/16366/whats-the-difference-between-a-long-term-support-release-and-a-normal-release[Ubuntu LTS]. -For other Linux distros, everything will likely also just work if you install the analogous required packages for your distro, find them out with: +For other Linux distros, everything will likely also just work if you install the analogous required packages for your distro + +Find out the packages that we install with: .... ./build --download-dependencies --dry-run .... -which just prints what `build` would do quickly without doing anything. +and then just look for the `apt-get` commands shown on the log. + +After installing the missing packages for your distro, do the build with: + +.... +./build --download-dependencies --no-apt +.... + +which does everything as normal, except that it skips any `apt` commands. Ports to new host systems are welcome and will be merged. diff --git a/build b/build index 1800267..9f2cd79 100755 --- a/build +++ b/build @@ -338,6 +338,14 @@ so looping over all of them would waste time. } self.component_to_name_map = {self.name_to_component_map[key]:key for key in self.name_to_component_map} + self.add_argument( + '--apt', + default=True, + help='''\ +Don't run any apt-get commands. To make it easier to use with other archs: +https://github.com/cirosantilli/linux-kernel-module-cheat#supported-hosts +''' + ) self.add_argument( '--download-dependencies', default=False, @@ -461,20 +469,21 @@ Which components to build. Default: qemu-buildroot y = ['-y'] else: y = [] - self.sh.run_cmd( - sudo + ['apt-get', 'update', LF] - ) - if apt_get_pkgs: + if self.env['apt']: self.sh.run_cmd( - sudo + ['apt-get', 'install'] + y + [LF] + - self.sh.add_newlines(sorted(apt_get_pkgs)) - ) - if apt_build_deps: - self.sh.run_cmd( - sudo + - ['apt-get', 'build-dep'] + y + [LF] + - self.sh.add_newlines(sorted(apt_build_deps)) + sudo + ['apt-get', 'update', LF] ) + if apt_get_pkgs: + self.sh.run_cmd( + sudo + ['apt-get', 'install'] + y + [LF] + + self.sh.add_newlines(sorted(apt_get_pkgs)) + ) + if apt_build_deps: + self.sh.run_cmd( + sudo + + ['apt-get', 'build-dep'] + y + [LF] + + self.sh.add_newlines(sorted(apt_build_deps)) + ) if python2_pkgs: self.sh.run_cmd( ['python', '-m', 'pip', 'install', '--user', LF] +