On Mon, Mar 30, 2020 at 12:43 PM Tim Orling
<[email protected]> wrote:
>
> * Install directory defaults to scripts/../buildtools
>   e.g. --directory is set by default
>   This avoids the user having to type in their sudo password
>   to install in /opt/poky/<installer-version>
>
> * Use "." rather than "source" for sourcing the environment script
>   as not all distros (e.g. Debian) have "source" by default.
>
> * Add buildtools/ to .gitignore
>
> * Fix typos in example usage (--install-version -> --installer-version)
>
> [YOCTO #13832]
>
> Signed-off-by: Tim Orling <[email protected]>
> ---
>  .gitignore                 |  1 +
>  scripts/install-buildtools | 13 +++++++++----
>  2 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/.gitignore b/.gitignore
> index d0e6b2fb89..b66d371aac 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -9,6 +9,7 @@ pstage/
>  scripts/oe-git-proxy-socks
>  sources/
>  meta-*/
> +buildtools/
>  !meta-skeleton
>  !meta-selftest
>  hob-image-*.bb
> diff --git a/scripts/install-buildtools b/scripts/install-buildtools
> index 0947e9c4d6..49cab1345a 100755
> --- a/scripts/install-buildtools
> +++ b/scripts/install-buildtools
> @@ -17,7 +17,7 @@
>  #        $ install-buildtools \
>  #          --base-url http://downloads.yoctoproject.org/releases/yocto \
>  #          --release yocto-3.1_M2 \
> -#          --install-version 3.0+snapshot
> +#          --installer-version 3.0+snapshot
>  #          --build-date 202000122
>  #
>  #  Example usage (standard buildtools from release):
> @@ -29,7 +29,7 @@
>  #        $ install-buildtools --without-extended-buildtools \
>  #          --base-url http://downloads.yoctoproject.org/releases/yocto \
>  #          --release yocto-3.0.2 \
> -#          --install-version 3.0.2
> +#          --installer-version 3.0.2
>  #
>
>  import argparse
> @@ -59,6 +59,7 @@ if not bitbakepath:
>  PROGNAME = 'install-buildtools'
>  logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout)
>
> +DEFAULT_INSTALL_DIR: str = 
> os.path.join(os.path.split(scripts_path)[0],'buildtools')

It looks like there are some assumptions about the minimum version of
python3 on the host in order to even be able to run
install-buildtools. Should that be checked explicitly?

>  DEFAULT_BASE_URL: str = 'http://downloads.yoctoproject.org/releases/yocto'
>  DEFAULT_RELEASE: str = 'yocto-3.1_M2'
>  DEFAULT_INSTALLER_VERSION: str = '3.0+snapshot'
> @@ -66,6 +67,7 @@ DEFAULT_BUILDDATE: str = "20200122"
>
>
>  def main():
> +    global DEFAULT_INSTALL_DIR
>      global DEFAULT_BASE_URL
>      global DEFAULT_RELEASE
>      global DEFAULT_INSTALLER_VERSION
> @@ -73,6 +75,7 @@ def main():
>      filename: str = ""
>      release: str = ""
>      buildtools_url: str = ""
> +    install_dir: str = ""
>
>      parser = argparse.ArgumentParser(
>          description="Buildtools installation helper",
> @@ -87,6 +90,7 @@ def main():
>                               '(optional)\nRequires --url',
>                          action='store')
>      parser.add_argument('-d', '--directory',
> +                        default=DEFAULT_INSTALL_DIR,
>                          help='directory where buildtools SDK will be 
> installed (optional)',
>                          action='store')
>      parser.add_argument('-r', '--release',
> @@ -216,12 +220,12 @@ def main():
>          st = os.stat(tmpbuildtools)
>          os.chmod(tmpbuildtools, st.st_mode | stat.S_IEXEC)
>          logger.debug(os.stat(tmpbuildtools))
> -        install_dir = "/opt/poky/%s" % args.installer_version
>          if args.directory:
>              install_dir = args.directory
>              ret = subprocess.call("%s -d %s -y" %
>                                    (tmpbuildtools, install_dir), shell=True)
>          else:
> +            install_dir = "/opt/poky/%s" % args.installer_version
>              ret = subprocess.call("%s -y" % tmpbuildtools, shell=True)
>          if ret != 0:
>              logger.error("Could not run buildtools installer")
> @@ -238,7 +242,8 @@ def main():
>              tool = 'gcc'
>          else:
>              tool = 'tar'
> -        proc = subprocess.run("source 
> %s/environment-setup-x86_64-pokysdk-linux && which %s" %
> +        logger.debug("install_dir: %s" % install_dir)
> +        proc = subprocess.run(". %s/environment-setup-x86_64-pokysdk-linux 
> && which %s" %
>                                (install_dir, tool),
>                                shell=True, stdout=subprocess.PIPE)
>          which_tool = proc.stdout.decode("utf-8")
> --
> 2.24.0
>
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#136938): 
https://lists.openembedded.org/g/openembedded-core/message/136938
Mute This Topic: https://lists.openembedded.org/mt/72661727/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to