[elbe-devel] [PATCH] elbepack: use devel initvm automatically when running from source tree
Eduard Krein
eduard.krein at linutronix.de
Wed Apr 10 16:18:51 CEST 2024
Am Mittwoch, dem 10.04.2024 um 12:42 +0200 schrieb Thomas Weißschuh:
> Elbe knows about two indicators for "development mode".
> The first one is elbepack.version.is_devel which detects if elbe is
> running from the source checkout.
> The second one is "elbe initvm --devel" which needs to be specified
> by
> the user to install the current source tree into the initvm.
>
> Using --devel while is_devel == False was explicitly forbidden.
> The inverse, using the non-devel initvm from a source checkout is not
> guaranteed to work either and a source for confusion to users.
>
> Instead automatically use the devel initvm when running from the
> source
> tree.
>
> ---
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh at linutronix.de>
Reviewed-by: Eduard Krein <eduard.krein at linutronix.de>
> ---
> README.adoc | 4 ----
> bash-completion | 2 +-
> docs/elbe-initvm.txt | 3 ---
> elbepack/commands/init.py | 20 ++++----------------
> elbepack/commands/initvm.py | 7 -------
> elbepack/init/init-elbe.sh.mako | 2 +-
> elbepack/initvmaction.py | 3 ---
> 7 files changed, 6 insertions(+), 35 deletions(-)
>
> diff --git a/README.adoc b/README.adoc
> index 7019b799e753..03bb8c1b6a57 100644
> --- a/README.adoc
> +++ b/README.adoc
> @@ -46,7 +46,3 @@ Crash Course
> elbe-build-<TIMESTAMP>
>
> 3. copy the rfs to a sdcard: `sudo dd if=elbe-build*/sdcard.img
> of=/dev/mmcblk0`
> -
> -NOTE: When using a specific ELBE git checkout or during development
> you may
> -want to use the `./elbe initvm create --devel` parameter to make the
> elbe
> -version in the initvm match the one in your git checkout.
> diff --git a/bash-completion b/bash-completion
> index d010e4ccec8f..10c894ac6b96 100644
> --- a/bash-completion
> +++ b/bash-completion
> @@ -127,7 +127,7 @@ _cmd_args_completion_elbe()
> file_arg=true
> disable_space=true
> cmd_opt=$(_elbe_cmd_with_options '-h --help --skip-
> validation --directory= --cdrom= --buildtype= \
> - --debug --devel --
> nesting --skip-build-bin --skip-build-sources')
> + --debug --nesting
> --skip-build-bin --skip-build-sources')
> ;;
> initvm)
> cmd_opt=$(_elbe_subcmd_with_opt 'attach create
> ensure start stop submit sync')
> diff --git a/docs/elbe-initvm.txt b/docs/elbe-initvm.txt
> index 712de94a310d..68faf8ea873d 100644
> --- a/docs/elbe-initvm.txt
> +++ b/docs/elbe-initvm.txt
> @@ -39,9 +39,6 @@ OPTIONS
> --cdrom <CDROM>::
> ISO image of Binary cdrom.
>
> ---devel::
> - Install elbe Version from the current working into initvm.
> -
> --skip-download::
> After the build has finished, the generated Files are
> downloaded from
> the initvm to the host. This step is skipped, when this
> option is specified.
> diff --git a/elbepack/commands/init.py b/elbepack/commands/init.py
> index 82fb6f7a8052..19bb888a1443 100644
> --- a/elbepack/commands/init.py
> +++ b/elbepack/commands/init.py
> @@ -52,13 +52,6 @@ def run_command(argv):
> default=False,
> help='start qemu in graphical mode to enable console
> switch')
>
> - oparser.add_option(
> - '--devel',
> - dest='devel',
> - action='store_true',
> - default=False,
> - help='use devel mode, and install current builddir inside
> initvm')
> -
> oparser.add_option(
> '--nesting',
> dest='nesting',
> @@ -93,12 +86,6 @@ def run_command(argv):
> sys.exit(79)
>
> with elbe_logging({'files': None}):
> - if opt.devel:
> - if not is_devel:
> - logging.error('Devel Mode only valid, '
> - 'when running from elbe checkout')
> - sys.exit(80)
> -
> if not opt.skip_validation:
> validation = validate_xml(args[0])
> if validation:
> @@ -152,12 +139,13 @@ def run_command(argv):
> initvm_http_proxy = http_proxy.replace('http://localhost:',
> 'http://10.0.2.2:')
> elbe_exe = '/usr/bin/elbe'
> - if opt.devel:
> + if is_devel:
> elbe_exe = '/var/cache/elbe/devel/elbe'
> prj = xml.node('/initvm')
>
> d = {'elbe_exe': elbe_exe,
> 'elbe_version': elbe_version,
> + 'is_devel': is_devel,
> 'defs': defs,
> 'opt': opt,
> 'xml': xml,
> @@ -240,7 +228,7 @@ def run_command(argv):
> --output {export_keyring}',
> env_add={'GNUPGHOME': out_path})
>
> - if opt.devel:
> + if is_devel:
> opts = [
> '--exclude-vcs',
> '--exclude-vcs-ignores',
> @@ -261,7 +249,7 @@ def run_command(argv):
>
> elbe_in = Filesystem(out_path)
>
> - if opt.devel:
> + if is_devel:
> to_cpy.append(('elbe-devel.tar.bz2', ''))
>
> # Convert relative rfs path to absolute in the system
> diff --git a/elbepack/commands/initvm.py
> b/elbepack/commands/initvm.py
> index 208b1c4aaae3..93fcf2378c4a 100644
> --- a/elbepack/commands/initvm.py
> +++ b/elbepack/commands/initvm.py
> @@ -22,13 +22,6 @@ def run_command(argv):
> oparser.add_option('--cdrom', dest='cdrom', default=None,
> help='iso image of Binary cdrom')
>
> - oparser.add_option(
> - '--devel',
> - action='store_true',
> - dest='devel',
> - default=False,
> - help='Install elbe Version from the current working into
> initvm')
> -
> oparser.add_option('--skip-download', action='store_true',
> dest='skip_download', default=False,
> help='Skip downloading generated Files')
> diff --git a/elbepack/init/init-elbe.sh.mako b/elbepack/init/init-
> elbe.sh.mako
> index 07cb87941135..35576f7bc7a1 100644
> --- a/elbepack/init/init-elbe.sh.mako
> +++ b/elbepack/init/init-elbe.sh.mako
> @@ -42,7 +42,7 @@ EOF
>
> in-target update-initramfs -u
>
> -% if opt.devel:
> +% if is_devel:
> mkdir /buildenv/var/cache/elbe/devel
> tar xj -f elbe-devel.tar.bz2 -C /buildenv/var/cache/elbe/devel
> echo "export PATH=/var/cache/elbe/devel:\$PATH" >
> /buildenv/etc/profile.d/elbe-devel-path.sh
> diff --git a/elbepack/initvmaction.py b/elbepack/initvmaction.py
> index 16891bc05ff2..35f78906781a 100644
> --- a/elbepack/initvmaction.py
> +++ b/elbepack/initvmaction.py
> @@ -743,9 +743,6 @@ class CreateAction(InitVMAction):
>
> try:
> init_opts = []
> - if opt.devel:
> - init_opts.append('--devel')
> -
> if opt.nesting:
> init_opts.append('--nesting')
>
>
> ---
> base-commit: 41747ffae99073c8ae1380c202c2eef740bf570a
> change-id: 20240410-auto-devel-62c24d6d3f56
>
> Best regards,
--
Eduard Krein
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
Phone: +49 7556 25 999 19; Fax.: +49 7556 25 999 99
Hinweise zum Datenschutz finden Sie hier (Informations on data privacy
can be found here): https://linutronix.de/legal/data-protection.php
Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen |
Registergericht (Registration Court): Amtsgericht Freiburg i.Br.,
HRB700 806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas
Gleixner, Tiffany Silva, Sean Fennelly, Jeffrey Schneiderman
More information about the elbe-devel
mailing list