on master help sign in
./utils/lxc.sh: add command 'install base'

to install basic packages like git and *build essentials*:: $ ./utils/lxc.sh install base Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>

commit62da7699529b57f3bf851ec9258da89be42094dc authorMarkus Heiser <markus.heiser@darmarit.de> dateWed 18 Mar 2020, 17:47 (7 years ago) parentd2cfe9c
2 files changed+34−5
utils/lib.sh+22 utils/lxc.sh+12−5
utils/lib.sh+22
@@ -1090,6 +1090,28 @@ touch "/.lxcenv"
10901090ls -l "/.lxcenv"
10911091EOF
10921092}
1093+
1094+# apt packages
1095+LXC_BASE_PACKAGES_debian="git build-essential"
1096+
1097+# pacman packages
1098+LXC_BASE_PACKAGES_arch="git base-devel"
1099+
1100+# dnf packages
1101+LXC_BASE_PACKAGES_fedora="git @development-tools"
1102+
1103+case $DIST_ID in
1104+ ubuntu|debian) LXC_BASE_PACKAGES="${LXC_BASE_PACKAGES_debian}" ;;
1105+ arch) LXC_BASE_PACKAGES="${LXC_BASE_PACKAGES_arch}" ;;
1106+ fedora) LXC_BASE_PACKAGES="${LXC_BASE_PACKAGES_fedora}" ;;
1107+ *) err_msg "$DIST_ID-$DIST_VERS: pkg_install LXC_BASE_PACKAGES not yet implemented" ;;
1108+esac
1109+
1110+lxc_install_base_packages() {
1111+ info_msg "install LXC_BASE_PACKAGES in container $1"
1112+ pkg_install "${LXC_BASE_PACKAGES}"
1113+}
1114+
10931115lxc_exists(){
10941116
10951117 # usage: lxc_exists <name> || echo "container <name> does not exists"
utils/lxc.sh+12−5
@@ -82,10 +82,10 @@ usage::
8282 $_cmd [start|stop] [containers|<name>]
8383 $_cmd show [info|config|suite|images]
8484 $_cmd cmd [--|<name>] '...'
85− $_cmd install [suite|buildhost]
85+ $_cmd install [suite|base|buildhost]
8686
8787build
88− :containers: build & launch all LXC containers of the suite
88+ :containers: build, launch and 'install basic' packages on 'containers'
8989copy:
9090 :images: copy remote images of the suite into local storage
9191remove
@@ -105,7 +105,8 @@ cmd
105105 :<name>: run command '...' in container <name>
106106install
107107 :suite: install LXC suite; ${lxc_suite_install_info}
108− :buildhost: prepare LXC; buildhost
108+ :base: prepare LXC; install basic packages
109+ :buildhost: prepare LXC; install buildhost packages
109110
110111EOF
111112 usage_images
@@ -217,6 +218,7 @@ main() {
217218 esac
218219 ;;
219220 __show)
221+ # wrapped show commands, called once in each container
220222 case $2 in
221223 suite) lxc_suite_info ;;
222224 esac
@@ -238,14 +240,17 @@ main() {
238240 install)
239241 sudo_or_exit
240242 case $2 in
241− suite) lxc_exec "${LXC_REPO_ROOT}/utils/lxc.sh" __install suite;;
242− buildhost) lxc_exec "${LXC_REPO_ROOT}/utils/lxc.sh" __install buildhost;;
243+ suite|base|buildhost)
244+ lxc_exec "${LXC_REPO_ROOT}/utils/lxc.sh" __install $2
245+ ;;
243246 *) usage "$_usage"; exit 42 ;;
244247 esac
245248 ;;
246249 __install)
250+ # wrapped install commands, called once in each container
247251 case $2 in
248252 suite) lxc_suite_install ;;
253+ base) FORCE_TIMEOUT=0 lxc_install_base_packages ;;
249254 buildhost) lxc_suite_prepare_buildhost ;;
250255 esac
251256 ;;
@@ -269,6 +274,8 @@ build_instances() {
269274 lxc_config_containers
270275 lxc_boilerplate_containers
271276 echo
277+ lxc_exec "${LXC_REPO_ROOT}/utils/lxc.sh" __install base
278+ echo
272279 lxc list "$LXC_HOST_PREFIX"
273280}
274281