* [PATCH 1/4] scripts/install-buildtools: improvements @ 2020-03-30 19:42 Tim Orling 2020-03-30 19:43 ` [PATCH 2/4] oe-buildenv-internal: python 3.5 as min version Tim Orling ` (3 more replies) 0 siblings, 4 replies; 12+ messages in thread From: Tim Orling @ 2020-03-30 19:42 UTC (permalink / raw) To: openembedded-core; +Cc: Tim Orling * 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 <timothy.t.orling@linux.intel.com> --- .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') 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 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/4] oe-buildenv-internal: python 3.5 as min version 2020-03-30 19:42 [PATCH 1/4] scripts/install-buildtools: improvements Tim Orling @ 2020-03-30 19:43 ` Tim Orling 2020-03-30 19:43 ` [PATCH 3/4] sanity.bbclass: recommend using install-buildtools Tim Orling ` (2 subsequent siblings) 3 siblings, 0 replies; 12+ messages in thread From: Tim Orling @ 2020-03-30 19:43 UTC (permalink / raw) To: openembedded-core; +Cc: Tim Orling Python 3.4 is EOL: https://www.python.org/downloads/release/python-3410/ The last supported distro was probably CentOS-7, which has python36 available from epel-7 or scl (as rh-python36) [1] [1] https://www.softwarecollections.org/en/scls/rhscl/rh-python36/ Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> --- scripts/oe-buildenv-internal | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/oe-buildenv-internal b/scripts/oe-buildenv-internal index 8cbe34669d..c62688fbd2 100755 --- a/scripts/oe-buildenv-internal +++ b/scripts/oe-buildenv-internal @@ -32,12 +32,12 @@ fi # We potentially have code that doesn't parse correctly with older versions # of Python, and rather than fixing that and being eternally vigilant for # any other new feature use, just check the version here. -py_v34_check=$(python3 -c 'import sys; print(sys.version_info >= (3,4,0))') -if [ "$py_v34_check" != "True" ]; then - echo >&2 "BitBake requires Python 3.4.0 or later as 'python3'" +py_v35_check=$(python3 -c 'import sys; print(sys.version_info >= (3,5,0))') +if [ "$py_v35_check" != "True" ]; then + echo >&2 "BitBake requires Python 3.5.0 or later as 'python3'" return 1 fi -unset py_v34_check +unset py_v35_check if [ -z "$BDIR" ]; then if [ -z "$1" ]; then -- 2.24.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/4] sanity.bbclass: recommend using install-buildtools 2020-03-30 19:42 [PATCH 1/4] scripts/install-buildtools: improvements Tim Orling 2020-03-30 19:43 ` [PATCH 2/4] oe-buildenv-internal: python 3.5 as min version Tim Orling @ 2020-03-30 19:43 ` Tim Orling 2020-03-30 19:52 ` [OE-core] " Andre McCurdy 2020-03-30 19:43 ` [PATCH 4/4] sanity.bbclass: add test for gcc < 5.0 Tim Orling 2020-04-01 20:09 ` [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements Andre McCurdy 3 siblings, 1 reply; 12+ messages in thread From: Tim Orling @ 2020-03-30 19:43 UTC (permalink / raw) To: openembedded-core; +Cc: Tim Orling For old tar versions (1.24 and 1.28), recommned using scripts/install-buildtools Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> --- meta/classes/sanity.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index cca5cdad17..0cf955a341 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -533,9 +533,9 @@ def check_tar_version(sanity_data): return "Unable to execute tar --version, exit code %d\n%s\n" % (e.returncode, e.output) version = result.split()[3] if LooseVersion(version) < LooseVersion("1.24"): - return "Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar (1.28+).\n" + return "Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar (1.28+). You could use the project's buildtools-tarball from our last release or use scripts/install-buildtools\n" if LooseVersion(version) < LooseVersion("1.28"): - return "Your version of tar is older than 1.28 and does not have the support needed to enable reproducible builds. Please install a newer version of tar (you could use the projects buildtools-tarball from our last release).\n" + return "Your version of tar is older than 1.28 and does not have the support needed to enable reproducible builds. Please install a newer version of tar (you could use the projects buildtools-tarball from our last release or use scripts/install-buildtools).\n" return None # We use git parameters and functionality only found in 1.7.8 or later -- 2.24.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [OE-core] [PATCH 3/4] sanity.bbclass: recommend using install-buildtools 2020-03-30 19:43 ` [PATCH 3/4] sanity.bbclass: recommend using install-buildtools Tim Orling @ 2020-03-30 19:52 ` Andre McCurdy 0 siblings, 0 replies; 12+ messages in thread From: Andre McCurdy @ 2020-03-30 19:52 UTC (permalink / raw) To: Tim Orling; +Cc: OE Core mailing list On Mon, Mar 30, 2020 at 12:43 PM Tim Orling <timothy.t.orling@linux.intel.com> wrote: > > For old tar versions (1.24 and 1.28), recommned using Typo. > scripts/install-buildtools > > Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> > --- > meta/classes/sanity.bbclass | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass > index cca5cdad17..0cf955a341 100644 > --- a/meta/classes/sanity.bbclass > +++ b/meta/classes/sanity.bbclass > @@ -533,9 +533,9 @@ def check_tar_version(sanity_data): > return "Unable to execute tar --version, exit code %d\n%s\n" % (e.returncode, e.output) > version = result.split()[3] > if LooseVersion(version) < LooseVersion("1.24"): > - return "Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar (1.28+).\n" > + return "Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar (1.28+). You could use the project's buildtools-tarball from our last release or use scripts/install-buildtools\n" > if LooseVersion(version) < LooseVersion("1.28"): > - return "Your version of tar is older than 1.28 and does not have the support needed to enable reproducible builds. Please install a newer version of tar (you could use the projects buildtools-tarball from our last release).\n" > + return "Your version of tar is older than 1.28 and does not have the support needed to enable reproducible builds. Please install a newer version of tar (you could use the projects buildtools-tarball from our last release or use scripts/install-buildtools).\n" > return None Is it useful to keep two levels of version check? > # We use git parameters and functionality only found in 1.7.8 or later > -- > 2.24.0 > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 4/4] sanity.bbclass: add test for gcc < 5.0 2020-03-30 19:42 [PATCH 1/4] scripts/install-buildtools: improvements Tim Orling 2020-03-30 19:43 ` [PATCH 2/4] oe-buildenv-internal: python 3.5 as min version Tim Orling 2020-03-30 19:43 ` [PATCH 3/4] sanity.bbclass: recommend using install-buildtools Tim Orling @ 2020-03-30 19:43 ` Tim Orling 2020-03-30 19:52 ` [OE-core] " Richard Purdie 2020-04-01 20:09 ` [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements Andre McCurdy 3 siblings, 1 reply; 12+ messages in thread From: Tim Orling @ 2020-03-30 19:43 UTC (permalink / raw) To: openembedded-core; +Cc: Tim Orling It is known that the version of gcc in CentOS-7 (4.8.5) causes builds to fail. Add a test for BUILD_CC == 'gcc' and gcc < 5.0 and recommend using scripts/install-buildtools or user built buildtools-extended-tarball. NOTE: another solution is to install devtoolset-6+ from scl [1], but this is a rather large install (> 1 Gb) and fairly invasive. [1] https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/ Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> --- meta/classes/sanity.bbclass | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 0cf955a341..a1cb8c6b88 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -521,6 +521,29 @@ def check_wsl(d): return "OpenEmbedded doesn't work under WSL at this time, sorry" return None +# The gcc version in CentOS-7 (4.8.5) is known to be a problem. +# Require at least gcc version 5.0. +# +# This can be fixed on CentOS-7 with devtoolset-6+ +# https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/ +# +# A less invasive fix is with scripts/install-buildtools (or with user +# built buildtools-extended-tarball) +# +def check_gcc_version(sanity_data): + from distutils.version import LooseVersion + import subprocess + build_cc = sanity_data.getVar('BUILD_CC').strip() + if build_cc == "gcc": + try: + result = subprocess.check_output(["gcc", "--version"], stderr=subprocess.DEVNULL).decode('utf-8') + except subprocess.CalledProcessError as e: + return "Unable to execute gcc --version, exit code %d\n%s\n" % (e.returncode, e.output) + version = result.split()[2] + if LooseVersion(version) < LooseVersion("5.0"): + return "Your version of gcc is older than 5.0 and will break builds. Please install a newer version of gcc (you could use the project's buildtools-extended-tarball or use scripts/install-buildtools).\n" + return None + # Tar version 1.24 and onwards handle overwriting symlinks correctly # but earlier versions do not; this needs to work properly for sstate # Version 1.28 is needed so opkg-build works correctly when reproducibile builds are enabled @@ -535,7 +558,7 @@ def check_tar_version(sanity_data): if LooseVersion(version) < LooseVersion("1.24"): return "Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar (1.28+). You could use the project's buildtools-tarball from our last release or use scripts/install-buildtools\n" if LooseVersion(version) < LooseVersion("1.28"): - return "Your version of tar is older than 1.28 and does not have the support needed to enable reproducible builds. Please install a newer version of tar (you could use the projects buildtools-tarball from our last release or use scripts/install-buildtools).\n" + return "Your version of tar is older than 1.28 and does not have the support needed to enable reproducible builds. Please install a newer version of tar (you could use the project's buildtools-tarball from our last release or use scripts/install-buildtools).\n" return None # We use git parameters and functionality only found in 1.7.8 or later @@ -634,6 +657,7 @@ def check_sanity_version_change(status, d): except ImportError as e: status.addresult('Your Python 3 is not a full install. Please install the module %s (see the Getting Started guide for further information).\n' % e.name) + status.addresult(check_gcc_version(d)) status.addresult(check_make_version(d)) status.addresult(check_patch_version(d)) status.addresult(check_tar_version(d)) -- 2.24.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [OE-core] [PATCH 4/4] sanity.bbclass: add test for gcc < 5.0 2020-03-30 19:43 ` [PATCH 4/4] sanity.bbclass: add test for gcc < 5.0 Tim Orling @ 2020-03-30 19:52 ` Richard Purdie 0 siblings, 0 replies; 12+ messages in thread From: Richard Purdie @ 2020-03-30 19:52 UTC (permalink / raw) To: Tim Orling, openembedded-core On Mon, 2020-03-30 at 12:43 -0700, Tim Orling wrote: > +# The gcc version in CentOS-7 (4.8.5) is known to be a problem. > +# Require at least gcc version 5.0. > +# > +# This can be fixed on CentOS-7 with devtoolset-6+ > +# https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/ > +# > +# A less invasive fix is with scripts/install-buildtools (or with user > +# built buildtools-extended-tarball) > +# > +def check_gcc_version(sanity_data): > + from distutils.version import LooseVersion > + import subprocess > + build_cc = sanity_data.getVar('BUILD_CC').strip() > + if build_cc == "gcc": > + try: > + result = subprocess.check_output(["gcc", "--version"], stderr=subprocess.DEVNULL).decode('utf-8') > + except subprocess.CalledProcessError as e: > + return "Unable to execute gcc --version, exit code %d\n%s\n" % (e.returncode, e.output) > + version = result.split()[2] > + if LooseVersion(version) < LooseVersion("5.0"): > + return "Your version of gcc is older than 5.0 and will break builds. Please install a newer version of gcc (you could use the project's buildtools-extended-tarball or use scripts/install-buildtools).\n" > + return None I had forgotten we had this but a recent patch reminded me, would we want to tweak this function: http://git.yoctoproject.org/cgit.cgi/poky/tree/meta/lib/oe/utils.py?h=master-next#n376 ? Cheers, Richard ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements 2020-03-30 19:42 [PATCH 1/4] scripts/install-buildtools: improvements Tim Orling ` (2 preceding siblings ...) 2020-03-30 19:43 ` [PATCH 4/4] sanity.bbclass: add test for gcc < 5.0 Tim Orling @ 2020-04-01 20:09 ` Andre McCurdy 2020-04-01 21:31 ` Tim Orling [not found] ` <1601CF873C42565A.6346@lists.openembedded.org> 3 siblings, 2 replies; 12+ messages in thread From: Andre McCurdy @ 2020-04-01 20:09 UTC (permalink / raw) To: Tim Orling; +Cc: OE Core mailing list On Mon, Mar 30, 2020 at 12:43 PM Tim Orling <timothy.t.orling@linux.intel.com> 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 <timothy.t.orling@linux.intel.com> > --- > .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 > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements 2020-04-01 20:09 ` [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements Andre McCurdy @ 2020-04-01 21:31 ` Tim Orling [not found] ` <1601CF873C42565A.6346@lists.openembedded.org> 1 sibling, 0 replies; 12+ messages in thread From: Tim Orling @ 2020-04-01 21:31 UTC (permalink / raw) To: Andre McCurdy; +Cc: OE Core mailing list, Richard Purdie, Tim Orling [-- Attachment #1: Type: text/plain, Size: 5603 bytes --] On Wed, Apr 1, 2020 at 1:09 PM Andre McCurdy <armccurdy@gmail.com> wrote: > On Mon, Mar 30, 2020 at 12:43 PM Tim Orling > <timothy.t.orling@linux.intel.com> 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 <timothy.t.orling@linux.intel.com> > > --- > > .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? > To be honest, everything was written on CentOS-7, where ‘python3’ is now python36. The remaining supported holdout for 3.4 is Debian-8 (Jessie). Which also happens to have tar 1.27. At least it has git 2.1.4, so it’s not a complete mess. Python 3.4 is already EOL. We should not support it for the complete build system, but I can see that the install-buildtools script should ideally still run on python34. The whole point is to make it easier to install the pre-built buildtools. Debian-8 is EOL in June 2020. > > 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 > > > > > > [-- Attachment #2: Type: text/html, Size: 7861 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <1601CF873C42565A.6346@lists.openembedded.org>]
* Re: [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements [not found] ` <1601CF873C42565A.6346@lists.openembedded.org> @ 2020-04-01 22:02 ` Tim Orling 2020-04-01 22:09 ` Andre McCurdy 0 siblings, 1 reply; 12+ messages in thread From: Tim Orling @ 2020-04-01 22:02 UTC (permalink / raw) To: ticotimo; +Cc: Andre McCurdy, OE Core mailing list, Richard Purdie, Tim Orling [-- Attachment #1: Type: text/plain, Size: 6148 bytes --] On Wed, Apr 1, 2020 at 2:32 PM Tim Orling via lists.openembedded.org <ticotimo=gmail.com@lists.openembedded.org> wrote: > > > On Wed, Apr 1, 2020 at 1:09 PM Andre McCurdy <armccurdy@gmail.com> wrote: > >> On Mon, Mar 30, 2020 at 12:43 PM Tim Orling >> <timothy.t.orling@linux.intel.com> 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 <timothy.t.orling@linux.intel.com> >> > --- >> > .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? >> > > To be honest, everything was written on CentOS-7, where ‘python3’ is now > python36. > > The remaining supported holdout for 3.4 is Debian-8 (Jessie). Which also > happens to have tar 1.27. At least it has git 2.1.4, so it’s not a complete > mess. > > Python 3.4 is already EOL. We should not support it for the complete build > system, but I can see that the install-buildtools script should ideally > still run on python34. The whole point is to make it easier to install the > pre-built buildtools. > Python 3.5 is now required in bitbake/lib/bb/__init__.py Which is needed for bb.utils.md5sum_file and sha256_file to check the checksum of the download. I’d rather not have to rewrite those functions. This means Debian-8 is a conundrum. > Debian-8 is EOL in June 2020. > > >> > 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 >> > >> > >> >> > [-- Attachment #2: Type: text/html, Size: 9285 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements 2020-04-01 22:02 ` Tim Orling @ 2020-04-01 22:09 ` Andre McCurdy 2020-04-01 22:16 ` Richard Purdie 0 siblings, 1 reply; 12+ messages in thread From: Andre McCurdy @ 2020-04-01 22:09 UTC (permalink / raw) To: Tim Orling; +Cc: OE Core mailing list, Richard Purdie, Tim Orling On Wed, Apr 1, 2020 at 3:02 PM Tim Orling <ticotimo@gmail.com> wrote: > On Wed, Apr 1, 2020 at 2:32 PM Tim Orling via lists.openembedded.org <ticotimo=gmail.com@lists.openembedded.org> wrote: >> On Wed, Apr 1, 2020 at 1:09 PM Andre McCurdy <armccurdy@gmail.com> wrote: >>> >>> On Mon, Mar 30, 2020 at 12:43 PM Tim Orling >>> <timothy.t.orling@linux.intel.com> 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 <timothy.t.orling@linux.intel.com> >>> > --- >>> > .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? >> >> >> To be honest, everything was written on CentOS-7, where ‘python3’ is now python36. >> >> The remaining supported holdout for 3.4 is Debian-8 (Jessie). Which also happens to have tar 1.27. At least it has git 2.1.4, so it’s not a complete mess. >> >> Python 3.4 is already EOL. We should not support it for the complete build system, but I can see that the install-buildtools script should ideally still run on python34. The whole point is to make it easier to install the pre-built buildtools. > > Python 3.5 is now required in bitbake/lib/bb/__init__.py > Which is needed for bb.utils.md5sum_file and sha256_file to check the checksum of the download. I’d rather not have to rewrite those functions. Looks like copy and pasting ~30 lines? Maybe not even much of a net increase in code size if you can remove the existing code to check that bitbake libs are available... def _hasher(method, filename): import mmap with open(filename, "rb") as f: try: with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as mm: for chunk in iter(lambda: mm.read(8192), b''): method.update(chunk) except ValueError: # You can't mmap() an empty file so silence this exception pass return method.hexdigest() def md5_file(filename): """ Return the hex string representation of the MD5 checksum of filename. """ import hashlib return _hasher(hashlib.md5(), filename) def sha256_file(filename): """ Return the hex string representation of the 256-bit SHA checksum of filename. """ import hashlib return _hasher(hashlib.sha256(), filename) >> Debian-8 is EOL in June 2020. >> >>> >>> > 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 >>> > >>> > >>> >> ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements 2020-04-01 22:09 ` Andre McCurdy @ 2020-04-01 22:16 ` Richard Purdie 2020-04-03 23:22 ` Tim Orling 0 siblings, 1 reply; 12+ messages in thread From: Richard Purdie @ 2020-04-01 22:16 UTC (permalink / raw) To: Andre McCurdy, Tim Orling; +Cc: OE Core mailing list, Tim Orling On Wed, 2020-04-01 at 15:09 -0700, Andre McCurdy wrote: > On Wed, Apr 1, 2020 at 3:02 PM Tim Orling <ticotimo@gmail.com> wrote: > > On Wed, Apr 1, 2020 at 2:32 PM Tim Orling via > > lists.openembedded.org <ticotimo=gmail.com@lists.openembedded.org> > > wrote: > > > On Wed, Apr 1, 2020 at 1:09 PM Andre McCurdy <armccurdy@gmail.com > > > > wrote: > > > > 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? > > > > > > To be honest, everything was written on CentOS-7, where ‘python3’ > > > is now python36. > > > > > > The remaining supported holdout for 3.4 is Debian-8 (Jessie). > > > Which also happens to have tar 1.27. At least it has git 2.1.4, > > > so it’s not a complete mess. > > > > > > Python 3.4 is already EOL. We should not support it for the > > > complete build system, but I can see that the install-buildtools > > > script should ideally still run on python34. The whole point is > > > to make it easier to install the pre-built buildtools. > > > > Python 3.5 is now required in bitbake/lib/bb/__init__.py > > Which is needed for bb.utils.md5sum_file and sha256_file to check > > the checksum of the download. I’d rather not have to rewrite those > > functions. > > Looks like copy and pasting ~30 lines? Maybe not even much of a net > increase in code size if you can remove the existing code to check > that bitbake libs are available... > > def _hasher(method, filename): > import mmap > > with open(filename, "rb") as f: > try: > with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as > mm: > for chunk in iter(lambda: mm.read(8192), b''): > method.update(chunk) > except ValueError: > # You can't mmap() an empty file so silence this > exception > pass > return method.hexdigest() > > def md5_file(filename): > """ > Return the hex string representation of the MD5 checksum of > filename. > """ > import hashlib > return _hasher(hashlib.md5(), filename) > > def sha256_file(filename): > """ > Return the hex string representation of the 256-bit SHA checksum > of > filename. > """ > import hashlib > return _hasher(hashlib.sha256(), filename) Can you send a patch against master-next please? The buildtools installer is one place we probably do want to support older pythons and it shouldn't be too onnerous. Cheers, Richard ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements 2020-04-01 22:16 ` Richard Purdie @ 2020-04-03 23:22 ` Tim Orling 0 siblings, 0 replies; 12+ messages in thread From: Tim Orling @ 2020-04-03 23:22 UTC (permalink / raw) To: Richard Purdie, Andre McCurdy; +Cc: Tim Orling, OE Core mailing list [-- Attachment #1: Type: text/plain, Size: 3130 bytes --] > On Apr 1, 2020, at 3:16 PM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote: > > On Wed, 2020-04-01 at 15:09 -0700, Andre McCurdy wrote: >> On Wed, Apr 1, 2020 at 3:02 PM Tim Orling <ticotimo@gmail.com> wrote: >>> On Wed, Apr 1, 2020 at 2:32 PM Tim Orling via >>> lists.openembedded.org <ticotimo=gmail.com@lists.openembedded.org> >>> wrote: >>>> On Wed, Apr 1, 2020 at 1:09 PM Andre McCurdy <armccurdy@gmail.com >>>>> wrote: >>>>> 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? >>>> >>>> To be honest, everything was written on CentOS-7, where ‘python3’ >>>> is now python36. >>>> >>>> The remaining supported holdout for 3.4 is Debian-8 (Jessie). >>>> Which also happens to have tar 1.27. At least it has git 2.1.4, >>>> so it’s not a complete mess. >>>> >>>> Python 3.4 is already EOL. We should not support it for the >>>> complete build system, but I can see that the install-buildtools >>>> script should ideally still run on python34. The whole point is >>>> to make it easier to install the pre-built buildtools. >>> >>> Python 3.5 is now required in bitbake/lib/bb/__init__.py >>> Which is needed for bb.utils.md5sum_file and sha256_file to check >>> the checksum of the download. I’d rather not have to rewrite those >>> functions. >> >> Looks like copy and pasting ~30 lines? Maybe not even much of a net >> increase in code size if you can remove the existing code to check >> that bitbake libs are available... >> >> def _hasher(method, filename): >> import mmap >> >> with open(filename, "rb") as f: >> try: >> with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as >> mm: >> for chunk in iter(lambda: mm.read(8192), b''): >> method.update(chunk) >> except ValueError: >> # You can't mmap() an empty file so silence this >> exception >> pass >> return method.hexdigest() >> >> def md5_file(filename): >> """ >> Return the hex string representation of the MD5 checksum of >> filename. >> """ >> import hashlib >> return _hasher(hashlib.md5(), filename) >> >> def sha256_file(filename): >> """ >> Return the hex string representation of the 256-bit SHA checksum >> of >> filename. >> """ >> import hashlib >> return _hasher(hashlib.sha256(), filename) > > Can you send a patch against master-next please? The buildtools > installer is one place we probably do want to support older pythons and > it shouldn't be too onnerous. > Submitted. The check for whether the install worked or not was the hardest part. After many iterations, I just could not get subprocess.Popen to work as expected on python 3.4. https://patchwork.openembedded.org/patch/171593/ <https://patchwork.openembedded.org/patch/171593/> Thank you Andre for the testing and input. It takes a village to make a good release. > Cheers, > > Richard > > [-- Attachment #2: Type: text/html, Size: 5397 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-04-03 23:22 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-03-30 19:42 [PATCH 1/4] scripts/install-buildtools: improvements Tim Orling 2020-03-30 19:43 ` [PATCH 2/4] oe-buildenv-internal: python 3.5 as min version Tim Orling 2020-03-30 19:43 ` [PATCH 3/4] sanity.bbclass: recommend using install-buildtools Tim Orling 2020-03-30 19:52 ` [OE-core] " Andre McCurdy 2020-03-30 19:43 ` [PATCH 4/4] sanity.bbclass: add test for gcc < 5.0 Tim Orling 2020-03-30 19:52 ` [OE-core] " Richard Purdie 2020-04-01 20:09 ` [OE-core] [PATCH 1/4] scripts/install-buildtools: improvements Andre McCurdy 2020-04-01 21:31 ` Tim Orling [not found] ` <1601CF873C42565A.6346@lists.openembedded.org> 2020-04-01 22:02 ` Tim Orling 2020-04-01 22:09 ` Andre McCurdy 2020-04-01 22:16 ` Richard Purdie 2020-04-03 23:22 ` Tim Orling
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.